- •ЛАБОРАТОРНАЯ РАБОТА № 1
- •Теоретический материал
- •1.2. Интерфейс IDE
- •1.3. Комбинации клавиш
- •2. Подготовка текста программы
- •2.5. Удаление фрагмента текста
- •ЛАБОРАТОРНАЯ РАБОТА № 2
- •Теоретический материал
- •Константа (англ. constant) – это величина, значения которой не изменяются в период ее существования. Значения переменных предварительно описываются в разделе описания переменных CONST.
- •2.1. Простые типы данных
- •5. Вычисление выражений
- •Задача 2
- •Задача 3
- •Необходимо ввести и вывести на печать два целых числа и два вещественных числа:
- •ЛАБОРАТОРНАЯ РАБОТА № 3
- •Теоретический материал
- •Допускается опускать служебное слово ELSE:
- •Задача 2
- •Задача 3
- •Program Lab3_3_2; {Случай 2}
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Теоретический материал
- •ЛАБОРАТОРНАЯ РАБОТА № 5
- •ОРГАНИЗАЦИЯ РАБОТЫ ПРОГРАММ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
- •Теоретический материал
- •Задача 1
- •Задача 2
- •Рассмотрим программу с использованием оператора цикла с предусловием, когда в качестве логического < Условия > стоит выражение 2*A < = 3*N +1.
- •Program Lab5_2;
- •Задача 4
- •6. Вложенные циклы
- •8. Практическое задание – решение задач с использованием операторов цикла
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •ОРГАНИЗАЦИЯ ИТЕРАЦИОННЫХ ЦИКЛОВ В ПРОГРАММЕ
- •Теоретический материал
- •Задача 1
- •Задача 2
- •Пояснения к задаче 2
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Теоретический материал
- •Таблица 14
- •Задача 3
- •Задача 4
- •Задача 5
- •Умножить на 3 каждый элемент массива и получить результат на экране дисплея распечатанным по строкам.
- •5. Практическое задание – решение задач с использованием массивов
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант16
- •ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ TURBO PASCAL
2.2. Сокращенная форма записи оператора IF
Допускается опускать служебное слово ELSE:
IF < условие > THEN < оператор 1 >;
Альтернативная конструкция отсутствует и заменена точкой с запятой, т. е. если логическое «условие» ложно, то ничто не выполняется; если логическое «условие» истинно, то выполняется < оператор 1 >.
Схематично этот случай изображается так:
Рис. 10. Сокращенная форма оператора ветвления
Задача 2
Вычислить значение функции f(x) в зависимости от значения аргумента Х. Условие задачи представлено на рис. 11.
Рис. 11. Схематичное изображение задачи 2
Решение будет следующим: Program Lab3_2;
Uses Crt; Var X,Y: real; Begin
ClrScr; WriteLn('Введите x');
Read(x);
40
If x > 0 Then y: = x;
If x = 0 Then y: = 0;
If x < 0 Then y: = –sqr(x);
WriteLn ('значение x =', х);
WriteLn('значение f(x) =', y);
ReadLn;
End.
2.3. Cоставной оператор
Если после Then или Else необходимо выполнить действия, описанные несколькими операторами, то эти операторы должны быть заключены в операторные скобки begin – end. Такая конструкция называется составным оператором.
1)IF < условие > THEN begin
<оператор 1 >;
<оператор 2 >;
………………
<оператор n >; end
ELSE
<оператор >;
2)IF < условие > THEN < оператор > ELSE
begin
<оператор 1 >;
<оператор 2 >;
………………
<оператор n >;
end;
3) IF < условие > THEN begin
<оператор 1 >;
<оператор 2 >;
………….
<оператор n >; end
ELSE begin
<оператор 1 >;
<оператор 2 >;
………….
<оператор n >; end;
41
В случае группы действий за then или else используем операторные скобки.
Обратите внимание на синтаксис: между словами begin и end стоят операторы, следуя правилу языка Паскаль: они отделены точкой с запятой.
Перед словом ELSE точки с запятой не может быть, так как это один оператор, состоящий из слов IF...THEN...ELSE.
2.4. Вложенные операторы IF
Задача 3
Определить, попадает ли число Х в интервал от –2 до 13. Мы должны проверить два условия:
1)Х должно быть больше –2. Если это условие является истиной, то проверяем второе условие;
2)Х должно быть меньше 13. В том случае, когда оба условия выполняются, мы можем сказать, что данное значение Х удовлетворяет условию: –2 < x < 13.
Как это записать? Рассмотрим три программы для решения этой задачи.
Program Lab3_3_1; {Случай 1} {Попадает ли Х в интервал –2 < X < 13} Uses Crt;
Var X: Integer; Begin
ClrScr;
WriteLn('Программа вычисляет попадание Х в интервал'); WriteLn('Введи X');
Read(X);
If (X > –2) Then
If (X < 13) Then
WriteLn ('Х = ', X, 'попадает в интервал')
Else
WriteLn('Х > = 13 – не попадает в интервал', ' X = ', X)
Else
WriteLn('Х < = – 2 – не попадает в интервал', ' X = ', X);
ReadKey;
End.
Здесь мы видим, что два оператора IF вложены друг в друга. Вложенность операторов IF неограниченна.
Program Lab3_3_2; {Случай 2}
{Попадает ли Х в интервал –2 < X < 13}
Uses Crt;
Var X: Integer;
42
Begin ClrScr;
WriteLn('Программа вычисляет попадание Х в интервал') WriteLn('Введи X');
Read(X);
If (X > –2) And (X< 13) Then
WriteLn('Х = ', X,' попадает в интервал') Else
WriteLn('не попадает в интервал, т.к.', 'X = ', X);
ReadKey;
End.
Program Lab3_3_3; {Случай 3} {Попадает ли Х в интервал –2 < X < 13} Uses Crt;
Var X: Integer; Begin
ClrScr;
WriteLn ('программа вычисляет попадание Х в интервал'); WriteLn ('Введи X');
Read (X);
If (X > –2) And (X < 13) Then
Begin {2} Write ('Х = ', X);
Write (' Попадает в интервал'); End {2}
Else
Begin {3} Write ('Х = ', X);
Write (' Не попадает в интервал'); End; {3}
ReadKey;
End.
Дадим некоторые пояснения к программе (случай 3). Из-за наличия двух операторов после THEN (два оператора вывода Write) в программе стоят операторные скобки Begin – End. Фигурные скобки с номерами {2}, {3} стоят для наглядности , они не являются обязательными, их можно опустить.
Begin {2}
…………
End {2}
43
Аналогично для Else стоят операторные скобки: Begin {3}
…………
End; {3}
Приведем еще две задачи, демонстрирующие некоторые способы использования оператора IF.
Задача 4
Получить максимальное число из трех целых чисел. Составим блок-схему решения задачи (рис. 12).
max : = Y
max < Z
max : = X
max : = Z
Рис. 12. Выбор максимального числа из трех
Program Lab3_4;{Максимальное число из трех целых чисел} Var X, Y, Z: integer;
max: integer;
44
Begin
Write('Введите X,Y,Z ', X,Y,Z); Read(A,B,C);
max: = X;
If X > Y then max: = X; Else max: = Y;
If (Z > max then max: = Z; WriteLn ('max =', max : 5 : 2);
End.
Пояснения к задаче 4
Сравниваем значения переменных Х и Y, выбираем из них большее и сохраняем значение большей переменной в переменной с именем max, затем значение переменной Z со значением переменной именем max, после чего опять выбираем большее значение.
Задача 5
Программа «Исторический тренажер» предлагает историческое событие и меню с выбором дат его свершения под номерами. Проверяется правильность ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже представлен вид экрана во время работы программы .
Архитектор Исаакиевского собора: Доминико Трезини – > 1 Огюст Монферран – > 2 Карл Росси – > 3
Введите номер правильного ответа и нажмите «Enter» – 3
––––––––––––––––––––––––––––––––––––––––––––––––––
Вы ошиблись:
архитектор Исаакиевского собора – Огюст Монферран.
Program Lab3_5;
{Проверка знания истории архитектуры} Uses Crt;
Var otv: integer; {Номер ответа} Begin
ClrScr;
WriteLn ('Архитектор Исаакиевского собора'); WriteLn ('Доминико Трезини – > 1');
WriteLn (‘Огюст Монферран – > 2'); WriteLn ('Карл Росси – > 3'); WriteLn ;
WriteLn ('Введите номер правильного ответа и нажмите «Enter» –'); Read (otv);
If otv = 2
45