Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика, билеты.docx
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
131.51 Кб
Скачать

Вопрос 17

Организация управления выполнением программы с помощью меню (на примере). (из лабораторной работы)

Вопрос 18

Одномерный массив. Понятие, варианты об0ъявления, настройка на фактическое число элементов массива.

Одномерные массивы. Работа с элементами

Пример

Найти сумму 30 целых чисел.

Решение

Для решения этой задачи используется одномерный массив.

Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.

Например, введем 30 целых чисел от 25 до54 и объединим их общим именем А

№ А

1

25

2

26

3

27

...

...

29

53

30

54

Имя А - это общее имя для всех элементов. Элементы массива - это целые числа, их 30.

Опишем в разделе типов свой тип - одномерный массив, состоящий из 30 целых чисел.

Type myarray = Array [1..30] Of Integer.

Напомним, что раздел типов, начинается со служебного слова TYPE, после этого идет имя нового типа и его описание. Между именем типа и его описанием ставится знак "равно" (в разделе переменных между именем переменной и её описанием ставится двоеточие). Тогда:

myarray - это имя нового типа;

Array - служебное слово (в переводе с английского означает "массив", "набор");

[1..30] - в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива, пусть в этом примере первый элемент имеет номер 1, а последний - номер 30;

Of - служебное слово (в переводе с английского -"из" );

Integer - тип всех элементов массива.

Таким образом, одномерный массив описывается следующим образом:

Array[n1..n2] Of <тип элементов>;

где n1 - номер первого элемента, n2 - номер последнего элемента, в качестве типа элементов может использоваться любой тип данных, кроме файлового. Так как каждый элемент имеет свой номер, то к каждому элементу можно обращаться непосредственно. Для того, чтобы обратиться к i-у элемент этого массива, необходимо записать:

A[i] - сначала имя массива, а в квадратных скобках указывается номер элемента, к которому обращаемся, - i. Например, обращаемся к первому элементу массива А - А1[1], а к пятому - А[5].

Пример: Составить программу нахождения суммы элементов массива.

Решение

Опишем две процедуры (формирование и вывода массива)и функцию нахождения суммы элементов, которые будем использовать в основной части. Заметим, что заполнение и вывод массива можно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран - выводим первый, второй, третий и так до последнего. Будем вводить значение элементов массива с клавиатуры.

Program Example-37; Const n = 30; {n - это количество элементов массива } Type myarray = Array [1...n] Of Integer; Var A : myarray; s : Integer; {s - значение этой переменной будет равно сумме всех элементов массива}

Procedure Init1(Var m : myarrfy); Var i : Integer; {i - это переменная для работы с элементами массива} Begin Writen ('введите',n,'чисел'); For i:=1 To n Do {ввод массива с клавиатуры} Readln(m[i]); {чтение i-го элемента} End;

Procedure Print(m: myarray); Var i : Integer; Begin For i:=1 To n Do {вывод массива} Write(m[i]:3); {вывод i-го элемента} Writeln; End;

Function Sum(m: myarray): Integer; Var i, sum : Integer; Begin sum:=0 {начальное значение суммы} For i:=1 To n Do {её нахождение} sum:=sum+m[i]; {к уже найденной сумме первых (i-1) элементов прибавляем i-ый элемент} End;

Begin Init1(A); {обращение к процедуре формирования} Print (A); {вывод массива} s:=Sum (A); {нахождение суммы элементов} Writeln ('их сумма равна ',s);{вывод результата на экран} Readln; End.