1 Программирование на языке Паскаль Обработка массивов.

Презентация:



Advertisements
Похожие презентации
1 Обработка массивов. 2 Реверс массива Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами A[1] и A[N], A[2] и A[N-1],
Advertisements

1 Случайные числа на языке Паскаль Тип величины Диапазон значений Паскаль Веществен ный [ 0, 1 ]x : = random [ 0, a]x : = random * a [ a, b ]x : = random.
К. Поляков, Программирование на языке Паскаль Часть III Тема. Массивы.
1 Программирование на языке Паскаль Максимальный элемент массива.
Работа с одномерными массивами Урок информатики 9 кл.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Р ЕШЕНИЕ ЗАДАНИЙ С2 Одномерные массивы. 1, 2 …5 номер элемента А имя массива Значения Индексы А[3]=9 Имя массива Индекс Значение Теория по.
Массив – совокупность конечного числа данных одного типа.
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
К. Поляков, Программирование на алгоритмическом языке. Часть III 1.Обработка массивовОбработка массивов 2.Сортировка.
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Тема: « Вставка- удаление элементов массива » :18:06.
PROGRAM example1; const m=100; var a : ARRAY [1.. m] of INTEGER; i,k,n,q : INTEGER; BEGIN readln (n); randomize; WRITELN('Полученный массив:' ); FOR i.
Тема: «Обработка элементов одномерного массива» :01:53.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
Чтобы найти максимальный элемент в массиве и потом производить с ним какие-либо действия, нужно узнать его номер (индекс - I).Чтобы найти максимальный.
ОДНОМЕРНЫЕ МАССИВЫ. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы,
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Транксрипт:

1 Программирование на языке Паскаль Обработка массивов

2 Реверс массива Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами 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

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

4 Программа program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } ReadLn end. program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } ReadLn 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;

5 Задания "4": Заполнить массив из 10 элементов случайными числами в интервале [ ] и выполнить инверсию отдельно для 1-ой и 2-ой половин массива. Пример: Исходный массив: Результат: "5": Заполнить массив из 12 элементов случайными числами в интервале [ ] и выполнить инверсию для каждой трети массива. Пример: Исходный массив: Результат:

6 Циклический сдвиг Задача: сдвинуть элементы массива влево на 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 ?

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

8 Задания "4": Заполнить массив из 10 элементов случайными числами в интервале [ ] и выполнить циклический сдвиг ВПРАВО. Пример: Исходный массив: Результат: "5": Заполнить массив из 12 элементов случайными числами в интервале [ ] и выполнить циклический сдвиг ВПРАВО на 4 элемента. Пример: Исходный массив: Результат:

Сформировать одномерный массив из N элементов, где элементы и массива- целые случайные числа в пределах от 1 до 45. Напечатать элементы массива в прямом и обратном порядке. program prim1; uses crt; var i, n:integer; a:array[ ] of integer; begin clrscr; randomize; write(' размер =' );readln(n); for i:=1 to n do begin {Получаем случайные числа в пределах от 1 до 45.} a[i]:=random(46))+1; {Выводим элементы массива на экран.} write(a[i], ' ); end; writeln( ' ); {Полученный массив печатаем в обратном порядке.} for i:=n downto 1 do write(a[i],' '); readkey; end. program PositivSumm; const N=10; type Mas=array [1..N] of integer; var a: Mas; i: integer; { Счетчик цикла} S:integer; { Копилка - переменная для суммирования положительных элементов} begin { Заполним массив случайными числами в диапазоне } randomize; for i:=1 to N do begin a[i]:=-100+random(201); write(a[i]:5) end; writeln; { Присвоим переменным начальные значения } S:=0; { Переменная S - аккумулятор. Она будет накапливать сумму всех положительных элементов. Нужно присвоить ей такое начальное значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль } for i:=1 to N do { Перебираем все элементы массива } if A[i]>0 then { Проверяем каждый элемент на положительность } S:=S+A[i]; { Если элемент положительный, добавляем значение элемента к аккумулятору } { Выводим результат на экран: } writeln('Сумма положительных элементов =',S); readln end. Вычисление суммы положительных элементов массива

program PositivSumm; const N=10; type Mas=array [1..N] of integer; var a: Mas; i: integer; { Счетчик цикла} S:integer; { Копилка - переменная для суммирования положительных элементов} begin { Заполним массив случайными числами в диапазоне } randomize; for i:=1 to N do begin a[i]:=-100+random(201); write(a[i]:5) end; writeln; { Присвоим переменным начальные значения } S:=0; { Переменная S - аккумулятор. Она будет накапливать сумму всех положительных элементов. Нужно присвоить ей такое начальное значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль } for i:=1 to N do { Перебираем все элементы массива } if A[i]>0 then { Проверяем каждый элемент на положительность } S:=S+A[i]; { Если элемент положительный, добавляем значение элемента к аккумулятору } { Выводим результат на экран: } writeln('Сумма положительных элементов =',S); readln end.