Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi через Прат.doc
Скачиваний:
2
Добавлен:
14.11.2019
Размер:
631.81 Кб
Скачать

1952 Hudson Hornet

1951 Kaiser

  1. Напишите программу, использующую вложенные циклы, которая запрашивает ввод количества отображаемых строк. Затем она отображает указанное количество строк, заполненных звездочками. Причем количество звездочек в строке соответствует ее порядковому номеру. Перед звездочками вставляются точки так, чтобы в каждой строке общее количество символов было равно указанному количеству строк.

How many line? 5

....*

...**

..***

.****

*****

5. Операторы ветвления и логические операции

При разработке программ с развитой логикой очень важно наделить их способностью принимать решения.

Оператор if

Когда в программе необходимо принять решение о том, выполнять или нет определенное действие, можно использовать оператор if. Этот оператор имеет две формы: if и if else. Вначале рассмотрим более простую форму — if. Она подобна обычной языковой конструкции типа "Если у вас есть карточка капитана Кука, вы получите бесплатное печенье". Оператор if указывает программе выполнить оператор или группу операторов, если проверочное условие истинно, и пропустить этот оператор или группу операторов, если условие ложно. Таким образом, оператор if позволяет программе принять решение, следует ли выполнять определенный оператор. Синтаксис этой формы оператора if аналогичен синтаксису оператора while:

If проверяемое_условие then

оператор;

Если проверяемое условие вычисляется как истинное, программа выполняет оператор. Это может быть одиночный оператор или блок. Ложное значение проверяемого условия приводит к тому, что программа пропускает оператор. Вся конструкция if считается единым оператором.

Чаше всего проверяемое условие — это выражение сравнения, подобное тем, которые используются для управления циклами. Предположим, что необходимо написать программу, подсчитывающую количество пробелов и общее количество символов вводимых данных.

Листинг 5.1

//использование оператора if

program Project2;

{$APPTYPE CONSOLE}

var

s: String;

spaces: Integer = 0;

total: Integer = 0;

i: Integer;

begin

Readln(s);

for i := 1 to Length(s) do

begin

if s[i] = ' ' then

Inc(spaces);

Inc(total);

end;

WriteLn(spaces, ' spaces, ', total, ' charaters total in sentence');

Readln;

end.

Результат:

this is a map

3 Spaces, 13 charaters total in sentence

Как понятно из комментариев, оператор Inc(spaces) выполняется только в том случае, если s[i] — пробел. А оператор Inc(total) выполняется при каждой итерации цикла, поскольку он находится вне оператора if.

Оператор if else

Оператор if позволяет программе определиться с тем, должен или нет выполняться определенный оператор или блок, a if else — решить, какой из двух операторов или блоков должен выполняться. Этот оператор незаменим для создания взаимоисключающих последовательностей действий. Оператор if else моделирует языковую конструкцию типа "Если у вас есть карточка капитана Кука, вы получите особо вкусное печенье, в противном случае вы получите обычное печенье". Общая форма этого оператора выглядит следующим образом:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]