Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по TURBO PASCAL.doc
Скачиваний:
18
Добавлен:
04.11.2018
Размер:
1.13 Mб
Скачать
    1. Самостоятельные задания

  1. В трёхзначном числе поменять местами первую и среднюю цифры.

  2. В середину двузначного числа вставить две двойки.

  3. Из трёхзначного числа «вычеркнуть» среднюю цифру.

  4. Выделить из семизначного числа среднюю цифру.

  5. В семизначном числе поменять местами 2 и 5 цифры, а также 3 и 4.

  6. В пятизначное число вставить двойку после первой цифры и тройку после третьей цифры.

  1. Условный оператор

Программы, которые мы составляли до сих пор, можно сравнить с автомобилем, который может ехать только прямо. Далеко на таком автомобиле не уедешь. Надо уметь поворачивать. Для таких «поворотов» используется условный оператор if. Он позволяет изменять ход выполнения программы, в зависимости от некоторых условий.

Формат записи условного оператора:

if <условие>

Then <оператор1>

Else <оператор2>

Здесь <условие> – некоторое утверждение, относительно которого можно сказать: истинно оно или ложно. При выполнении условного оператора компьютер проверяет <условие>. Если оно верно, то выполняется <оператор1>, после чего выполнение условного оператора завершается. Если условие не верно, то компьютер выполняет <оператор2>.

    1. Что такое условие?

Итак, условие или высказывание – это некоторое утверждение относительно которого можно сказать: истинно оно или ложно.

Примеры высказываний: “светит солнце”; “мне сейчас хорошо”; “сегодня пятница триннадцатое”. Относительно любого из упомянутых высказываний можно сказать: истинны они или нет на данный момент. А вот фразы: “сколько тебе лет?”; “Быть или не быть, вот в чём вопрос?” высказываниями не являются, так как требуют более подробного ответа, чем "Да" или "Нет". Либо совсем не требуют ответа. Приведите сами несколько примеров высказываний.

Теперь посмотрим, что может быть высказыванием (условием) в языке программирования. Самый простой случай – это сравнение двух чисел, например, утверждение «5 больше, чем 3» – это утверждение истинно. Все эти условия и способы их записи в языке Паскаль приведены в таблице:

Таблица 3. Математические условия

Математичес-кая запись

Наименование

Запись в языке Паскаль

a = b

равно

a = b

a > b

больше

a > b

a < b

меньше

a < b

a ≥ b

больше или равно

a >= b

a ≤ b

меньше илии равно

a <= b

a ≠ b

не равно

a <> b

В языке Паскаль существуют условия-константы, которые всегда имеют одно и то же значение. Это утверждение-константа True, которая всегда истинна, и False, которая всегда ложна.

Примеры условий и их значений:

5 > 3

истинно

4 <= 4

истинно

a+1 = a

ложно

a <> a

ложно

True

истинно

False

ложно

Примеры выражений, которые не являются условиями:

5 + 5

Это арифметическое выражение целого типа

a + b

Это тоже некоторое выражение нелогического типа, так как логические выражения нельзя складывать операцией "+".

a := 5

Оператор присваивания (как и любой другой оператор) не может быть условием.

Приведём пример использования условного оператора:

if nashi > vashi

Then writeln (’Победа за нами! Ура!!!’)

Else writeln (’Главное – не победа, а участие!’);

При выполнении этого условного оператора компьютер напечатает ликующую фразу, если "наши" набрали больше очков, чем "ваши" (условие nashi>vashi верно), либо ободряющий лозунг в обратном случае (условие nashi>vashi не верно, то есть либо nashi<vashi, либо nashi=vashi).

Обратите внимание, что точка с запятой перед служебным словом else не ставится, потому что точка с запятой используется только для разделения операторов друг от друга, а структура ifthenelse – это один оператор, хотя он и содержит в себе два других. Точка с запятой ставится только в конце условного оператора.

Ещё раз вернёмся к таблице с математическими учловиями. Вместо переменных а и b в условиях можно записывать любые другие переменные, константы или математические выражения. В этом случае выражения нужно заключать в скобки, например:

15 <= (d*x+y),

где вместо a записали константу 15, а вместо b выражение (d*x+y).

Давайте теперь вместе составим небольшую программу, которая попросит ввести два числа a и b, и найдёт из них максимальное. Для этого в условном операторе надо воспользоваться условием, при истинности которого можно будет утверждать, что одно число точно больше другого. Это условие "a > b". Если оно истинно, то максимальным будет число a, и его надо будет вывести на экран. Если это условие ложно, то либо максимальным будет число b, либо a и b равны между собой. В любом случае печатаем значение переменной b.

Вот программа, решающая эту задачу:

program Max_of_two_numbers;

var a, b : integer;

begin

write (’Введите два числа: ’);

readln (a, b);

if a > b

then writeln (’Max: ’, a)

else writeln (’Max: ’, b)

end.