Слайд 2
Структура программы на языке Паскаль
Program (название программы);
Var (
описание переменных с указанием типа);
Begin (начало программы)
Cls (очистка экрана);
Read(запрос
значений для переменных, исходных данных);
Действия программы (операторы присвоения, проверка условия, циклические алгоритмы);
Writeln(‘пояснение’, числовое значение)
end. (конец программы)
Слайд 3
Задача1. Формирование и вывод элементов массива на экран
program
massiv;
var b:array[1..500] of integer;
n,i:integer;
begin
cls;
read(n);
for i:=1 to n do
begin
read(b[i]);
end;
cls;
For i:=1
to n do
begin
writeln(b[i]);
end;
end.
начало
b[1..500]
Ввод: n
i:=1 to n
Ввод: b[i]
i:=1 to n
Вывод: b[i]
конец
Слайд 4
Задача 2. Нахождение суммы элементов массива
program summa;
var b:array[1..500]
of integer;
n,i,s:integer;
begin
cls;
read(n);
s:=0;
for i:=1 to n do
begin
read(b[i]);
s:=s+b[i];
end;
cls;
For i:=1 to n
do
begin
writeln(b[i]);
end;
write(s)
end.
Слайд 5
Задача 3. Найти среднее значение элементов массива.
Задача 4.
Найти произведение элементов массива.
Задача 5. Найти произведение первого и
последнего элементов массива.
Слайд 6
Задача 6:Нахождение максимального элемента массива
program macsimum;
var a:array[1..100] of
integer;
n,i,max:integer;
begin
cls;
read(n);
for i:=1 to n do
begin
read(a[i]);
end;
cls;
max:=a[1];
For i:=2 to n do
begin
if
a[i]>max then begin max:=a[i] end;
writeln(a[i]);
end;
write('max=', max)
end.
Слайд 7
program kolichestvo;
var b:array[1..30] of integer;
n,i,s:integer;
begin
cls;
read(n);
s:=0;
for i:=1 to n
do
begin
read(b[i]);
if (b[i]
7:Вывести на экран количество дней, за первые 10 дней ноября месяца, в которые температура понижалась ниже 0 градусов
Слайд 8
program Prim;
var a: array[1..100] of Integer;
n,s,i,max,min:integer;
begin
cls;
read(n);
for i:=1 to n do
begin
read(a[i]);
end;
cls;
max:=a[1];
min:=a[1];
for
i:=2 to n do
begin
if a[i]>max then begin max:=a[i] end;
if a[i]
end;
writeln(max, ' ', min)
end.
Задача 8: Поиск max и min элементов массива.
Слайд 9
program Prim;
var a: array[1..100] of Integer;
n,s,i,max:integer;
begin
cls;
read(n);
for i:=1 to n do
begin
read(a[i]);
end;
cls;
max:=a[1];
for
i:=2 to n do
if a[i]>max then begin max:=a[i] end;
Begin
writeln(a[i]);
if max<50 then writeln(sqr(max)) else writeln(sqrt(max));
end;
writeln('max=',max);
end.
Задача 9:
В одномерном массиве найти максимальный элемент, если его значение меньше 50, то возвести элемент в квадрат, иначе, найти значение квадратного корня.
Слайд 10
program perestanovka;
var a: array[1..100] of Integer;
r,n,s,i,max,min:integer;
begin
cls;
read(n);
for i:=1 to n do
begin
read(a[i]);
end;
cls;
max:=a[1];
min:=a[1];
for i:=2 to n do
begin
if a[i]>max then begin max:=a[i] end;
if a[i]
end;
writeln(max,' ',min);
writeln (‘производим перестановку');
r:=max;
max:=min;
min:=r;
writeln(max,' ',min);
end.
Задача 10:
Поменять в данной последовательности целых чисел местами наибольший и наименьший элементы массива.
Слайд 11
Задача 11:
Сформировать и вывести на экран двумерный массив.
program
Prim;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j:integer;
begin
cls;
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do writeln(a[i,j]:5);
writeln('переход на начало следующей строки');
end;
end.
Слайд 12
Задача 12:
Сформировать и вывести на экран двумерный массив.
program
Prim;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j:integer;
begin
cls;
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:5);
writeln(‘ ‘);
end;
end.
Слайд 13
program porjdok;
var b:array[1..500] of integer;
n,i,s:integer;
begin
cls;
read(n);
s:=0;
for i:=1 to n
do
begin
read(b[i]);
if (b[i]=0) then begin writeln(‘порядковые номера
нулевых элементов’, i:5);
s:=s+1
end;
end;
write(' количество кулевых элементов S=',s)
end.
Задача 13: В одномерном массиве определить индексы на которых стоят элементы со значением 0 и найти количество нулевых элементов.
Слайд 14
program Prim;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j,s:integer;
begin
cls;
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
end;
cls;
S:=0;
for i:=1 to n do
for j:=1 to n do
begin
for j:=1 to m do writeln(a[i,j]:5);
writeln('переход на начало следующей строки');
end;
for i:=1 to n do
for j:=1 to m do
begin
if ( a[i,j]=0) then begin writeln('порядковые номера нулевых элементов',' ', i,j:3);
s:=s+1 end;
end;
writeln ('s=', s)
end.
Задача 14:
В двумерном массиве определить индексы на которых стоят элементы со значением 0 и найти количество нулевых элементов.
Слайд 15
program abssumma;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j,s:integer;
begin
cls;
S:=0;
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
s:=s+abs(a[i,j]);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do writeln(a[i,j]:5);
writeln(‘переход на начало следующей строки’);
end;
writeln('s=',' ',s)
end.
Задача 15:
Сформировать двумерный массив, найти сумму элементов по правилу
Слайд 16
program Perestanovka;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j,p:integer;
begin
cls;
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:5);
writeln(' ');
end;
p:=a[1,1];
a[1,1]:=a[n,m];
a[n,m]:=p;
write(‘ ‘);
write (' массив после перестановки ');
writeln(' ');
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:5);
writeln(' ');
end;
end.
Задача 16: В двумерном массиве произвести перестановку
первого и последнего элементов
Слайд 17
program Prim;
const n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j:integer;
begin
cls;
randomize;
for
i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=-10+random(30);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:5);
writeln(' ');
end;
end.
Сформировать двумерный массив случайным образом на отрезке [-10,20]. Все отрицательные элементы массива заменить на 0
Задача 17:
Слайд 18
Задача 18: сформировать двумерный массив случайным образом на
отрезке [-10,40] все отрицательные элементы заменить на 5
program Prim;
const
n=3; m=4;
var a: array[1..n,1..m] of Integer;
i,j,p:integer;
begin
cls;
randomize;
for i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=-10+random(40);
end;
cls;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:5);
writeln(' ');
end;
for i:=1 to n do
for j:=1 to m do
if (a[i,j]<0) then begin a[i,j]:=0 end;
for i:=1 to n do
begin
write(‘ ‘);
write (' новый массив ');
writeln(' ');
end;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:5);
writeln(' ');
end;
end.
Слайд 19
program primer;
var n,k,s:string;
begin
cls;
n:=‘дед’;
k:=‘мороз’;
s:=n+' '+k;
writeln(s)
end.
Задача 19. Из двух слов
«дед» и «мороз» получить
Словосочетание «дед мороз» используя операцию
конкатенации
Слайд 20
program primer;
var n,k:integer;
s,s1:string;
begin
cls;
readln(n);
s:=' ';
while n>0 do
begin
k:=n mod 2;
n:=n
div 2;
str(k,s1);
s:=s1+s;
end;
writeln(s)
end.
Задача20. Найти строку, содержащую запись данного числа в
системе счисления по основанию 2
Слайд 21
program primer;
var a:array[1..16] of integer;
n,i,k:integer;
begin
cls;
readln(n);
i:=1;
while n>0 do
begin
a[i]:=n
mod 5;
n:=n div 5;
i:=i+1;
end;
k:=i-1;
for i:=k downto 1 do
writeln(a[i]);
writeln;
end.
Задача21. Сформировать
массив , содержащий цифры,
образующие запись данного целого числа в системе счисления по основанию 5, и вывести их на экран.
Слайд 22
Задача 22. Сформировать массив , содержащий цифры,
образующие
запись данного целого числа в системе счисления с основанием
9.
program primer;
var n,s,k:integer;
begin
cls;
readln(n);
s:=0;
while n>0 do
begin
k:=n mod 9;
n:=n div 9;
s:=s+k;
end;
writeln(‘сумма цифр числа в системе с основанием 9', s)
end.
Слайд 23
Задача 1. В двумерном массиве определить индексы элементов,
значение которых равно 0, найти количество нулевых элементов.
Самостоятельная работа.
«Решение задач и разработка блок-схем»
Задача 2. В соревнованиях по бросанию ядра принимают участие спортсмены из 12 стран, каждый спортсмен делает по три броска. Вывести таблицу результатов, и определить сколько спортсменов и на какое расстояние метнули ядро за пределы 70 метров.
Слайд 24
Задача 3. При предоставлении работнику ежегодного оплачиваемого отпуска
в К трудовых дней ему начисляют «отпускные» следующим образом:
вычисляется средняя заработная плата за последние 12 месяцев;
Результат делится на 25,4;
Умножается на количество дней отпуска.
Данные о ежемесячных зарплатах, полученных работником в течение года, задаются в массиве А с помощью генератора случайных чисел. Величина К вводится . Написать программу для начисления «отпускных».
Слайд 25
program zadacha;
const n=30;
var b:array[1..n] of integer;
i,s:integer;
begin
cls;
s:=0;
randomize;
for i:=1 to
n do
begin
b[i]:=10+random(40);
end;
for i:=1 to n-1 do
begin
s:=s+b[i]*b[i+1] ;
end;
writeln ('s=',s);
end.
Задача 23
Опишите
на русском языке или одном из языков программирования
алгоритм подсчёта произведений последовательных пар элементов в целочисленном массиве из 30 элементов (Это означает, что надо сосчитать сумму произведений первого и второго, третьего и четвёртого, пятого и шестого элементов и т.д.)
Слайд 26
program zadacha;
var b:array[1..30] of integer;
i,n,maxp:integer;
begin
cls;
randomize;
read(n); ',‘номер
for i:=1
to n do
begin
b[i]:=-10+random(30);
end;
maxp:=b[1]*b[2];
for i:=3 to n-1 do
begin
if b[i]*b[i+1]>maxp
then begin maxp:=b[i]*b[i+1]end;
end;
writeln (‘максимальное произведение',maxp);
writeln (номер элемента', i);
end.
Задача 24
Опишите на русском языке или одном из языков программирования
алгоритм поиска номера первого из последовательных элементов в целочисленном массиве из 30 произведение которых максимально (если таких пар несколько, то можно выбрать любую из них)
Слайд 27
program zadacha;
var b:array[1..30] of integer;
i,n,maxp:integer;
begin
cls;
randomize;
read(n); ',‘номер
for i:=1
to n do
begin
b[i]:=-10+random(20);
end;
maxp:=b[1]*b[2];
for i:=2 to n-1 do
begin
if b[i]+b[i+1]>maxp
then begin maxp:=b[i]+b[i+1]end;
end;
writeln (‘максимальное произведение',maxp);
writeln (номер элемента', i);
end.
Задача 25.
Опишите на русском языке или одном из языков программирования
алгоритм поиска номера первого из последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них)
Слайд 28
program zadacha;
var b:array[1..30] of integer;
i,n,s,sr,k:integer;
begin
cls;
randomize;
read(n);
s:=0;
k:=0;
for i:=1 to n
do
begin
b[i]:=-10+random(30);
end;
for i:=1 to n do
begin
if b[i]
b[i]; k:=k+1 end;
end;
for i:=1 to n do
begin
writeln(b[i],5);
end;
Sr:=s/k;
writeln (‘среднее знач. отрицательных элементов’,sr)
end.
Задача 26
Опишите на русском языке или одном из языков программирования
алгоритм подсчёта среднего значения отрицательных элементов в целочисленном из 30 в предложении, что в нём есть хотя бы один отрицательный элемент
Слайд 29
Задача 27 : Дан линейный массив из 8
целочисленных чисел. Среди них есть отрицательные элементы. Создать новый
массив из номеров этих элементов.
program Prim;
var a: array[1..8] of Integer;
b: array[1..8] of Integer;
j,i:integer;
begin
cls;
j:=1;
for i:=1 to 8 do
begin
read(a[i]);
if (a[i]<0) then begin b[j]:=i; j:=j+1 end;
end;
cls;
for j:=1 to 8 do
begin
write(b[j]);
end;
end.
Слайд 30
program Prim;
var a: array[1..5,1..5] of Integer;
b: array[1..25]
of Integer;
n,j,i:integer;
begin
cls;
randomize;
n:=1;
for
i:=1 to 5 do
for j:=1 to 5 do
begin
a[i,j]:=-10+random(30);
if (a[i,j]>0) then begin b[n]:=i; n:=n+1 end;
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do write(a[i,j]:5);
writeln(' ');
end;
for n:=1 to 8 do
begin
writeln(b[n]);
end;
end.
Задача 28: Дан двумерный массив из 25 целочисленных чисел. Среди них есть положительные элементы. Создать массив из номеров строк , в которых расположены положительные элементы.
Слайд 31
program Prim;
var a: array[1..10] of Integer;
max,min,r,i:integer;
begin
cls;
for i:=1 to 10 do
begin
read(a[i]);
end;
i:=2;
max:= a[2];
while (i<11) do
begin
if (a[i]>max) then max:=a[i];
i:=i+2;
end;
writeln(max);
i:=1;
min:=a[1];
while (i<11) do
begin
if (a[i]
i:=i+2;
end;
writeln(min);
r:=max+min;
write(r);
end.
Задача 29: дан одномерный массив из 10 элементов. Найти
max(а2, а4,…а2к) + min(a1, a3…a2k+1)
Слайд 32
Задача 30: В квадратном массиве из 9 элементов
найти произведение элементов главной диагонали
program gldiagonal;
const n=3;m=3;
var a: array[1..n,1..m]
of Integer;
p,j,i:integer;
begin
cls;
p:=1;
for i:=1 to n do
for j:=1to m do
begin
read(a[i,j]);
end;
for i:=1 to n do
begin
p:=p*a[i,i];
end;
for i:=1 to n do
begin
for j:=1to m do
write(a[i,j]:5);
writeln('')
end;
write(p);
end.
Слайд 33
Program naddiagon;
const n=5;m=5;
var a: array[1..5,1..5] of Integer;
p,j,i:integer;
begin
cls;
randomize;
for i:=1 to 5 do
for j:=1
to 5 do
begin
a[i,j]:=-10+random(30);
end;
p:=1;
for i:=1 to 5 do
for j:=i+1 to 5 do
begin
p:=p*a[i,j];
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do write(a[i,j]:5);
writeln(' ');
end;
writeln(p);
Задача 31: В квадратном массиве из 25 элементов найти произведение элементов над главной диагональю
Слайд 34
Задача 32: В квадратном массиве из 16 элементов
найти сумму элементов под главной диагональю
program pjddiag;
const n=4;m=4;
var a:
array[1..5,1..5] of Integer;
s,j,i:integer;
begin
cls;
randomize;
for i:=1 to 4 do
for j:=1 to 4 do
begin
a[i,j]:=-10+random(30);
end;
s:=0;
for i:=2 to 4 do
for j:=1 to i-1 do
begin
s:=s+a[i,j];
end;
for i:=1 to 4 do
begin
for j:=1 to 4 do write(a[i,j]:5);
writeln(' ');
end;
writeln(s);
end.
Слайд 35
Задача 33: Дан линейный целочисленный массив из 12
элементов выполните «сжатие» массива, выбросив из него каждый третий
элемент. Дополнительный массив создавать не нужно.
program szatie;
var a: array[1..15] of Integer;
i:integer;
begin
cls;
for i:=1 to 12 do
begin
read(a[i]);
end;
i:=1;
while ( i<12) do
begin
write (a[i]);
i:=i+3;
end;
end.
Слайд 36
program Prim;
const n=5;m=5;
var a: array[1..5,1..5] of Integer;
j,i:integer;
begin
cls;
randomize;
for i:=1 to 5 do
for j:=1 to 5 do
begin
a[i,j]:=-10+random(30);
end;
for i:=1 to 4 do
for j:=1 to j-1 do
begin
a[i,j]:=0;
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do write(a[i,j]:5);
writeln(' ');
end;
end.
Задача 34: В квадратной матрице из произвольного количества столбцов и строк произвести замену всех элементов массив, находящихся над вспомогательной диагональю на значение 1
Слайд 37
program gldiagonal;
const n=4;m=4;
var a: array[1..n,1..m] of Integer;
s,s2,j,i:integer;
s1:real;
begin
cls;
s:=0;
for i:=1 to n
do
for j:=1to m do
begin
read(a[i,j]);
end;
for i:=1 to n do
begin
s:=s+a[i,i];
end;
s1:= s/4;
s2:=0;
for i:=1 to n do
for j:=1to m do
begin
if (a[i,j]>s1) and (a[i,j]>0) then s2:=s2+a[i,j];
end;
for i:=1 to n do
begin
for j:=1to m do
write(a[i,j]:5);
writeln('')
end;
write(s,' ',s1,' ',s2);
end.
Задача 35: Опишите на русском языке или
на одном из языков программирования
алгоритм суммирования положительных
элементов квадратной матрицы,
превышающих, по величине среднее
арифметическое всех элементов по
главной диагонали.
Слайд 38
Задача 36: Дана последовательность
Из 10 действительных чисел.
Укажите те её элементы, которые
принадлежат отрезку [c;d], где
c и d заданные числа.
program Prim;
var a: array[1..100] of Integer;
c,d,n,i:integer;
begin 6
cls;
read(n);
read (c,d);
for i:=1 to n do
begin
read(a[i]);
if (a[i]>c) and (a[i]end;
end.
Слайд 39
Задача из материалов ЕГЭ : значение двух массивов
А[100] и B[100] задаются с помощью фрагмента программы:
For n:=1
to 100 do
A[n]:=n-10;
For n:=1 to 100 do
B[n]:=A[n]*n
Сколько элементов массива B будут иметь положительные значения?
10
50
90
100
Слайд 40
Задача из материалов ЕГЭ : значение двух массивов
А[200] и B[200] задаются с помощью фрагмента программы:
For n:=1
to 200 do
A[n]:=n +100;
For n:=1 to 200 do
B[n]:=2*A[n] - 500
Сколько элементов массива B будут иметь положительные значения?
50
51
149
150
Слайд 41
Задача из материалов ЕГЭ : значение двух массивов
А[300] и B[300] задаются с помощью фрагмента программы:
For n:=1
to 300 do
A[n]:=100 - n;
For n:=1 to 300 do
B[n]:=2*A[n] + 1
Сколько элементов массива B будут иметь положительные значения?
99
100
200
201
Слайд 42
Задача из материалов ЕГЭ : значение двумерного массива
7 * 7 задаются с помощью фрагмента программы:
For n:=1
to 7 do
For k:=1 to 7 do
B[n, k]:= k - n
Сколько элементов массива B будут иметь положительные значения?
49
28
21
7
Слайд 43
Задача из материалов ЕГЭ :элементы двумерного массива А
размером N*N первоначально были равны 1000. Затем значения некоторых
из них меняются с помощью вложенного оператора цикла в представленном фрагменте программы (ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования).
K:=0
For i:= 1 to n do
For j:= n – i+ 1 to n do
Begin
K:= k + 1;
A [I, j] = k;
end.
Какой элемент массива в результате будет иметь минимальное значение?
a[1,1]
a[1, n]
a[n,1]
a[n, n]
Слайд 44
Задача из материалов ЕГЭ : значение двух массивов
А[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:
For
i:= 1 to 100 do
A[n]: = (n – 80) * (n – 80);
For i:= 1 to 100 do
B[101 –n]: = a[n]
Какой элемент массива В будет наибольшим?
B[1]
B[21]
B[80]
B[100]
Слайд 45
Задача 37 : Перевести десятичное число в систему
счисления Фибоначчи
program z3;
var n,i:integer;
fib:Array[1..50] of integer;
input,output:text;
begin
fib[1]:=1;
fib[2]:=2;
i:=2;
assign(input,'input.txt');
reset(input);
read(input,n);
while n>fib[i] do
begin
i:=i+1;
fib[i]:=fib[i-1]+fib[i-2];
end;
if n<>fib[i] then i:=i-1;
assign(output,'output.txt');
rewrite(output);
while (n>=0) and (i>0) do
begin
if (n-fib[i]>=0) then begin n:=n-fib[i]; write(output,'1'); end
else write(output,'0');
i:=i-1;
end;
close(input);
close(output);
end.