- •Часть I Основные конструкции
- •Смоленск, 2007 Содержание
- •Базовые понятия
- •1.1 Алфавит языка и структура программы
- •Var …..; объявление переменных;
- •1.2 Стандартные типы данных
- •1.3 Выражения
- •Порядок выполнения арифметических операций
- •Операции Отношения
- •Порядок выполнения логических операций
- •Сложные операции отношения
- •Основные операторы. Основы программирования простых задач
- •2.1 Оператор Присваивания
- •2.2 Операторы Ввода и вывода. Форматы вывода
- •2.3 Составной Оператор
- •2.4 Комментарии
- •3. Стандартные процедуры и функции
- •3.1 Системные процедуры и функции
- •3.3 Общие стандартные процедуры и функции
- •3.3 Строковые процедуры и функции
- •4. Среда PascalAbc PascalAbc.Exe
- •4.1 Общий вид
- •4.2 Порядок работы
- •4.3 Примеры простейших программ
- •5. Структурированные операторы
- •5.1 Условный оператор
- •5.2 Оператор выбора
- •5.3 Цикл с параметром (For)
- •5.4 Цикл с предусловием (While)
- •5.5 Цикл с постусловием (Repeat Until)
- •6.Массивы
- •6.1 Понятие массива
- •6.2 Основные алгоритмы обработки массивов
- •Ввод элементов (заполнение массива)
- •Сортировка массива.
- •6.2.1 Ввод элементов (заполнение массива):
- •6.2.2 Вывод на экран значений элементов массива
- •6.2.3 Поиск элементов и вычисляемых значений
- •6.2.4 Сортировка массива
- •7. Процедуры и функции
- •7.1 Понятие процедуры. Вызов процедуры
- •7.2 Входные и выходные параметры
- •7.3 Функции
- •V Параметры функции ar
- •8. Работа со строками
- •8.1 Строковые переменные
- •8.2 Действия со строковыми переменными
- •8.2.1 Присваивание
- •8.2.2 Сравнение
- •8.2.3 Сложение
- •8.2.4 Преобразование строка ↔число
- •8.2.5 Обработка строк
- •Рекомендации
- •Удачи и терпения! Список используемой литературы
5.2 Оператор выбора
Если условный оператор напоминает дорожную развилку, то оператор выбора – это разделение пути на множество дорог, по одной из которых пойдет выполнение программы.
Общий вид оператора выбора:
Полная форма |
Краткая форма |
Case <переменная выбора> of <значение1>:< оператор1>; < значение2>:< оператор2>; … < значениеN>:<операторN> else <операторN+1>; end; {Case} |
Case <переменная выбора> of <значение1>:< оператор1>; < значение2>:< оператор2>; … < значениеN>:<операторN>; end; {Case} |
Примечание. Оператор Case – единственный, который в своем синтаксисе содержит служебное слово End без парного ему Begin. Поэтому рекомендуется всегда рядом с таким End ставить комментарий принадлежности к Case
Пример:
Case N of
1,2,12: writeln(‘Зима’);
3..5: writeln(‘Весна’);
6..8: writeln(‘Лето’);
9..11: writeln(‘Осень’)
else
writeln(‘Введенное число не является номером месяца’);
end; {Case}
Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.
Переменная выбора может быть любого перечислимого типа (любой целочисленный или тип char).
5.3 Цикл с параметром (For)
Оператор цикла с параметром вызывает повторяемое выполнение оператора тела цикла (что может быть составным оператором) для всех значений параметра (управляющей переменной) в границах заданного диапазона.
Общий вид:
а) для простого случая
For <переменная>:=<нач.значение> to <кон.значение> do <оператор>; |
б) для сложного случая
For <переменная>:=<нач.значение> to <кон.значение> do begin <оператор1>; <оператор2>; … <операторN>; End; |
Где <переменная> (параметр цикла) – переменная порядкового типа (integer, byte, иногда – char); <начальное значение> и <конечное значение> того же типа, что и <переменная>.
Параметр-Переменная получает начальное значение и делается проверка, не превышает ли значение переменной конечного значения. Если не превышает, выполняется операторы тела цикла, в противном случае цикл не выполняется. После завершения оператора тела цикла параметр-переменная получает следующее по порядку значение и все повторяется, начиная с проверки. Когда значение переменной становится равным конечному значению, оператор выполняется последний раз |
|
Например:
For i:=1 to 80 do
K:=K+3;
Операторы в теле цикла не должны изменять значения управляющей переменной (это является логической ошибкой). После выполнения оператора for значение управляющей переменной становится неопределенным, если только выполнение оператора for не было прервано с помощью оператора перехода.
Возможен вариант оператора For, когда управляющая переменная принимает последовательно убывающие значения.
Общий вид:
а) для простого случая For <переменная>:=<нач.значение> downto <кон.значение> <оператор>; |
б) для сложного случая For <переменная>:=<нач.значение> downto <кон.значение> do begin <оператор1>; <оператор2>; End; |
В данном случае, чтобы цикл выполнился хотя бы раз, начальное значение должно быть больше или равно конечному значению.
Например:
For k:=’Z’ downto ‘A’ do
Writeln(k);
При решении сложных задач часто встречаются «вложенные» циклы, когда
оператор, выполняемый в теле цикла, сам является циклом.
-
for i:=1 to 10 do
for j:=1 to 5 do
write(i);
При этом в каждом операторе For – своя управляющая
переменная-параметр
