#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.
 
Обратите внимание: в данной программе мы использовали конструкцию цикла в цикле. При этом цикл находящийся внутри выполняется ещё некоторое количество раз, в нашем случае 10. Таким образом команда, находящаяся в теле вложенного цикла была выполнена 100 раз.
 

Оператор выбора If

 
Представим следующую ситуацию: Лето. Жара. Вы захотели мороженного. В кармане у вас N рублей. Вы подходите к ларьку, торгующему мороженым и смотрите на ценники. Если вы находите мороженное, которое стоит N или меньше рублей, то вы покупаете его, но если мороженное в ларьке стоит больше чем N рублей, то вы не покупаете ничего. В данном случае события могут развиваться 2-мя различными путями, и ход этих событий зависит от того выполняется ли ваше условие. В нашем случае вопрос условия можно сформулировать так: "Мороженное стоит N или меньше рублей?". Если ответ "Да", то мороженное покупается, если "Нет", то вы не покупаете ничего.
Жалко, что роботы не едят мороженное. Но ведь алгоритмы с условием можно использовать в разных ситуациях! Самым простым из условных операторов является оператор If. Используя данный оператор вы можете заставить свою программу выполнять нужные вам команды лишь при выполнение какого-либо условия.
 
Краткая форма записи оператора If
 
Если при определённом условии нужно выполнить всего 1 команду, можно использовать следующую конструкцию:
 
If <условие> then <команда>;
 

Пример: Написать программу, которая запрашивает ввод числа, и если это число равно 2, умножает его на 10 и выводит результат на экран.

Код
Uses Crt;
Var x:integer;

Begin 
 Write('введите число - ');
 Readln(x);
 If x=2 then Writeln(x*10);

End.
 
Протестируем программу:
 
 
 
Если же требуется выполнить несколько команд - на помощь придут операторные скобки, с которыми мы уже успели познакомиться в предыдущих статьях:
 
If <условие> then
begin
  <команда_1>;
  <команда_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:
 
If <условие> then <команда_1>
Else <команда_2>;
 

Или для нескольких команд:

 
If <условие> then
begin
  <команда_1>;
  <команда_2>;
  <команда_3>;
   ...
  <команда_N>;
end
Else begin
  <команда_1>;
  <команда_2>;
  <команда_3>;
   ...
  <команда_N>;
end;
 
Обратите внимание: символ ";" перед оператором Else не ставится!
 
Пример: Составим программу, которая будет запрашивать ввод числа. Если число будет >0, программа должна вывести на экран фразу "Ваше число больше нуля". Если число будет <0, программа должна вывести на экран фразу "Ваше число меньше нуля".
Код
Uses Crt;
Var x:integer;

Begin 
 Write('введите число: ');
 Readln(x);
 If x>0 then Writeln('Ваше число больше нуля')
 Else Writeln('Ваше число меньше нуля'); 
End.
 
Пример работы программы:
 
 
 
Задания для самостоятельной работы
 
Задача 1. Составьте программу, которая запрашивает ввод числа, а затем числа большие нуля возводит в куб, а числа меньшие нуля - в квадрат. Результаты работы программа выводит на экран.
 
Задача 2. Используя цикл For напишите программу, которая запрашивает ввод числа, а затем производит вычисление факториала этого числа (факториал обозначается и равен произведению всех целых чисел от 1 до указанного числа, например: 6!=1*2*3*4*5*6=720). Примечание: программа должна работать лишь с числами которые больше нуля, в противном случае программа должна выводить на экран сообщение - "Запустите программу ещё раз и введите число >0".
 
 
Ваши вопросы и комментарии можете оставлять ниже.
Начинайте программировать прямо сейчас!
 
Категория: Первые шаги | Добавил: Decay_Dance (18.03.2014)
Просмотров: 5560 | Теги: наука детям, алгоритм с условием, программирование, Оператор выбора, If | Рейтинг: 0.0/0