К.Ю. Поляков, Е.А. Ерёмин, 2013 1 Программирование на языке Паскаль § 62. МассивыМассивы.

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



Advertisements
Похожие презентации
К. Поляков, Программирование на языке Паскаль Часть II Тема: Массивы.
Advertisements

1 Программирование на языке Паскаль Тема 1. Массивы.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 63. Алгоритмы обработки массивовАлгоритмы обработки массивов.
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
Массивы Массивы Ввод и вывод массива Максимальный элемент массива Обработка массивов Сортировка массивов Поиск в массивеМассивыВвод и вывод массиваМаксимальный.
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
Двумерные массивы. Массивы Двумерный массив (матрица) – это массивы, положение элементов в которых описывается двумя индексами или прямоугольная таблица,
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Программирование на языке Паскаль Часть II Матрицы.
Программирование на языке Паскаль. Часть II К. Поляков, Сумма выбранных элементов 1 Задача: заполнить массив случайными числами в интервале [-10,10]
МассивМассив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная.
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
Одномерные массивы. Понятие массива При решении задач с использо- ванием большого количества однотипных упорядоченных данных, удобно хранить эти данные.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Язык программирования Паскаль 9 часть. Массивы.
3. Дана прямоугольная матрица, элементами которой являются целые числа. Поменять местами ее строки следующим образом: первую строку с последней, вторую.
1 Массивы Массив – это упорядоченная последовательность, состоящая из фиксированного количества величин одного типа. Особенности: все элементы имеют один.
Тема урока: Одномерные массивы. - Где в жизни мы можем встретиться с таблицами?
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 58. Циклические алгоритмы 1.
Транксрипт:

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. Массивы Массивы

К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. Массивы 2

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Что такое массив? 3 Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер. Надо: Как ввести переменных? ? выделять память записывать данные в нужную ячейку читать данные из ячейки

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Выделение памяти (объявление) 4 var A: array[1..5] of integer; V: array[0..5] of real; L: array[-5..5] of boolean; S: array[65..90] of char; var A: array[1..5] of integer; V: array[0..5] of real; L: array[-5..5] of boolean; S: array[65..90] of char; минимальный индекс максимальный индекс const N = 10; var A: array[1..N] of integer; const N = 10; var A: array[1..N] of integer; размер через константу Зачем? ?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Что неправильно? 5 var A: array[10..1] of integer;... A[5] := 4.5; var A: array[10..1] of integer;... A[5] := 4.5; [1..10] var A: array[1..10] of integer;... A[15] := 'a' var A: array[1..10] of integer;... A[15] := 'a' var a: array ['z'..'a'] of integer;... A['B'] := 15; var a: array ['z'..'a'] of integer;... A['B'] := 15; A['b'] ['a'..'z']

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Обращение к элементу массива A A массив НОМЕР элемента массива (ИНДЕКС) НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] ЗНАЧЕНИЕ элемента массива A[2] НОМЕР (ИНДЕКС) элемента массива: 2 ЗНАЧЕНИЕ элемента массива: 10

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Как обработать все элементы массива? 7 Объявление: Обработка: const N = 5; var A: array[1..N] of integer; const N = 5; var A: array[1..N] of integer; { обработать A[1] } { обработать A[2] } { обработать A[3] } { обработать A[4] } { обработать A[5] } { обработать A[1] } { обработать A[2] } { обработать A[3] } { обработать A[4] } { обработать A[5] } 1) если N велико (1000, )? 2) при изменении N программа не должна меняться! 1) если N велико (1000, )? 2) при изменении N программа не должна меняться! ?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Как обработать все элементы массива? 8 Обработка с переменной: i:= 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; { обработать A[i] } i:= i + 1; Обработка в цикле: i:= 1; while i <= N do begin { обработать A[i] } i:= i + 1; end; i:= 1; while i <= N do begin { обработать A[i] } i:= i + 1; end; Цикл с переменной: for i:=1 to N do begin { обработать A[i] } end; for i:=1 to N do begin { обработать A[i] } end;

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Заполнение массива 9 program Arr; const N = 10; var A: array[1..N] of integer; i: integer; begin for i:=1 to N do A[i]:= i*i; end. program Arr; const N = 10; var A: array[1..N] of integer; i: integer; begin for i:=1 to N do A[i]:= i*i; end. Чему равен A[9] ? ?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Ввод с клавиатуры и вывод на экран 10 Объявление: Ввод с клавиатуры: Вывод на экран: const N = 5; var A: array[1..N] of integer; i: integer; const N = 5; var A: array[1..N] of integer; i: integer; for i:=1 to N do begin write('A[', i, ']='); read ( A[i] ) end; for i:=1 to N do begin write('A[', i, ']='); read ( A[i] ) end; A[1] = A[2] = A[3] = A[4] = A[5] = writeln('Массив A:'); for i:=1 to N do write(A[i]:4); writeln('Массив A:'); for i:=1 to N do write(A[i]:4); Зачем «:4»? ? Почему write ? ?

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Заполнение случайными числами 11 for i:=1 to N do begin A[i]:= 20 + random(81); write(A[i],' ') end; for i:=1 to N do begin A[i]:= 20 + random(81); write(A[i],' ') end; Задача. Заполнить массив (псевдо)случайными целыми числами в диапазоне от 20 до 100.

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Перебор элементов 12 Общая схема: for i:=1 to N do begin... { сделать что-то с A[i] } end; for i:=1 to N do begin... { сделать что-то с A[i] } end; Подсчёт нужных элементов: Задача. В массиве записаны данные о росте баскетболистов. Сколько из них имеет рост больше 180 см, но меньше 190 см? count:= 0; for i:=1 to N do if (180 < A[i]) and (A[i] < 190) then count:= count + 1; count:= 0; for i:=1 to N do if (180 < A[i]) and (A[i] < 190) then count:= count + 1;

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Перебор элементов 13 Среднее арифметическое: count:= 0; sum:= 0; for i:=1 to N do if (180 < A[i]) and (A[i] < 190) then begin count:= count + 1; sum:= sum + A[i] end; write(sum/count); count:= 0; sum:= 0; for i:=1 to N do if (180 < A[i]) and (A[i] < 190) then begin count:= count + 1; sum:= sum + A[i] end; write(sum/count); среднее арифметическое

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 14 «A»: Заполните массив случайными числами в интервале [0,100] и найдите среднее арифметическое его значений. Пример: Массив: Среднее арифметическое «B»: Заполните массив случайными числами в интервале [0,100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые 50. Пример: Массив: Ср. арифм. элементов [0,50): Ср. арифм. элементов [50,100]:

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 15 «C»: Заполните массив из N элементов случайными числами в интервале [1,N] так, чтобы в массив обязательно вошли все числа от 1 до N (постройте случайную перестановку). Пример: Массив:

Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Источники иллюстраций иллюстрации художников издательства «Бином» 3. авторские материалы