Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемГлеб Шиндяпин
1 Хранение однотипных данных. Массивы Урок 1
2 Повторим! Как записываются на языке паскаль следующие элементы блок-схемы.
3 Ввод: a,b Read(a,b);write(введите a b ); k = k + 1 K:=k +1; счетчик кол-ва шагов Вывод: Х write( x=,x); If a=0 then Х:=a else x:=2/a; a =0 x := a x:=2/a да нет x=1,N For x:=1 to N do begin команды тела цикла end; While A>0 do begin команды тела цикла end; A > 0 да нет команды тела цикла
4 Вспомним, как заполняется календарь наблюдений, вычисляется средняя температура за месяц и т.д..
5 начало k=1,5 S:=S + t Ввод: t конец s:=0 Вывод: s program Pr_2_2; {Вычисление суммы чисел введенных с клавиатуры} uses crt; Var k: integer; t,S :real; Begin S:=0; For k:=1 to 5 do begin write (Введите t '); readln ( t ); S:=S+ t ; end; writeln(S = ',S); End. Введем Результат S = 9 Sr:=S/5; writeln(среднее = ',Sr); Sr,
6 А если требуется определить сколько раз температура была ниже (выше) среднего???!!! Следовательно исходные данные, введенные в начале программы, необходимо сохранить, хотя бы до окончания всех требуемых расчетов!!! Для хранения однотипных данных можно использовать массивы.
7 Массив – группа элементов одного типа, объединенных под общим именем. Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.
8 Обычную книгу можно считать своего рода массивом. Почему? Книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)
9 Дом также можно считать массивом. Почему? Дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).
10 Шахматную доску можно считать массивом. Почему? Доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).
11 Спортивную команду можно считать «массивом». Почему? Команда состоит из нескольких людей, у каждого из них есть номер (индекс).
12 Массив – совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки - элементы массива. Все элементы имеют один и тот же тип. Порядковый номер - индекс элемента массива. Все элементы пронумерованы по порядку T
13 Одномерный массив (вектор) T – имя массива, числа в ячейках памяти – элементы массива T [3] := -2 Значение 3-го элемента массива Обозначение 3-го элемента массива Описание массива на языке Паскаль «Имя массива» : array [ границы изменения индекса ] of «тип элементов» Например: T : array [1..8] of integer Индекс изменяется в интервале от 1 до 8 Тип элементов массива - целый T индекс элемента массива элемент массива
14 1. Описание массива 2. Заполнение массива (ввод информации в ячейки) 3. Вывод массива на экран (вывод информации из ячеек) Для работы с массивами необходимо сначала освоить следующее действия:
15 Описание массива: если имя массива A, количество элементов N ( например N=5 ), можно рассмотреть следующие типы Var A : array [1..N] of real; 1. Массив целых чисел 2. Массив вещественных чисел Var A : array [1..N] of integer; 3. Массив, элементы которого содержат текст – строковый тип. Var A : array [1..N] of string; А А (N = 5) Понедельник А ВторникСредаПятницаЧетверг
16 Заполнение массива: Способ 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. Пример Palitra i=1,7 Вывод: Color [i] Установка цвета шрифта
17 Заполнение массива: Способ 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; Пример Pogoda T for k:=1 to 7 do begin {Для вывода используем цикл} Write(T[k]:5:1); end; End.
18 program Generator; uses crt; Var A:array[1..10] of integer; k: integer; Begin Randomize; For k:=1 to 10 do begin {заполнение и печать в одном цикле} A[k] := Random(41); Write(A[k] :5); end; end. Заполнение массива: Способ 3 - Использование генератора случайных чисел Пример Generator Случайное число из интервала (a, b) := a + random (b – a + 1) Заполнение массива A десятью случайными числами из интервала (-20, 20) и вывод массива на экран в одном цикле. начало k=1,10 Инициализация random Вывод: A[k] конец k=1,10 A[k]:=-20+random(41)
19 Для вывода массива необходимо использовать цикл. Массив можно выводить в виде строки или в виде столбца. Способ 2 - Ввод данных с клавиатуры. Способ 3 - Использование генератора случайных чисел. Заполнение массива: Вывод массива: Способ 1 - Использование констант. Подведем итоги:
20 1. В программе Palitra заполнить новый массив Cvet названиями цветов на русском ( синий зеленый и т.д.). Организовать вывод на экран ( в 3 столбика ): число ( индекс ), служебное название цвета ( из массива Color ), русское название цвета ( из массива Cvet ). ( Palitra_1) Palitra_1 2. В программе Pogoda, используя способ 1 заполнить новый массив Den ( понедельник вторник и т.д.). Организовать вывод на экран ( в 3 столбика ): число ( индекс ), название дня недели ( из массива Den ) и температуру ( из массива T ). ( Pogoda_1) Pogoda 3. В программе Generator, используя способ 1 заполнить новый массив Fam ( 10 любых фамилий ), массив А заполнить случайными числами из интервала (2, 5), выводить на экран (в 2 столбика ): фамилию ( из массива Fam ) и оценку ( из массива А ). ( Generator_1) Generator_1
21 Д/З Используя программу Palitra написать программу Raduga, выводящую названия основных цветов (Красный, Оранжевый и т.д.), так чтобы название совпадало с цветом текста. Raduga
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.