1 / 14

Случайные числа на языке Паскаль

Случайные числа на языке Паскаль. Нахождение суммы всех элементов массива. 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;

lavi
Download Presentation

Случайные числа на языке Паскаль

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Случайные числа на языке Паскаль

  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. сумма всех элементов массива for i:=1 to n do s:=s+a[i];

  3. Нахождение суммы элементов массива с заданными условиями 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];

  4. Нахождение кол-ва элементов массива с заданными условиями 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;

  5. Вывод на экран элементов массива с заданными условиями 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;

  6. Определение макс-ого эл-та и его номера (индекса) 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;

  7. Определение максимального по заданному условию 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]<0) and(a[i] > a[iMax]) then iMax := i;

  8. ? Что неверно? Реверс массива • Задача: переставить элементы массива в обратном порядке. • Алгоритм: • поменять местами A[1] и A[N], A[2] и A[N-1], … • Псевдокод: сумма индексов N+1 for i:=1 to N do { поменять местами A[i] и A[N+1-i]} N div 2 do

  9. ? Можно ли обойтись без c? Как переставить элементы? 2 Задача: поменять местами содержимое двух чашек. 1 3 Задача: поменять местами содержимое двух ячеек памяти. y x 2 6 4 4 6 c := x; x := y; y := c; x := y; y := x; 3 1 ? 4 c

  10. Программа 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;

  11. ? Что неверно? Циклический сдвиг • Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего. • Алгоритм: • A[1]:=A[2];A[2]:=A[3];…A[N-1]:=A[N]; • Цикл: почему не N? for i:=1 to N-1 do A[i]:=A[i+1];

  12. Программа 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;

  13. Удаление из массива k-ого элемента со сдвигом влево 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);

  14. Вставка в массив заданного числа на k-ое место со сдвигом вправо 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);

More Related