#9 Быть или не быть? Учим Pascal делать выбор
Ответы на задания из предыдущей статьи Задание 1
Код
Uses Crt;
Var x,i:integer; Begin Write('Введите число - '); readln(x); For i:=1 to 10 do begin Writeln(x,'*',i,'=',x*i); end; End. Задание 2
Код
Uses Crt;
Var x,i,j:integer; Begin For j:=1 to 10 do begin For i:=1 to 10 do begin Write(i,'*',j,'=',i*j,' '); end; Writeln; end; End.
Оператор выбора If Представим следующую ситуацию: Лето. Жара. Вы захотели мороженного. В кармане у вас N рублей. Вы подходите к ларьку, торгующему мороженым и смотрите на ценники. Если вы находите мороженное, которое стоит N или меньше рублей, то вы покупаете его, но если мороженное в ларьке стоит больше чем N рублей, то вы не покупаете ничего. В данном случае события могут развиваться 2-мя различными путями, и ход этих событий зависит от того выполняется ли ваше условие. В нашем случае вопрос условия можно сформулировать так: "Мороженное стоит N или меньше рублей?". Если ответ "Да", то мороженное покупается, если "Нет", то вы не покупаете ничего.
Жалко, что роботы не едят мороженное. Но ведь алгоритмы с условием можно использовать в разных ситуациях! Самым простым из условных операторов является оператор If. Используя данный оператор вы можете заставить свою программу выполнять нужные вам команды лишь при выполнение какого-либо условия.
Краткая форма записи оператора If
Если при определённом условии нужно выполнить всего 1 команду, можно использовать следующую конструкцию:
Пример: Написать программу, которая запрашивает ввод числа, и если это число равно 2, умножает его на 10 и выводит результат на экран. Код
Uses Crt;
Var x:integer; Begin Write('введите число - '); Readln(x); If x=2 then Writeln(x*10); End. Протестируем программу:
Если же требуется выполнить несколько команд - на помощь придут операторные скобки, с которыми мы уже успели познакомиться в предыдущих статьях:
<команда_2>; <команда_3>; ... <команда_N>; end; Пример: Написать программу, которая запрашивает ввод числа, и если это число равно 2, выводит на экран сумму 2+10, разность 10-2, произведение 2*10.
Код
Uses Crt;
Var x:integer; Begin Write('введите число - '); Readln(x); If x=2 then begin Writeln(x+10); Writeln(10-x); Writeln(x*10); end; End. Запускаем программу:
Полная форма записи оператора If
Зачастую при составлении алгоритма программисту необходимо учитывать все варианты развития событий. А что если пользователь не захочет вводить цифру 2? Придётся писать команды и для остальных значений? В таком случае лучше использовать полную форму записи оператора If:
Или для нескольких команд:
<команда_2>; <команда_3>; ... <команда_N>; end Else begin
Пример: Составим программу, которая будет запрашивать ввод числа. Если число будет >0, программа должна вывести на экран фразу "Ваше число больше нуля". Если число будет <0, программа должна вывести на экран фразу "Ваше число меньше нуля".
Код
Uses Crt;
Var x:integer; Begin Write('введите число: '); Readln(x); If x>0 then Writeln('Ваше число больше нуля') Else Writeln('Ваше число меньше нуля'); End. Пример работы программы:
Задания для самостоятельной работы
Ваши вопросы и комментарии можете оставлять ниже.
Начинайте программировать прямо сейчас!
| |
Просмотров: 5560 | | |