Хранение однотипных данных. Массивы
Повторим!Как записываются на языке паскаль следующие элементы блок-схемы.
write(‘введите a b ’); K:=k +1; write(‘ x= ’,x); If a=0 then Х:=a else x:=2/a; For x:=1 to N do begin команды тела цикла end; While A>0 do begin команды тела цикла end;
Вспомним, как заполняется календарь наблюдений, вычисляется средняя температура за месяц и т.д..
program Pr_2_2; {Вычисление суммы чисел введенных с клавиатуры}uses crt;Var k: integer; t,S:real;BeginS:=0;For k:=1 to 5 do begin write (‘Введите t '); readln (t); S:=S+t; end; writeln(‘S = ',S);End. Введем 3 2 1 4 -1Результат S = 9
А если требуется определить сколько раз температура была ниже (выше) среднего???!!! Следовательно исходные данные, введенные в начале программы, необходимо сохранить, хотя бы до окончания всех требуемых расчетов!!! Для хранения однотипных данных можно использовать массивы.
ОпределенияМассив – группа элементов одного типа, объединенных под общим именем.Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.
Обычную книгу можно считать своего рода массивом. Почему? Книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)
Дом также можно считать массивом. Почему? Дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).
. Шахматную доску можно считать массивом. Почему? Доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).
Спортивную команду можно считать «массивом». Почему? Команда состоит из нескольких людей, у каждого из них есть номер (индекс).
Массив – совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки - элементы массива . Все элементы пронумерованы по порядку. Порядковый номер - индекс элемента массива. Все элементы имеют один и тот же тип.
Одномерный массив (вектор) T – имя массива, числа в ячейках памяти – элементы массива элемент массива индекс элемента массива T[3] := -2 Обозначение 3-го элемента массива Значение 3-го элемента массива Описание массива на языке Паскаль «Имя массива» : array [границы изменения индекса] of «тип элементов» Например: T : array [1..8] of integer Индекс изменяется в интервале от 1 до 8 Тип элементов массива - целый
Для работы с массивами необходимо сначала освоить следующее действия: 1. Описание массива 2. Заполнение массива (ввод информации в ячейки) 3. Вывод массива на экран(вывод информации из ячеек)
Описание массива: если имя массива A, количество элементов N (например N=5), можно рассмотреть следующие типы 1. Массив целых чисел Var A : array [1..N] of integer; 2. Массив вещественных чисел Var A : array [1..N] of real; 3. Массив, элементы которого содержат текст – строковый тип. Var A : array [1..N] of string;
Заполнение массива: Способ №1 - использование констант.Program Palitra;Uses CRT; {Black=0; Blue=1; Green=2; Cyan=3; Red=4; Magenta=5; Brown=6; lightGray=7; и т.д.}Const {Заполнение массива} Color: array [1 .. 7] of string=('Blue', 'Green', 'Cyan', 'Red', 'Magenta', 'Brown', 'LightGray'); Var i:integer; Begin {Для вывода эл. массива используем цикл, для изменения цвета используем i } textsize (15); for i:=1 to 7 do begin textcolor(i); write (Color[i]:10); end;End.
Заполнение массива:Способ №2 - Ввод данных с клавиатуры . program Pogoda;uses CRT;Var T: array [1 .. 7] of real; {Описываем массив } k:integer; Begin Writeln(‘Введите значения температуры за первую неделю марта ‘);for k:=1 to 7 do begin {Для ввода используем цикл} Write(k,’ -ое число, температура=’); Readln(T[k]); end; for k:=1 to 7 do begin {Для вывода используем цикл} Write(T[k]:5:1); end;End.
Заполнение массива:Способ №3 - Использование генератора случайных чисел Заполнение массива A десятью случайными числами из интервала (-20, 20) и вывод массива на экран в одном цикле. program Generator; uses crt;Var A:array[1..10] of integer; k: integer;Begin Randomize; For k:=1 to 10 do begin {заполнение и печать в одном цикле} A[k] := -20 + Random(41); Write(A[k] :5); end;end.
Подведем итоги: Заполнение массива: Способ №1 - Использование констант. Способ №2 - Ввод данных с клавиатуры . Способ №3 - Использование генератора случайных чисел. Вывод массива: Для вывода массива необходимо использовать цикл.Массив можно выводить в виде строки или в виде столбца.
В программе Palitra заполнить новый массив Cvet названиями цветов на русском (синий зеленый и т.д.). Организовать вывод на экран (в 3 столбика): число (индекс), служебное название цвета (из массива Color), русское название цвета (из массива Cvet). (Palitra_1)В программе Pogoda, используя способ №1 заполнить новый массив Den (понедельник вторник и т.д.). Организовать вывод на экран (в 3 столбика): число (индекс), название дня недели (из массива Den) и температуру (из массива T). (Pogoda_1)В программе Generator, используя способ №1 заполнить новый массив Fam (10 любых фамилий), массив А заполнить случайными числами из интервала (2, 5), выводить на экран (в 2 столбика ): фамилию (из массива Fam) и оценку (из массива А). (Generator_1)
Д/З Используя программу Palitra написать программу Raduga , выводящую названия основных цветов (Красный, Оранжевый и т.д.), так чтобы название совпадало с цветом текста.