Логические и символьные константы.

В данном уроке будет рассмотрено применение логических и символных констант. Логическая константа может принимать только 2 значения, либо True, либо False. В качестве значения символьной константы могут использоваться любые символы, которые есть в ...

Процедуры Dec и Inc в Pascal.

При работе с целыми числами используются процедуры DEC и INC. Процедура Dec уменьшает число на определенное значение, а процедура Inc увеличивает число на определенное значение.

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Циклы и массивы

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

Работа со строковыми данными.

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

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

 
program vetvlenija3;
uses crt;
var A, B, C, D:real;
begin 
clrscr;
write ('Введите коэффициенты A,B,C: ');
readln (A,B,C);
D:=sqr(B)-4*A*C;
if D>=0 then 
 if D>0 then 
  writeln ('Два вещественных корня') 
 else 
  writeln ('Один вещественный корень') 
else
 writeln ('Нет вещественных корней');
readln
end. 

В строке №8 вводим формулу для расчета дискриминанта. Как известно, он вычисляется по формуле D=b2 - 4ac. При записи на языке Паскаль получается выражение «sqr(B)-4*A*C». Результат этого выражения сохраняем в переменной «D»

В строке №9 проверяем 1-ое условие: если «D» больше либо равно 0, тогда начинает проверяться 2-ое условие (строка №10) о том, что «D» больше 0. Если 2-ое условие выполняется, то на экран выводится сообщение «Два вещественных корня» (строка №11). Если 2-ое условие не выполняется (строка №12), то на экран выводится сообщение в строке №13.

Строка №14. Если не выполняется 1-ое условие, то на экран выводится сообщение в строке №15.
Таким образом, нам необходимо усвоить, что если мы используем вложенный оператор If, то последний Else в программе относится к первому If, предпоследний Else – ко второму If и т.д.

vlozhennihyj operator if

Запускаем и вводим, например, 4, 8, 2 через пробел и нажимаем Enter.

vlozhennihyj operator if.


При использовании условного оператора If следует учитывать, что после служебного слова Then может стоять только один оператор (например, оператор вывода на экран Writeln, как в примере №20). Если же нам необходимо использовать несколько операторов, то их необходимо взять в блок begin..end. Для наглядности рассмотрим следующий пример.

Использование Begin…end для If.

program vetvlenija;
uses crt;
var A,B,C,D,X1,X2:real;
begin
clrscr;
write (‘Введите коэффициенты A,B,C:  ’);
readln (A,B,C);
D:=sqr(B)-4*A*C;
if D>=0 then
if D>0 then
begin
X1:=(-B+sqrt(D))/(2*A);
X2:=(-B-sqrt(D))/(2*A);
writeln (‘Два вещественных корня ’,X1:6:2,X2:6:2)
end
else
writeln (‘Один вещественный корень ’,-B/2*A)
else
writeln (‘Нет вещественных корней’);
readln
end.

Данный пример отличается от предыдущего примера тем, что здесь помимо нахождения количества корней квадратного уравнения, нужно посчитать эти корни и вывести их на экран. Таким образом, при выполнении условия в строке №9, т.е. когда дискриминант больше 0 (и соответственно уравнение содержит 2 корня) у нас после слова Then должно выполняться сразу 3 действия: операции присваивания (строка №12 и №13) и операция вывода на экран (строка №14). Все эти 3 оператора мы должны заключить в составной оператор Begin..end. Если этого не сделать, то при выполнении условия в строке №10 будет выполнен лишь один оператор, который непосредственно стоит после слова Then. Все 3 оператора должны разделяться между собой точкой с запятой. Перед словом End точку с запятой ставить не обязательно. Обратите внимание, что в строке №14 мы выводим на экран значения сразу 2-х переменных: «X1» и «X2». Эти переменные разделяются между собой запятой.

В строке №17 мы выводим на экран не конкретную переменную, а результат операции «-B/2*A». Это действие будет выполнено в том случае, если уравнение имеет один вещественный корень.

begin..end dlja if

begin..end dlja if.

Комментарии  

 
0 # Нео 16.12.2012 13:15
После изучения етого и моих знаниях о циклах в JS и PHP я смог написать прогу которая вытерает ненужные пропуски и ноли.
Т.к. паскаль достаточно примитивный при вводи розрядности 2 после ноля он будет писать натуральные числа так: N.00 я ето исправил в своей проге для любых чисел. 8)
Хотя мне всеравно кажется что ета прога ненужная и в паскале оно само должно исправляться на N из N.00 :-)
Подскажите кто знает как так сделать ;-)
 
 
+2 # Рома 20.12.2012 16:20
5 класс а ничё такой
 
 
+2 # софия 28.04.2014 16:14
:-* :-* :sigh: :sigh: :eek: :eek: ооойййй как трудно
 
 
+1 # Анатолий 20.01.2015 12:12
что значит if D=0 then ?
 
 
0 # Давид 26.03.2016 18:03
А в 17 строке, 2 примера, Там точное правило нахождения вещественного корня?
:-?
 
   ГлавнаяПаскальВетвления в ПаскальИспользование вложенного оператора If.