Полная или частичная перепечатка каким бы то ни было способом
материалов данного сайта допускается только с письменного согласия
автора.
При цитировании или ином использовании материалов ссылка на сайт
www.klyaksa.net обязательна.
____________________
Наши проекты:
Улыбнитесь
Аварийный выход из Windows: "Выдерни шнур, выдави защитный экран".
Демонстрации к урокам по основам программирования на Паскале.
Приведенные программы позволяют наглядно показать как идет выполнение
программы на паскале, что и куда присваивается или что и откуда читается... Окно программ
разделено на три части: код рассматриваемой программы (алгоритма), значения в
памяти компьютера и экран. Выполняемая строчка кода подсвечивается, тело цикла и
ветви условного оператора выделяются различными цветами, при записи и
чтении данных из памяти они (соответствующие ячейки) так же выделяются цветом. Область "экран" отражает
что будет выведено на экране компьютера. Демонстрация может работать как в
ручном, так и в автоматическом режиме - переходить к следующему действию каждую
секунду. Можно переходить от одного режима к другому. Часть программ удобно
использовать на уроке при объяснении материала, другая часть
поможет вашим ученикам лучше подготовится к ЕГЭ.
Демонстрации созданы учителем информатики высшей категории А.С.
Башлаковым.
program TimeAppleDown;
{вычисление времени
падения яблока}
const
g = 9.8;
var
h, t: real;
begin
write('Введите высоту ветки: ');
readln(h);
t := sqrt(2 * h / g);
writeln('Время падения: ',t:3:1,'с');
end.
program lab;
var
a, b, s, p: integer;
begin
write('Введите длину: ');
readln(a);
write('Введите ширину: ');
readln(b);
s := a * b;
p := 2 * (a + b);
writeln('Площадь равна: ', s);
writeln('Периметр равен: ', p);
end.
program lab;
var
x,y: integer;
min: integer;
begin
write('Введите x и y: ');
readln(x, y);
if x < y then
min := x
else
min := y;
writeln('Минимум = ', min);
end.
program lab;
var x: integer;
begin
write('Введите x: ');
readln(x);
if (x >= 10) and (x < 100) then
writeln('Двузначное число')
else
writeln('Не двузначное число');
end.
program lab;
var x: integer;
begin
write('Введите x: ');
readln(x);
if x mod 2 = 0 then
writeln('Это четное число')
else
writeln('Это нечетное число');
end.
program lab;
var
m: integer;
begin
write('Введите номер месяца: ');
readln(m);
case m of
1,2,12: writeln('Это зима');
3..5: writeln('Это весна');
6..8: writeln('Это лето');
9..11: writeln('Это осень');
else writeln('Неверный номер');
end;
end.
program lab;
var
n, i, x: integer;
begin
write('Введите n: ');
readln(n);
x := 1;
for i := 1 to n do
x := x * 2;
writeln('x = ', x);
x := 1;
for i := 1 to n do
begin
x := x * 2;
writeln('x = ', x);
end;
end.
program lab;
var
a, n, s: integer;
begin
write('Введите N: ');
readln(n);
s := 0;
while n>0 do
begin
a := n mod 10;
s := s + a;
n := n div 10;
end;
writeln('Сумма цифр = ', s);
end.
program lab;
uses sysutils;
var
a, n: integer;
s: string;
begin
write('Введите N: ');
readln(n);
s := '';
while n>0 do
begin
a := n mod 2;
s := IntToStr(a) + s;
n := n div 2;
end;
writeln('В двоичной = ', s);
end.
program lab;
var
a, n, n2: integer;
begin
write('Введите N: ');
readln(n);
n2 := 0;
while n>0 do
begin
a := n mod 10;
n2 := n2 * 10 + a;
n := n div 10;
end;
writeln('Новое число = ', n2);
end.
program lab;
var
n, f: integer;
begin
write('Введите число: ');
readln(n);
f := 1;
while n > 1 do
begin
f := f * n;
n := n - 1;
end;
writeln('Факториал = ', f);
end.
program Euclid;
var
a, b: integer;
begin
write('Введите A: ');
readln(a);
write('Введите B: ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('НОД = ', a);
end.
program lab;
var
a, n, s: integer;
begin
write('Введите N: ');
readln(n);
s := 0;
repeat
a := n mod 10;
s := s + a;
n := n div 10;
until n=0;
writeln('Сумма цифр = ', s);
end.
program lab1;
var
m: array[1..5] of integer;
x: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
end.
program lab1;
var
m: array[1..5] of integer;
x: integer;
begin
for x := 1 to 5 do
begin
write('Введите m[',x,']: ');
readln(m[x]);
end;
for x := 1 to 5 do
write(m[x]:5);
end.
program lab1;
var
m: array[1..5] of integer;
x, sum: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
sum := 0;
for x := 1 to 5 do
sum := sum + m[x];
writeln('Сумма = ', sum);
end.
program lab;
var
i, k: integer;
A: array[1..10] of integer;
begin
randomize;
for i := 1 to 10 do
A[i] := random(5)+1;
for i := 1 to 10 do
write(A[i]:3);
writeln;
k := 0;
for i := 1 to 10 do
if A[i] mod 2 = 0 then
inc(k);
writeln('Четных = ', k);
end.
program lab1;
var
m: array[1..5] of integer;
x, max: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
max := m[1];
for x := 2 to 5 do
if m[x] > max then
max := m[x];
writeln('Максимум = ', max);
end.
program lab1;
var
m: array[1..5] of integer;
x, imax: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
imax := 1;
for x := 2 to 5 do
if m[x] > m[imax] then
imax := x;
writeln('Максимум = ', m[imax]);
writeln('Его индекс = ', imax);
end.
program lab1;
var
m: array[1..5] of integer;
x, temp: integer;
isswap: boolean;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
repeat
isswap := false;
for x := 1 to 4 do
if m[x] > m[x+1] then
begin
temp := m[x];
m[x] := m[x+1];
m[x+1] := temp;
isswap := true;
end;
until not(isswap);
for x := 1 to 5 do
write(m[x]:5);
end.
program lab1;
var
m: array[1..5] of integer;
x, y, temp: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
for x := 1 to 4 do
for y := x+1 to 5 do
if m[x]>m[y] then
begin
temp := m[x]
m[x] := m[y];
m[y] := temp;
end;
for x := 1 to 5 do
write(m[x]:5);
end.
program lab1;
var
m: array[1..5] of integer;
x, y, temp: integer;
begin
randomize;
for x := 1 to 5 do
m[x] := random(4)+2;
for x := 1 to 5 do
write(m[x]:5);
writeln;
for x := 1 to 4 do
begin
imin := x;
for y := x+1 to 5 do
if m[imin] > m[y] then
imin := y;
if imin <> x then
begin
temp := m[x]
m[x] := m[imin];
m[imin] := temp;
end;
end;
for x := 1 to 5 do
write(m[x]:5);
end.
program lab;
var
i, j, k: integer;
A: array[1..3,1..5] of integer;
begin
randomize;
for i := 1 to 3 do
for j := 1 to 5 do
A[i, j] := random(10)+1;
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
k := 0;
for i := 1 to 3 do
for j := 1 to 5 do
if A[i, j] mod 2 = 0 then
inc(k);
writeln('Четных = ', k);
end.
program lab;
var
i, j, k: integer;
A: array[1..3,1..5] of integer;
begin
randomize;
for i := 1 to 3 do
for j := 1 to 5 do
A[i, j] := i + j;
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
k := 0;
for i := 1 to 3 do
for j := 1 to 5 do
if A[i, j] > 5 then
inc(k);
writeln('Ответ = ', k);
end.
program lab;
var
i, j, max: integer;
A: array[1..3,1..5] of integer;
begin
randomize;
for i := 1 to 3 do
for j := 1 to 5 do
A[i, j] := random(100)+1;
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
max := A[1,1];
for i := 1 to 3 do
for j := 1 to 5 do
if A[i, j] < k then
max := A[i, j];
writeln('Max = ', max);
end.
program lab;
var
i, j, t: integer;
A: array[1..3,1..5] of integer;
begin
randomize;
for i := 1 to 3 do
for j := 1 to 5 do
A[i, j] := random(10)+1;
writeln('Исходный массив:');
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
for i := 1 to 5 do
begin
t := A[1, i];
A[1,i] := A[3,i];
A[3,i] := t;
end;
writeln('Новый массив:');
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
end.
program lab;
var
i, j, t: integer;
A: array[1..3,1..5] of integer;
begin
randomize;
for i := 1 to 3 do
for j := 1 to 5 do
A[i, j] := random(10)+1;
writeln('Исходный массив:');
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
for i := 1 to 3 do
begin
t := A[i,1];
A[i,1] := A[i,5];
A[i,5] := t;
end;
writeln('Новый массив:');
for i := 1 to 3 do
begin
for j := 1 to 5 do
write(A[i, j]:3);
writeln;
end;
end.
program ege2010;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 10 do
begin
A[10-i] := A[i];
A[i] := A[10-i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege2011;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i - 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 10 downto 1 do
A[i-1] := A[i];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 1 to 10 do
A[i] := A[i-1];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 10 downto 0 do
A[i] := A[10-i];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 10 do
A[i] := A[10-i];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i - 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 1 to 10 do
A[i-1] := A[i];
A[10] := 10;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 1 to 11 do
A[i-1] := A[11-i];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 10 do
begin
A[10-i]:=A[i];
A[i]:=A[10-i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
k := A[i];
A[i] := A[10-i];
A[10-i] := k;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 10 do
begin
k := A[i];
A[i] := A[10-i];
k := A[10-i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
k := A[10-i];
A[10-i] := A[i];
k := A[i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 9 do
A[i] := A[i+1];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
k := A[10];
for i := 0 to 9 do
A[i] := A[i+1];
A[0] := k;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
k := A[2*i];
A[2*i] := A[2*i+1];
A[2*i+1] := k;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
k := A[i];
A[i] := A[i+5];
A[i+5] := k;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[10-i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
k := A[9];
for i := 0 to 9 do
A[10-i] := A[9-i];
A[1] := k;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 1 to 10 do
A[i] := A[i-1];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
k := A[9];
for i := 9 downto 1 do
A[i] := A[i-1];
A[0] := k;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i - 1;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 10 downto 1 do
A[i-1] := A[i];
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 5 do
begin
A[10-i] := A[9-i];
A[i] := A[i+1];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 5 do
begin
A[5-i]:=A[5+i];
A[2+i]:=A[10-i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := 10 - i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 5 do
begin
A[10-i]:=A[5-i];
A[5+i]:=A[i];
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := 2 + i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 10 do
begin
A[i]:=A[10-i]-1;
A[10-i]:=A[i]+3;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := 2 + i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
A[10-i] := 2 * A[10-i];
A[i] := A[i+1] + 4;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := 2 * i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 4 do
begin
A[10-i]:=A[i]-1;
A[i]:=A[10-i]-1;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i: integer;
A: array[0..10] of integer;
begin
A[0] := 1;
for i := 1 to 10 do
A[i] := 2+A[i-1];
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 0 to 5 do
A[10-i] := A[i]-1;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, t: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i;
for i := 0 to 10 do
write(A[i]:3);
writeln;
t := A[0];
for i := 1 to 10 do
A[i-1] := A[i];
A[10] := t;
for i := 0 to 10 do
write(A[i]:3);
end.
program ege;
var
i, k: integer;
A: array[0..10] of integer;
begin
for i := 0 to 10 do
A[i] := i + 3;
for i := 0 to 10 do
write(A[i]:3);
writeln;
for i := 10 downto 0 do
begin
k := A[i];
A[i] := A[10-i];
A[10-i] := k;
end;
for i := 0 to 10 do
write(A[i]:3);
end.
Каждая демонстрация представляет собой программу размером около 900 КБ в
архиве 300 КБ. Требования к операционной системе: Windows XP
и выше, в Linux используйте
WINE 1.2 и выше.
Вы можете свободно использовать данные демонстрации в некоммерческих целях
при условии сохранения авторства. Размещение этих программ на других сайтах
запрещается. При желании поделится с коллегами или друзьями разместите ссылку на
эту страницу. При обнаружении ошибок или опечаток сообщите автору по системе
обратной связи сайта.