Радионик Рената

advertisement
Радионик Рената 9”Б”
Массив – это обозначаемая одним именем последовательность
однотипных элементов.
Место каждого элемента в этой последовательности определяется
его индексом.
МАССИВ
Одномерный
A[1]
A[2]
A[3]
A[4]
A[5]
Многомерный
A[6]
A[7]
Массив в языке Pascal ABC записывается так:
имя: array[инд1..индN] of тип_элементов.
Таблица(совокупность одномерных
массивов)
Каждый день с 20 по 31 декабря измеряли температуру воздуха.
Для хранения значений температуры можно использовать
Массив D,состоящий из 12 вещественных чисел.
Индекс элемента - дата(номер дня в декабре). Например
элемент D[22] содержит температуру воздуха 22 декабря.
Описание этого массива может выглядеть так:
Var D: array[20..31] of real
Для работы с массивом необходимо присвоить значения его элементам. Для ввода
значений c клавиатуры используют стандартные процедуры read и readln.
Var A: array[1..5] of integer;
i: integer;
Begin
Fro i:=1 to 5 do
Read (A[i]);
End.
{Ввод значений}
Для вывода используют процедуры write и writeln.
Для вывода элементов в обратном порядке используют цикл for … downto… .
Вычисление значений функции на заданном отрезке с
определенным шагом называется табулированием.
Случайные значения элементов массива задаются с помощью стандартной функции
random. Функция random без аргумента генерирует случайные вещественный
числа на промежутке [0,1). Если случайные вещественные числа должны принадлежать
другому промежутку, например [3,4), то значение элемента задается выражением
X[i]:=random+3
Целые случайные числа из промежутка [0,n] генерирует функция random(n+1). Если
целочисленные значения элементов массива должны принадлежать промежутку [a; b],
то их вычисляют с помощью выраженияX[i]:=random(b-a+1)+a
Например массив из 15 случайных чисел, принадлежащих промежутку [30; 60], можно
сформировать так:
For i:=1 to 15 do X[i]:=random(31)+30;
Составить программу, рисующую 3 концентрических окружности, радиусы которых
хранятся в массиве случайных целых чисел, принадлежащих промежутку [30,300].
program Primer_2;
Uses GraphAbc;
Var r: array[1..9] of integer;
i:integer;
begin
for i:=1 to 9 do
R[i]:=random(271)+30;
SetBrushStyle(bsClear);
SetPenColor(clBlue);
for i:=1 to 3 do
Circle(300, 300, R[i]);
end.
Элементы массива в программах используются так же, как обычные переменные.
Над ними можно выполнять операции, допустимые для переменных
соответствующего типа. Элементам типа integer можно присваивать результат
выполнения операций +,-,*,div ,mod. Для элементов типа real возможны операции +,-,*,/.
Алгоритм вычисления произведения элементов числового массива отличается лишь тем,
что начальное значение P:=1. На каждом шаге цикла выполняется умножение Р
на значение очередного элемента Р:=Р*A[i].
program Primer_3a;
Var A: array[1..12] of integer;
i,S:integer;
begin
for i:=1 to 12 do A[i]:=random(81)-40;
S:=0;
for i:=1 to 12 do
if A[i]>0 then S:=S+A[i];
for i:=1 to 12 do write (A[i]:4);
writeln;
writeln('Сумма положительных чисел=',S)
end.
При работе с массивами нередко приходится выполнять различные
преобразования их элементов, например преобразовывать единицы измерения,
масштабы и координаты, изменять значения элементов в зависимости от выполнения
Некоторых условий, менять местами элементы в массиве.
Перестановка(обмен местами) двух элементов массива сводится к обмену их
значениями. Для этого используют дополнительную переменную
(которую называют буфером обмена). Алгоритм обмена заключается в том, что в буфер
помещают значение заменяемого элемента массива. Затем этому элементу
присваивается значение второго(заменяющего его) элемента, которому в свою очередь
присваивается значение буфера обмена.
Составить программу, которая формирует массив из 15 случайных целых чисел
от 0 до 20, меняет местами 2-й и 13-й элементы и выводит значения элементов
массива на экран до и после обмена.
program Primer_3;
Var A: array[1..15] of integer;
B,i: integer;
begin
for i:=1 to 15 do A[i]:=random(20);
for i:=1 to 15 do write (A[i]:4);
writeln;
B:=A[2]; A[2]:=A[13]; A[13]:=B;
for i:=1 to 15 do write (A[i]:4);
end.
При
обработке
информации
постоянно
приходится
сталкиваться с задачами поиска данных. Эти задачи весьма
разнообразны. Алгоритмы поиска являются одними из
наиболее часто выполняемых алгоритмов.
Известны различные алгоритмы для поиска, каждый из
которых эффективен для решения определенного круга задач.
Самый простой способ поиска элементов массива с заданными
свойствами – это последовательный просмотр всех элементов и
проверка выполнения условий поиска. Такой алгоритм поиска
называется линейным или последовательным.
Составить программу, которая формирует массив из 15 случайный целых
чисел от 0 до 50 и выводит на экран нечетные элементы массива и их
индексы.
program Primer_4;
Var A: array[1..15] of integer;
i:integer;
begin
for i:=1 to 15 do A[i]:=random (51);
for i:=1 to 15 do
if A[i] mod 2=1 then
writeln('Найден элемент A[',i,']=', A[i]);
for i:=1 to 15 do write(a[i]:4);
end.
Решение любой задачи с помощью компьютера содержит несколько этапов:
1. Определение исходных данных(что дано).
2. Определение результатов(что требуется найти).
3. Описание переменных(определение типов данных).
4. Составление алгоритма решения задачи.
5. Написание и откладка программы.
6. Тестирование программы.
Download