Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

Циклы с параметром. Оператор FOR.

Эти циклы организуются в программах, где заранее известно число повторений. При этом повторное выполнение сопровождается изменением управляющего параметра (переменной цикла).

Тип данных Char.

Тип CHAR (литерный, символьный). Этот тип задает конечное упорядоченное множество символов (литер), допускаемое в конкретной реализации языка.

Условные операторы в 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 ?
 
 
+1 # Давид 26.03.2016 18:03
А в 17 строке, 2 примера, Там точное правило нахождения вещественного корня?
:-?
 
   ГлавнаяПаскальВетвления в ПаскальОператор выбора Case Of в Pascal.