Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемАнфиса Мочутковская
1 К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. Массивы Массивы
2 К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. Массивы 2
3 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Что такое массив? 3 Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер. Надо: Как ввести переменных? ? выделять память записывать данные в нужную ячейку читать данные из ячейки
4 Алгоритмизация и программирование, Паскаль, 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; размер через константу Зачем? ?
5 Алгоритмизация и программирование, Паскаль, 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']
6 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Обращение к элементу массива A A массив НОМЕР элемента массива (ИНДЕКС) НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] ЗНАЧЕНИЕ элемента массива A[2] НОМЕР (ИНДЕКС) элемента массива: 2 ЗНАЧЕНИЕ элемента массива: 10
7 Алгоритмизация и программирование, Паскаль, 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 программа не должна меняться! ?
8 Алгоритмизация и программирование, Паскаль, 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;
9 Алгоритмизация и программирование, Паскаль, 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 класс К.Ю. Поляков, Е.А. Ерёмин, Ввод с клавиатуры и вывод на экран 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 ? ?
11 Алгоритмизация и программирование, Паскаль, 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.
12 Алгоритмизация и программирование, Паскаль, 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;
13 Алгоритмизация и программирование, Паскаль, 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); среднее арифметическое
14 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 14 «A»: Заполните массив случайными числами в интервале [0,100] и найдите среднее арифметическое его значений. Пример: Массив: Среднее арифметическое «B»: Заполните массив случайными числами в интервале [0,100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые 50. Пример: Массив: Ср. арифм. элементов [0,50): Ср. арифм. элементов [50,100]:
15 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Задачи 15 «C»: Заполните массив из N элементов случайными числами в интервале [1,N] так, чтобы в массив обязательно вошли все числа от 1 до N (постройте случайную перестановку). Пример: Массив:
16 Алгоритмизация и программирование, Паскаль, 10 класс К.Ю. Поляков, Е.А. Ерёмин, Источники иллюстраций иллюстрации художников издательства «Бином» 3. авторские материалы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.