Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

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

Массив строк типа STRING.

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

Массивы. Регулярные типы.

В простых типах данных каждое данное имеет свое название (идентификатор). В этом разделе вводится структурная взаимосвязь между данными, хранимыми в оперативной памяти путем организации массива, ...

Условные операторы в 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.

Комментарии  

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

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальВетвления в Паскаль