ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 84
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
| Ответ: книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги) Можно ли дом считать массивом? Почему? Ответ: дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс). | | | |
| Можно ли шахматную доску считать массивом? Почему? Ответ: Доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс). Можно ли футбольную команду считать «массивом». Почему? Ответ: команда состоит из нескольких людей, у каждого из них есть номер (индекс). | | | |
| Одной из важных характеристик массива является размерность. Под размерностью понимают минимальное количество независимых параметров (индексов), которые однозначно определяют положение любого элемента в нём. Массивы бывают одномерные, двумерные и многомерные. Познакомимся с одномерными массивами. Одномерный массив - это упорядоченная совокупность однотипных элементов (данных), обозначаемых одним именем, и каждый элемент которой имеет индекс. А — имя массива Индексы | | | | |||||||
| i | 1 | 2 | 3 | 4 | 5 | Значения | ||||
A | 3 | 7 | 9 | 1 | 2 | ||||||
1, 2 …5 — номер элемента А[3]=9 Значение Имя массива Индекс Для обозначения типа данных – массив в Паскале есть специальное служебное слово array. Описаниеодномерного массива может быть выполнено двумя способами:
var <имя> : array [n1 .. n2] of <тип>;
|
| <тип компонента>; var <имя массива> : <наименование типа>; Примеры описания массивов:
var massiv : array[1 .. n] of integer; Для того чтобы обратиться к элементу этого массива, необходимо указать имя массива и в квадратных скобках – номер элемента. Например, первый элемент массива А – A[1], а пятый – A[5]. Задание на отработку умения обращения к элементам массива:
zenith[6] := 'Иванов'
| | | |
| Рассмотрим основные алгоритмы при работе с массивами (все алгоритмы проецируются на экран с помощью мультимедийного проектора и подробно объясняются учителем, как они работают)
Для ввода данных в память необходимо организовать цикл. Поскольку число повторений ввода данных известно, удобно использовать цикл прямого пересчета.
for i := 1 to n do read(a[i]); writeln; вводимые значения набираются на клавиатуре в одну строку через пробел, после этого нажимается ENTER
Для этого используется генератор случайных чисел RANDOM(N), который выбирает случайным образом числа от 0 до N – 1. Если требуется, чтобы значения элементов массива выбирались из определенного интервала [a,b], то m[i] := a + Random(b –a+ 1); | | | |
|
for i := 1 to n do a[i] := sqr(i);
const n = 10; a : array[1 .. n] of integer = (1, 0, -2, 3, 8, -10, 9, 8, 17, 0);
for i := 1 to n do s := s + a[i];
for i := 1 to n do if <условие поиска> then s := s + a[i];
Суть замены элементов массива состоит в том, что элементы, удовлетворяющие условию замены, | | | |
| заменяются на новые в соответствии с правилом замены for i := 1 to n do if <условие для замены> then a[i] := <выражение>;
k := 0; for i := 1 to n do if <условие поиска> then k := k + 1;
max := a[1]; for i := 2 to n do if a[i] > max then max := a[i]; Самостоятельная работа в группах В программе Pascal заготовлены шаблоны для всех задач, которые необходимо заполнить. Выдаются распечатанные шаблоны, которые ученики заполняют при решении задач на компьютере. После урока шаблоны остаются у них. Учитель должен дать краткие комментарии по каждой задаче, обратить внимание учащихся, что решение задач сводится к типовым задачам – нахождение максимального или минимального элементов массива, нахождению количества элементов массива, обладающих некоторым свойством, и т.д. 1 На крыше дома жило 10 семей ласточек. В первой семье ласточка была одна, во второй – 4, в третьей – 9 и т.д. Подсчитайте общее количество ласточек. Выведите на экран номера семей, где | | | |
| количество ласточек кратно 4. Откройте файл VAR1_ ZADACHA 1. PAS и в готовом шаблоне допишите недостающие операторы. program lastochka; var l:array[1.. ] of ; begin for i:=1 to do begin writeln ('l[',i,']=',l[i]); end; writeln ('s=',s); for i:=1 to 10 do begin if writeln ('i=',i); end. Решение: program lastochka; var l:array[1..10] of integer; s,i:integer; begin s:=0; for i:=1 to 10 do begin l[i]:=i*i; writeln ('l[',i,']=',l[i]); s:=s+l[i]; end; writeln ('s=',s); for i:=1 to 10 do | | | |
| begin if l[i] mod 4=0 then writeln ('i=',i); end; readln; end. 1. Во время субботника учащиеся школы вышли на посадку деревьев. Директором были собраны сведения о количестве деревьев, посаженных каждым классом. Определить наилучший результат и количество классов, добившихся его. Откройте файл VAR1_ ZADACHA 2. PAS и в готовом шаблоне допишите недостающие операторы. program derevo; var d:array[1..] of integer; begin randomize; for i:=1 to do begin d[i]:= ; writeln ('d[',i,']=',d[i]); end; for i:= to do if then writeln ('max=',max); for i:= to do if then ; writeln ( ); end. Решение. | | | |
| program derevo; var d:array[1..25] of integer; max,i,k:integer; begin randomize; for i:=1 to 25 do begin d[i]:=random(25)+5; writeln ('d[',i,']=',d[i]); end; max:=d[1]; for i:=2 to 25 do if d[i]>max then max:=d[i]; writeln ('max=',max); for i:=1 to 25 do if d[i]=max then k:=k+1; writeln('k=',k); readln; end. 2. Сестра братишки-шалунишки в октябре ежедневно аккуратно записывает показания температур в дневник наблюдений. Однажды братишка-шалунишка сделал в записях температур небольшие исправления, дописав к отрицательной температуре, справа ноль, перед неотрицательной добавил знак «минус», а перед нулем дописал 5. Что увидит сестренка после исправлений? Вывести исходные и полученные данные. Откройте файл VAR1_ ZADACHA 3. PAS и в готовом шаблоне допишите недостающие операторы. program bratishka ; var t:array[1.. ]of ; i:integer; begin randomize; | | | |
| writeln('sestrichka'); for to do begin t[i]:= ; write(' t[',i,']=',t[i]); end; writeln; writeln('bratishka'); for to do begin if t[i]<0 then else if t[i]>0 then else ; write ; end; end. Решение program derevo; var t:array[1..31]of integer; i:integer; begin randomize; writeln('sestrichka'); for i:=1 to 31 do begin t[i]:=random(10)-5; write(' t[',i,']=',t[i]); end; writeln; writeln('bratishka'); for i:=1 to 31 do begin | | | |
| if t[i]<0 then t[i]:=t[i]*10 else if t[i]>0 then t[i]:=t[i]*(-1) else t[i]:=t[i]+50; write(' t[',i,']=',t[i]); end; readln; end. 2 В деревенском доме жило 15 мышиных семей. В первой семье мышонок был один, во второй – 3, в третьей – 5, в четвертой – 7, и т.д. Подсчитайте общее количество мышат. Выведите на экран номера семей, где количество мышат кратно 5. Откройте файл VAR2_ Z 1. PAS и в готовом шаблоне допишите недостающие операторы. program myska; var m:array[1.. ] of ; begin for i:=1 to do begin m[i]:=; writeln ( ); s:= end; writeln ('s=',s); for i:=1 to do begin if then end; | | | |
| end. Решение program myska; var m:array[1..15] of integer; s,i:integer; begin s:=0; for i:=1 to 15 do begin m[i]:=2*i-1; writeln ('m[',i,']=',m[i]); s:=s+m[i]; end; writeln ('s=',s); for i:=1 to 15 do begin if m[i] mod 5=0 then writeln ('i=',i); end; readln; end. 1. Во время субботника учащиеся школы собирали макулатуру. Директором были собраны сведения о количестве макулатуры, собранной каждым классом. Определить наилучший результат и количество классов, добившихся его. Откройте файл V2_ Z 2. PAS и в готовом шаблоне допишите недостающие операторы. program makulatura; var m:array[1. ]of ; max,i: ; | | | |