
- •Тема: Алгоритм. Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов. Исполнитель – черепашка. Система команд. Алгоритмическая структура следование.
- •Свойства алгоритма
- •Система команд черепашки в среде л-Граф:
- •Задание
- •Тема: Алгоритмическая структура повторение. Оператор цикла.
- •Задания
- •Тема: Понятие процедуры. Процедуры без параметров.
- •Задания
- •Тема: Использование переменных и арифметических выражений в среде «л-граф», процедуры с параметрами.
- •Задания
- •Тема: Практика решения задач на процедуры с параметрами
- •Задания
- •Тема: Структура ветвления «Если-То-Иначе»
- •Задания
- •Алфавит и синтаксис языка
- •Структура программы на языке Паскаль
- •Стандартные типы данных
- •Инструкция присваивания
- •Задания
- •Тема: Логические выражения. Переменные булевского типа. Логические операции.
- •Задания
- •Тема: Инструкции ввода-вывода.
- •Задания
- •Тема: Организация ветвлений в программе. Инструкция if...Then...Else.
- •Задания
- •Тема: Усечённая инструкция if...Then. Вложенные инструкции if...Then...Else.
- •Задания
- •Тема: Компьютерная графика. Стандартные графические процедуры.
- •Задания
- •Тема: Организация циклов в программах
- •Задания
- •Тема: Процедуры. Параметры процедур.
- •Задания
- •Тема: Практика решения задач. Нахождение суммы, произведения, количества чисел в последовательности, введенной с клавиатуры. Цикл-счетчик.
- •Задания
- •Список литературы
Тема: Организация ветвлений в программе. Инструкция if...Then...Else.
ложь
на улице
истина
Условная
холодно
структура
надеть
надеть
(ветвление)
плащ
пальто
Если — то - иначе
Ситуация, связанная с выбором одной из двух альтернатив, встречается в программировании довольно часто. В языке Паскаль структуре выбора соответствует инструкция IF...THEN...ELSE. (вызов <Ctrl>+<F8>)
Формат описания:
IF <логическое выражение> THEN <инструкция 1> ELSE <инструкция 2> ;
Порядок выполнения инструкции IF...THEN...ELSE:
сначала вычисляется значение логического выражения,
если значение выражения TRUE, то выполняется инструкция 1,
иначе (т.е. значение выражения FALSE), выполняется инструкция 2.
Пример 1. Даны два целых числа. Найти среди этих чисел максимальное значение.
program maximum ;
var
A, B : INTEGER ; MAX_NUM : INTEGER ;
begin
WRITE( ‘Введите 2 числа: ’ ) ;
READLN( A, B ) ;
IF A > B THEN
MAX _NUM:= A
ELSE
MAX _NUM:= B;
WRITELN( ‘Максимальное значение: ’, MAX _NUM ) ;
end;
В тех случаях, когда по правилам языка Паскаль необходимо использовать только одну инструкцию, а выполнить нужно несколько действий, применяется составная инструкция. Такая составная инструкция состоит из нескольких инструкций, объединённых операторными скобками BEGIN ... END.
. . . IF X<0 THEN BEGIN Y:=1; K:=K+1; END ELSE BEGIN WRITELN(‘OK’); K:=X; END;
П
ример
2.
Написать программу, которая определяет какой области принадлежит точка с координатами (X,Y), первой (I) или второй (II). Для простоты принять, что точка не попадает на границу областей.
Решение:
Необходимо ввести координаты точки (X,Y).
Определить какой области принадлежит точка
Вывести результат.
Программа может быть написана по-разному. Например, так:
PROGRAM ex1IF;
VAR x,y : INTEGER;
BEGIN { ******* MAIN PROGRAM ******* }
WRITELN('Введите координаты точки X,Y ');
READLN(X, Y);
IF X < 4 THEN
WRITELN('Точка с координатами (', x , ',', y , ') принадлежит 1 области)
ELSE
WRITELN('Точка с координатами (', x , ',', y , ') принадлежит 2 области);
END.
Или так:
PROGRAM ex1IF2;
VAR x,y : INTEGER;
ok : BOOLEAN;
BEGIN { ******* MAIN PROGRAM ******* }
WRITELN('Введите координаты точки X,Y ');
READLN(X, Y);
OK:= X<4;
IF OK THEN
WRITELN('Точка с координатами (', x , ',', y , ') принадлежит 1 области)
ELSE
WRITELN('Точка с координатами (', x , ',', y , ') принадлежит 2 области);
END.
Пример 3.
Пусть надо написать программу, которая по заданному значению X вычисляет значение Y. Зависимость Y(X) представлена графиком.
PROGRAM ex3IF;
VAR x,y : INTEGER;
BEGIN { ******* MAIN PROGRAM ******* }
WRITELN('Введите
X');
READLN(X);
IF X < 2 THEN
Y:=X
ELSE
Y:=2;
WRITELN('При X=', x ,' y= ', Y) ;
END.
Пример 4.
Определить является ли число a делителем числа b.
PROGRAM ex4IF;
VAR a, b : INTEGER;
BEGIN { ******* MAIN PROGRAM ******* }
WRITELN('Введите два числа a и b ');
READLN(a, b);
IF (b mod a)=0 THEN
WRITELN('Число ', a , ' является делителем числа ', b)
ELSE
WRITELN('Число ', a , ' не является делителем числа ', b);
END.
Пример 5.
Дано целое двухзначное число K. Определить, является ли сумма его цифр двузначным числом.
PROGRAM ex4IF;
VAR a : INTEGER;
BEGIN { ******* MAIN PROGRAM ******* }
WRITELN('Введите двухзначное число a ');
READLN(a);
IF (a mod 10 + a div 10) div 10 <> 0 THEN
WRITELN('Сумма цифр числа ', a , ' - двухзначное число')
ELSE
WRITELN('Сумма цифр числа ', a , ' - однозначное число');
END.