Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВладислава Мельникова
1 1 Случайные числа на языке Паскаль Тип величины Диапазон значений Паскаль Веществен ный [ 0, 1 ]x : = random [ 0, a]x : = random * a [ a, b ]x : = random * ( b – a ) + a Целый [ 0, a]x : = random * ( a + 1 ) + a [ a, b ]x : = random * ( b – a + 1) + a
2 2 Нахождение суммы всех элементов массива Program summa; const N = 5; var a: array [1..N] of integer; i, s: integer; begin writeln('Исходный массив:'); for i:=1 to N do begin a[i] := random(100) + 50; write(a[i]:4); end; writeln; {перейти на новую строку} writeln(Сумма элементов массива, s:4); end. Program summa; const N = 5; var a: array [1..N] of integer; i, s: integer; begin writeln('Исходный массив:'); for i:=1 to N do begin a[i] := random(100) + 50; write(a[i]:4); end; writeln; {перейти на новую строку} writeln(Сумма элементов массива, s:4); end. for i:=1 to n do s:=s+a[i]; for i:=1 to n do s:=s+a[i]; сумма всех элементов массива
3 3 Нахождение суммы элементов массива с заданными условиями Program summa; const N = 5; var a: array [1..N] of integer; i, s: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Сумма полж-ых эл-ов массива, s:4); end. Program summa; const N = 5; var a: array [1..N] of integer; i, s: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Сумма полж-ых эл-ов массива, s:4); end. for i:=1 to n do if a[i]>0 then s:=s+a[i]; for i:=1 to n do if a[i]>0 then s:=s+a[i]; сумма всех положительных элементов массива
4 4 Нахождение кол-ва элементов массива с заданными условиями Program summa; const N = 5; var a: array [1..N] of integer; i, k: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Кол-во полож-ых эл-ов массива, k); end. Program summa; const N = 5; var a: array [1..N] of integer; i, k: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Кол-во полож-ых эл-ов массива, k); end. for i:=1 to n do if a[i]>0 then k:=k+1; for i:=1 to n do if a[i]>0 then k:=k+1; количество положительных элементов массива
5 5 Вывод на экран элементов массива с заданными условиями Program summa; const N = 5; var a: array [1..N] of integer; i: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Результат:); end. Program summa; const N = 5; var a: array [1..N] of integer; i: integer; { заполнение массива} writeln; {перейти на новую строку} writeln(Результат:); end. for i:=1 to n do begin if a[i]>0 then a[i]:= 0; write(a[i]:4); end; for i:=1 to n do begin if a[i]>0 then a[i]:= 0; write(a[i]:4); end; замена положительных элементов массива нулями
6 6 Определение макс-ого эл-та и его номера (индекса) program qq; const N = 5; var a: array [1..N] of integer; i, iMax: integer; { заполнение массива} writeln; {перейти на новую строку} writeln('Максимальный элемент a[', iMax, ']=', a[iMax]); end. program qq; const N = 5; var a: array [1..N] of integer; i, iMax: integer; { заполнение массива} writeln; {перейти на новую строку} writeln('Максимальный элемент a[', iMax, ']=', a[iMax]); end. iMax := 1; for i:=2 to N if a[i] > a[iMax] then iMax := i; iMax := 1; for i:=2 to N if a[i] > a[iMax] then iMax := i; поиск максимального элемента и его индекса
7 7 Определение максимального по заданному условию program qq; const N = 5; var a: array [1..N] of integer; i, iMax: integer; { заполнение массива} writeln; {перейти на новую строку} writeln('Макс. эл-т из отрицательных a[', iMax, ']=', a[iMax]); end. program qq; const N = 5; var a: array [1..N] of integer; i, iMax: integer; { заполнение массива} writeln; {перейти на новую строку} writeln('Макс. эл-т из отрицательных a[', iMax, ']=', a[iMax]); end. iMax := 1; for i:=2 to N if (a[i] a[iMax]) then iMax := i; iMax := 1; for i:=2 to N if (a[i] a[iMax]) then iMax := i; поиск максимального из отрицательных элементов
8 8 Реверс массива Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами A[1] и A[N], A[2] и A[N-1], … Псевдокод: 35…97 79…53 12…N-1N 12… N for i:=1 to N do { поменять местами A[i] и A[N+1-i] } for i:=1 to N do { поменять местами A[i] и A[N+1-i] } сумма индексов N+1 Что неверно? ? N div 2 do
9 9 Как переставить элементы? Задача: поменять местами содержимое двух чашек. Задача: поменять местами содержимое двух ячеек памяти ? ? x y c c := x; x := y; y := c; c := x; x := y; y := c; x := y; y := x; x := y; y := x; Можно ли обойтись без c ? ?
10 10 Программа program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end; program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end; for i:=1 to N div 2 do begin c:=A[i]; A[i]:=A[N+1-i]; A[N+1-i]:=c; end; for i:=1 to N div 2 do begin c:=A[i]; A[i]:=A[N+1-i]; A[N+1-i]:=c; end;
11 11 Циклический сдвиг Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего. Алгоритм: A[1]:=A[2]; A[2]:=A[3];… A[N-1]:=A[N]; Цикл: 3581… …N-1N 581…973 for i:=1 to N-1 do A[i]:=A[i+1]; for i:=1 to N-1 do A[i]:=A[i+1]; Что неверно? ? почему не N ?
12 12 Программа program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end; program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end; c := A[1]; for i:=1 to N-1 do A[i]:=A[i+1]; A[N] := c; c := A[1]; for i:=1 to N-1 do A[i]:=A[i+1]; A[N] := c;
13 13 Удаление из массива k-ого элемента со сдвигом влево Program summa; const N = 5; var a: array [1..N] of integer; i, k: integer; { заполнение массива} end. Program summa; const N = 5; var a: array [1..N] of integer; i, k: integer; { заполнение массива} end. writeln(Введите номер эл-та для удаления:'); read(k); for i:=k to N-1 do a[i]:=a[i+1]; writeln(Результат:'); for i:=1 to N-1 do write(a[i]:4); writeln(Введите номер эл-та для удаления:'); read(k); for i:=k to N-1 do a[i]:=a[i+1]; writeln(Результат:'); for i:=1 to N-1 do write(a[i]:4);
14 14 Вставка в массив заданного числа на k-ое место со сдвигом вправо Program summa; const N = 5; var a: array [1..N+1] of integer; i, k, c: integer; { заполнение массива} end. Program summa; const N = 5; var a: array [1..N+1] of integer; i, k, c: integer; { заполнение массива} end. writeln(Введите номер эл-та для вставки:'); read(k); writeln(Введите значение для вставки:'); read(с); for i:= n+1 downto k+1 do a[i]:=A[i-1]; a[k]:=c; writeln(Результат:'); for i:=1 to N-1 do write(a[i]:4); writeln(Введите номер эл-та для вставки:'); read(k); writeln(Введите значение для вставки:'); read(с); for i:= n+1 downto k+1 do a[i]:=A[i-1]; a[k]:=c; writeln(Результат:'); for i:=1 to N-1 do write(a[i]:4);
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.