
- •Правила написания идентификаторов
- •Целочисленные типы данных
- •Вещественные типы данных
- •Символьный (литерный) тип данных
- •Правила записи арифметических выражений
- •Очередность выполнения операций в выражениях (приоритет)
- •Виды циклов
- •Блок-схема
- •Общий вид оператора цикла с предусловием
- •Виды циклов
- •Виды циклов
- •Пример решения задачи
- •Способы инициализации (заполнения массива)
- •Описание строковой переменной Паскаля
- •Действия со строками в Паскале
- •Стандартные функции для работы со строками в Паскале
- •Стандартные процедуры для работы со строками в Паскале
- •Процедуры преобразования типов в Паскале
Способы инициализации (заполнения массива)
Язык Паскаль не имеет специальных средств ввода-вывода всего массива, поэтому данную операцию следует организовывать поэлементно с помощью циклов.
Ввод значений с клавиатуры |
Ввод значений случайным образом |
||
For i:=1 to 5 do begin Writeln(‘Введите значение ‘,i,’ элемента’); Readln(a[i]); end; |
Чтобы инициализировать генератор случайных чисел, в начале программы необходимо вызвать процедуру Randomize. Функция random возвращает случайное число типа Real в диапазоне 0 <= X < 1. Тип данных: вещественный 0<=a[i]<1, a[i]:=RANDOM; 0<=a[i]<A, a[i]:=RANDOM *A; A<=a[i]<B, a[i]:=A + RANDOM*(B - A); Тип данных: целый 0<=a[i]<=A, a[i]:= RANDOM (A+1); A<=a[i]<=B, a[i]:=A + RANDOM(B – A+1); For i:=1 to 5 do a[i]:= -4 + RANDOM(10); Значения элементов массива целые числа из промежутка от -4 до 5: a[i]:=-4+ RANDOM(5 –(-4)+1) |
||
Ввод значений по формуле |
|
|
|
ai=sin i-cos i
For i:=1 to 5 do a[i]:=sin(i) – cos(i);
|
г) осуществление ввода-вывода массива.
Вывод элементов массива For i:=1 to 5 do Write(a[i]:5); Writeln; |
Инициализация и вывод элементов массива For i:=1 to 5 do begin a[i]:= -4 + RANDOM(10); Write(a[i]:5); end; |
2. Составить блок-схему алгоритма, реализующего контроль ввода
БИЛЕТ 13
1. Двумерный массив.
а) определение;
Массив А |
j от 1 до m |
|||
Столбец 1 |
Столбец 2 |
Столбец 3 |
||
i от 1 до n |
Строка 1 |
А[1,1] |
А[1,2] |
А[1,3] |
Строка 2 |
А[2,1] |
А[2,2] |
А[2,3] |
|
Строка 3 |
А[3,1] |
А[3,2] |
А[3,3] |
|
Строка 4 |
А[4,1] |
А[4,2] |
А[4,3] |
в) описание в Паскале;
Const
strok=4;
stolb=3;
Var
Имя_массива: array [1..strok, 1..stolb] of integer;
б) способы инициализации: с клавиатуры, случайным образом, по формуле.
С клавиатуры |
For i:=1 to strok do внешний цикл, индексы строки For j:=1 to stolb do внутренний цикл, индексы столбцов текущей строки ввод элементов массива построчно |
Случайным образом |
Чтобы инициализировать генератор случайных чисел, в начале программы необходимо вызвать процедуру Randomize. Функция random возвращает случайное число типа Real в диапазоне 0 <= X < 1. Тип данных: вещественный 0<=a[i]<1, a[i]:=RANDOM; 0<=a[i]<A, a[i]:=RANDOM *A; A<=a[i]<B, a[i]:=A + RANDOM*(B - A); Тип данных: целый 0<=a[i]<=A, a[i]:= RANDOM (A+1); A<=a[i]<=B, a[i]:=A + RANDOM(B – A+1);
For i:=1 to strok do внешний цикл, индексы строки For j:=1 to stolb do внутренний цикл, индексы столбцов текущей строки mas[i, j]:=Random(10); заполнение массива построчно |
По формуле |
For i:=1 to strok do внешний цикл, индексы строки For j:=1 to stolb do внутренний цикл, индексы столбцов текущей строки mas[i, j]:=i+j; заполнение массива построчно |
г) осуществление ввода-вывода.
Организация вывода в виде таблицы.
for i:=1 to strok do внешний цикл, индексы строки begin for j:=1 to stolb do внутренний цикл, индексы столбцов текущей строки
вывод строки end; |
for i:=1 to strok do begin внешний цикл, индексы строки for j:=1 to stolb do внутренний цикл, индексы столбцов текущей строки
заполнение и
вывод текущей строки write(а[i,j]:5); end; writeln; переход на новую строку end; |
2. Составить блок-схему алгоритма подсчета количества положительных из N заданных чисел.
БИЛЕТ 14
1. Сортировка элементов линейного массива.
а) определение сортировки одномерного массива;
Под сортировкой числового массива понимается процесс перестановки его элементов в порядке возрастания или убывания их значений.
в) виды сортировок;
Алгоритмы упорядочивания данных называют методами (алгоритмами) сортировки. Существует довольно много различных методов сортировки массивов, отличающихся друг от друга степенью эффективности, под которой понимается количество сравнений и количество обменов, произведенных в процессе сортировки.
Линейная сортировка выбором обычно применяется для массивов, не содержащих повторяющихся элементов. Идея сортировки по возрастанию заключается в том, чтобы, последовательно просматривая весь массив, отыскать наименьшее число и поменять его местами с первым элементом. Затем просматриваются элементы массива, начиная со второго, снова находится наименьший, который меняется местами со вторым и т. д. Всего потребуется n-1 раз выполнить эту последовательность действий. В процессе сортировки будет увеличиваться отсортированная часть массива, а несортированная, уменьшаться.
б) блок-схема сортировки массива;
Инициализация
массива
i – последовательно просматриваем весь массив от 1 до М-1 элемента,
n –первый элемент неотсортированной части массива
j – остальные элементы неотсортированной части массива
k – вспомогательная переменная для обмена значениями наименьшего элемента с первым элементом неотсортированной части массива
М – количество элементов в массиве
Вывод отсортированного массива
2. Cоставить блок-схему алгоритма, подсчитывающего количество слов в предложении.
БИЛЕТ 15
1.Оператор выбора варианта.
Если оператор If обеспечивает выбор из двух альтернатив, то существует оператор, который позволяет сделать выбор из произвольного числа вариантов. Это оператор выбора Case. Он организует переход на один из нескольких вариантов действий в зависимости от значения выражения, называемого селектором.
а) блок-схема;
Полная форма |
Краткая форма |
|
|
б) запись на Паскале;
C
< <const2>: <оператор2>; … <constN>: <операторN> else <операторN+1> end; Здесь k — выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). <const1>, …<constN> - константы того же типа, что и селектор. |
б) запись на Паскале; C ase k of < const1>: <оператор1>; <const2>: <оператор2>; … <constN>: <операторN>; end; Здесь k — выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). <const1>, …<constN> - константы того же типа, что и селектор. |
в) правила использования.
Оператор Case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна значению селектора, то выполняется оператор, стоящий за словом else. Если же это константа выбора отсутствует, то активизируется оператор, находящийся за границей Case, т.е. после слова end.
При использовании оператора Case должны выполняться следующие правила:
1.Выражение-селектор может иметь только простой порядковый тип (целый, символьный, логический).
2.Все константы, которые предшествуют операторам, должны иметь тот же тип, что и селектор.
3.Все константы должны быть уникальны в пределах оператора выбора.
Пример. Программа, которая по номеру дня недели (1– понедельник, 2– вторник и т.д.) определяет рабочий это день или выходной.
Дано: Х - натуральное число.
Найти: является ли это число Х номером дня недели и, если является, выяснить рабочий это день или выходной.
Решение:
Если данное число равно 1, 2, 3, 4 или 5, то день недели рабочий, если 6 или 7, то выходной. В противном случае мы должны вывести сообщение, что дня недели с таким номером нет.
Программа:
Program work;
Var X: Byte;
Begin
Write(’Введите номер дня недели: ’);
Readln(X);
Case X of
1 .. 5 : Writeln(’Это рабочий день ’);
6, 7 : Writeln(’Это выходной! ’);
Else Writeln(’Нет такого дня недели ’)
End.
2. Составить блок-схему алгоритма нахождения n!.
БИЛЕТ 16
Строковый тип данных. Процедуры и функции, предназначенные для обработки строк.
Строка представляет собой особую форму одномерного массива символов. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:
Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;
Текущая длина строки (всегда меньше или равна общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.
Длина строки в Паскале может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.
Код ASCII (American Code for Information Interchange – Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт использует шестнадцатеричные коды 00-7F, расширение стандарта – 80-FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта используются символы псевдографики и буквы национальных алфавитов.
Строковая константа Паскаля – последовательность символов, заключенная в апострофы. Например, ‘строковая константа’, ‘243’. Два следующих друг за другом апострофа (‘’) обозначают пустую строку, т.е. строку с нулевой длиной.
Например, const s=’строковая константа’;