Для чего нужны операторы if, then, else

Zhenekk

Хочу стать программистом, но сейчас учусь в школе и сам познаю азы программирования, поэтому моих вопросов будет очень много и они для вас будут легкими (я так думаю), надеюсь на них мне ответят. Прохожу тему про операторы if, then и else. Но никак не могу разобраться когда именно их надо писать, для чего они нужны? Может дадите пару примеров в виде кодов и объяснения, чтобы до конца разобраться. Так же в книге дан пример:
var 
        a, b, c : integer; 
     begin 
        write('Введите первое целое число '); readln(a); 
        write('Введите второе целое число '); readln(b); 
        if a < b  then c := 2*a 
                      else  c := 2*b; 
        writeln('Меньшее число ', c div 2); 
        writeln('Оно же увеличенное вдвое ', c) 
     end.
Мне интересно почему в строке "writeln('Меньшее число ', c div 2); " стоит div. Ведь div - это целое число, которое получилось в результате деления. А в коде деления нет.Кто-нибудь ответит на мой вопрос?
9 ответов

Zhenekk

Zhenekk, div это и есть оператор деления на цело т.е если взять 17 делить на 4 получится 4 без остатка,для получения остатка существует оператор mod
Прохожу тему про операторы if, then и else. Но никак не могу разобраться когда именно их надо писать, для чего они нужны?
Когда надо проверять какое нить утверждение например
write('Введите число: ');readln(n);
write('Введённое число: ');
if n<0 then write('отрицательное')
 else write('положительное');


Zhenekk

Во-первых, советую для изучения использовать сразу несколько книг. По поводу конструкции
If <условие> then
  begin
     //1-я группа операторов. Сюда мы попадем если <условие> выполняется 
  end
Else
  begin
     //2-я группа операторов. Сюда мы попадем если <условие> НЕ выполняется 
  end;
Это довольно распространенная логическая конструкция, позволяющая выполнять одну из групп операторов в зависимости от того, выполняется или нет условие, записаное сразу после оператора IF. Например, где-то на подходе к этой конструкции в некоторой переменной a находится некоторое число и нам нужно, чтобы программа сообщила нам, больше это число числа 100, или меньше:
If a>100 then
  begin
     WriteLn('Число больше 100'); //Сюда мы попадем если a>100
  end
Else
  begin
     WriteLn('Число меньше 100'); //Сюда мы попадем если a<=100
  end;


Zhenekk

If a>100 then
  begin
     WriteLn('Число больше 100'); //Сюда мы попадем если a>100
  end
Else
  begin
     WriteLn('Число меньше 100'); //Сюда мы попадем если a<=100
  end;
А зачем end и begin два раза ставить? Я так не делаю.


Zhenekk

А зачем end и begin два раза ставить? Я так не делаю.
Их можно не ставить если у вас всего один оператор будет использоваться а вот если вы хотите делать более 1 действия то надо заключать в операторные скобки Begin End


Zhenekk

подскажыте пожалуйста! в операторе if можна использовать только выражения типа BOOLEAN да?? а то мне написать прогу с помощью If и паскаль выдаетчто-то такое: BOOLEAN expected. Это ж препод мне дал прогу написать. Я б написала с помощью Case но надо if!!


Zhenekk

в операторе if можна использовать только выражения типа BOOLEAN да??
Совсем нет, главное что результат логический
if a>b then max:=a else max:=b;
Здесь нигде не используются логические выражения, но суть if a>b логическая. Вероятно Вы что-то упустили в коде...Должен быть знак >< или=


Zhenekk

Не ожыдала на такой быстрый ответ! спасибо!!уже все работает)


Zhenekk

данные операторы используют для ветвления(раздвоения) программы. Чаще всего используют их для программирования искусственного интелекта(бот). if (если) <условие> then (если условие верно) else (если условие неверно) пример a:=0; if a = 2 then a:=a+2 else a:=2; примечание:перед else знак ';' не ставится. Вроде все))


Zhenekk

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