- •Введение в object pascal
- •Лекция 1. Интегрированная Среда и Состав языка Object Pascal
- •1.1 Работа с окнами
- •1.2 Редактирование в Object Pascal
- •1.3 Команды меню
- •1.4 «Горячие» клавиши в Object Pascal
- •1.5 Состав языка
- •1.5.1 Алфавит и ключевые слова
- •1.5.2 Идентификаторы
- •1.5.3 Знаки операций, разделители, выражения и операторы
- •Лекция 2. Описательная часть программы
- •2.1 Структура программы
- •2.2 Описание констант
- •2.3 Описание и использование меток
- •2.4 Комментарии
- •Лекция 3. Описание переменных
- •3.1 Структура раздела описания переменных
- •3.2 Классификация типов данных
- •3.2.1 Целочисленные типы
- •3.2.2 Логический тип
- •3.2.3 Символьный тип
- •3.2.4 Вещественные типы
- •3.3 Описание типов пользователя
- •Лекция4. Выражения
- •4.1 Порядок выполнения операций
- •4.2 Выражения целого типа
- •4.3 Вещественные выражения
- •4.4 Логические выражения
- •Лекция 5. Программы Линейной структуры
- •5.1 Операторы ввода (Read, Readln)
- •5.2 Операторы вывода (Write, Writeln)
- •5.2.1 Форматирование численных значений
- •5.2.2 Вывод строковых, символьных и логических значений
- •5.2.3 Вывод вещественных значений в экспоненциальном формате
- •5.2.4 Расположение данного в поле вывода. Примеры
- •5.3 Оператор присваивания
- •5.4 Составной оператор
- •5.5 Стандартные процедуры и функции
- •5.5.1 Понятие процедуры и функции
- •5.5.2 Описание некоторых стандартных процедур и функций
- •5.5.3 Примеры программ линейной структуры
- •Лекция 6. Операторы ветвления (выбора)
- •6.1 Оператор ветвления if
- •6.2 Оператор множественного выбора (варианта) - case
- •Лекция 7. Операторы организации циклов
- •7.1 Цикл типа for
- •7.1.1 Прямая форма оператора for
- •7.1.2 Обратная форма оператора for
- •7.1.3 Советы для начинающих и примеры
- •7.2 Цикл типа While
- •7.3 Цикл типа Repeat... Until
- •7.4 Дополнительные операторы при программировании циклов
- •7.4.1 Досрочный выход из цикла - break
- •7.4.2 Переход к следующей итерации цикла - continue
- •Лекция 8. Массивы
- •8.1 Одномерные массивы
- •8.2 Сортировка одномерного массива
- •8.3 Массивы с большей размерностью
- •8.4 Констант-массивы
- •8.5 Генератор случайных чисел
- •8.5.1 Описание функции Random
- •8.5.2 Применение случайных чисел при работе с массивами
- •Лекция 9. Строки
- •9.1 Строковый тип
- •9.2 Операции над строками
- •Лекция 10. Записи и множества
- •10.1 Запись
- •10.2 Множества
- •11 Пользовательские процедуры и функции
- •11.1 Описание функции и процедуры
- •11.2 Понятие формальных и фактических параметров
- •11.3 Способы передачи параметров в подпрограмму через заголовок
- •11.4 Область видимости идентификаторов
- •12 Файлы
- •12.1 Основные понятия
- •12.2 Типизированные файлы
- •12.3 Текстовые файлы
5.5.3 Примеры программ линейной структуры
В общем случае в программе линейной структуры необходимо выполнить:
ввод исходных данных с клавиатуры, диска и т.п. устройств;
расчёты в соответствии с логикой задачи;
вывод на экран результатов расчётов.
Пример задачи. Найти площадь поверхности и объем шара, если известно, что длина его радиуса равна а.
Решение. Так как в задаче не указаны конкретные значения радиуса, то, следовательно, его значения могут быть самого общего типа – вещественные числа, а значения - произвольные. Ввод этих значений в программу проще всего выполнить с клавиатуры.
Далее, согласно известным формулам для площади и объёма шара, выполним расчёты площади и объёма. В заключение, программа должна вывести на экран значения площади и объёма шара, сопроводив эти числа поясняющим текстом.
На рис. 5.1 приведено окно с программой линейной структуры, решающей эту задачу.
Рис. 5.1. Пример программы линейной структуры
На рис. 5.2 приведено окно выполнения программы на рис. 5.1.
Рис. 5.2. Окно исполнения программы с рис. 5.1
Лекция 6. Операторы ветвления (выбора)
6.1 Оператор ветвления if
Оператор ветвления IF (иногда его называют оператором выбора или условным оператором) имеет следующую структуру:
If <выражение типа Boolean >
then <оператор(ы) 1>
else <оператор(ы) 2>;
Условный оператор в виде блок-схемы можно изобразить так, как это показано на рисунке 6.1. На этом рисунке В – это логическое выражение, чаще всего оно содержит операции отношения. Если В истинно, то выполняются действия 1, в ином случае – действие 2. Действие – это один или несколько операторов языка Object Pascal.
Да
Нет
then
часть:
Действие1
else
часть:
Действие 2
Рис.6.1. Блок-схема оператора IF
Приведённая выше конструкция оператора IF называется схемой с полным ветвлением. Возможна схема и неполного ветвления, когда отсутствует else – часть:
if <выражение типа Boolean > then <оператор(ы)>;
Блок-схема оператора IF с неполным ветвлением представлена на рис. 6.2. Пример полного ветвления:
if a > b then a:= 75 else b:= 75;
Пример неполного ветвления:
if (a < 0) or (b < 0) then a:= -934;
Рис.6.2. Блок-схема оператора IF с неполным ветвлением
Если возникает необходимость в then или else части выполнить несколько операторов, то они объединяются в один составной оператор.
Пример:
if (a < d) or (b < d) then
begin
writeln('d= ', d);
r:= d;
m:= a;
end
else
begin
writeln('l= ' , l);
r := l;
m: = t ;
n: = у;
end;
Заметим, что операторы if могут быть вложенными в друг друга. Решение следующей задачи использует именно такую конструкцию.
Задача. С клавиатуры вводятся три целых числа, вывести их на экран в порядке возрастания.
program р6_1;
var
a, b, c, xl, х2, хЗ : integer;
begin
WriteLn('Введите три числа: a, b, c');
Readln(a, b, c);
{ Сначало располагаем по возрастанию числа a и b }
if a < b then begin
x1 := a; x2 := b;
end
else begin
x1 := b; x2 := a;
end;
{ Далее, располагаем в порядке возрастания ещё и c }
if c < х1 then begin
x3 := x2; x2 := x1; x1 := c;
end
else { в else части помещается вложенный оператор if }
if c < x2 then begin
x3 := x2; x2 := c;
end
else x3 := c;
Writeln('Числа в порядке возрастания: ', x1, ' ' , x2, ' ' , x3);
end.