Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Блок- IF






Синтаксис:

IF условие THEN

… оператор1

……

оператор N

ELSE

… оператор2

….

операторM

END IF

Необходимо четко различать блок и оператор IF. Если в строке после THEN записан хотя бы один оператор, то такая конструкция считается оператором IF. Следующий после нее оператор выполняется безусловно.

Пример: (строки пронумерованы для удобства разбора программы)

10 IF A< > 0 THEN D=B/A

20 X=X+D

ELSE

40 D=B

50 X=D^2

END IF

Программист, написавший такую конструкцию, надеется, что строка с номером 20 выполняется только при A¹ 0. На самом деле, она выполняется при любом А, а встретив в строке 30 предложение ELSE, компилятор выдаст сообщение об ошибке: «ELSE без IF», так как не отнесет его к IF в строке 10. Аналогичная реакция последует и в строке 60.

Правильная запись этого фрагмента программы:

10 IF A< > 0 THEN

20 D=B/A

30 X=X+D

ELSE

40 D=B

50 X=D^2

END IF

STOP – оператор логического конца программы. Им можно воспользоваться в том случае, когда программа должна быть завершена досрочно.

После того, как вы познакомились с операторами необходимыми для написания программ с ветвлением, напишем программу по алгоритму, представленному на рис.3.

Программная реализация ветвящегося алгоритма рис.3.

INPUT “Пароль! ”, P$

If P$=”39w54” THEN

Print “Пароль неверен! Программа выполняться не будет! ”: STOP

END IF

PRINT Здравствуйте»

< < Здесь может быть любая программа> >

END

Рассмотрим еще задачи.

Задача 1.

Вводится информация о количестве свободных одноместных и двухместных номеров в отеле. Вычислить и вывести, каких свободных номеров больше и на сколько.

Описание алгоритма:

1. вводятся значения количеств свободных одноместных К1и двухместных номеров К2;

2. введенные значения проверяются на равенство К1 = К2;

3. если условие равенства выполняется, то выводится сообщение «К1 = К2» и программа останавливается;

4. если условие равенства не выполняется, то проверяется условие K1> K2;

5. если условие K1> K2 выполняется, то вычисляется значение переменной N по формуле N=К1-К2, то есть, на сколько одноместных номеров больше, чем двухместных, и выводится результат с соответствующим сообщением;

6. если условие K1> K2 не выполняется, то вычисляется значение переменной N по формуле К2-К1, то есть на сколько одноместных номеров больше, чем двухместных, и выводится результат с соответствующим сообщением;

Блок-схема алгоритма представлена на рис.4.


 

 


Рис.4. Блок-схема алгоритма к задаче 1.

 

Программа

Input “Введите количество 1-х местных номеров ”, K1

Input “Введите количество 2-х местных номеров”, K2

If K1=K2 Then Print “Одноместных и двухместных номеров поровну”: Stop

If K1> K2 Then

N=K1-K2

Print “1-местных больше”

Else

N=K2-K1

Print “2-местных больше”

ENDIF

 

Print “на ”, N, “ номеров”

End

 

Задача 2.

Вводится информация о стоимостях встречи Рождества в Париже, Риме и Лондоне. Вычислить и вывести, поездка в какой город самая дорогая.

Описание алгоритма:

1. вводятся стоимости поездок в Париж, Лондон, Рим, S1, S2, S3;

2. сравниваются стоимости поездок в Париж и Лондон – проверятся условие S1> S2;

3. если оно выполняется, то дороже Париж, тогда MAX=S1 и N$=”Париж”;

4. если условие не выполняется, то дороже Лондон, тогда MAX=S2 и N$=”Лондон”;

5. сравнивается вычисленное максимальное значение стоимости со стоимостью поездки в Рим – условие S3> MAX;

6. если оно выполняется, то дороже Рим, тогда MAX=S3: N$=”Рим”;

7. в противном случае значение переменной MAX остается без изменения;

8. выводится результат “Самая дорогая поездка в ” N$ “ стоимостью ” MAX

Блок-схема алгоритма представлена на рис.5.


 


Рис.5. Блок-схема алгоритма решения задачи 2.

 

Программа

INPUT “Стоимости поездок в Париж, Лондон, Рим ”, S1, S2, S3

IF S1> S2 THEN MAX=S1: N$=”Париж” ELSE MAX=S2: N$=”Лондон”

IF S3> MAX THEN MAX=S3: N$=”Рим”

PRINT “Самая дорогая поездка в ”, N$, “ стоимостью ”, MAX

END


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал