
- •Вопрос 1 Алфавит языка Паскаль. Правила построения идентификаторов.
- •Вопрос 2 Структура Паскаль-программы. Прокомментировать назначения разделов.
- •Вопрос 3 Логические переменные в Паскале. Основные операции над ними. Логические выражения. Правила записи и вычсления сложных логических выражений. Логические переменные
- •Логические выражения
- •Вопрос 4 Правила записи и вычисления арифметических и строковых выражений. Операции mod и div.
- •Арифметические выражения
- •Вопрос 5 Формат и правила выполнения оператора присваивания. Оператор присваивания
- •Вопрос 6 Понятие и применение составного оператора.
- •Вопрос 7
- •Вопрос 8
- •Вопрос 9
- •Var X: real; {аргумент }
- •Вопрос 10
- •Вопрос 11,12,13
- •Вопрос 14, 15
- •5.9 Процедуры вывода данных.
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Одномерные массивы. Работа с элементами
- •Способы задания одномерных массивов
- •Работа с элементами массива (разбор на примерах)
- •Вопрос 19
- •Методы сортировки массивов
- •Метод "пузырька"
- •Сортировка вставками
- •Сортировка посредством выбора
- •Вопрос 20
- •Двумерные массивы Паскаля – матрицы
- •Описание двумерного массива Паскаля.
- •Основные действия с двумерными массивами Паскаля
- •Ввод двумерного массива Паскаля.
- •Вывод двумерного массива Паскаля на экран.
- •Представление двумерного массива Паскаля в памяти
- •Сколько памяти выделяется для массива?
- •Примеры решения задач с двумерными массивами Паскаля
- •Вопрос 21, 22
- •Строки Строковый тип данных
- •Процедуры и функции для работы со строками
- •Вопрос 23
- •Стандартные процедуры и функции.
- •5.1 Математические функции.
- •Вопрос 30
- •Нетипизированные параметры
- •Вопрос 31
- •Вопрос 32
Вопрос 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.