Цитата
я понял процедуры сразу
Ты конечно не обижайся, но код должен обладать массовостью, а не какой-то одной конкретно решеной задачей. Процедуры и функции вообще объединяются в модули, чтоб потом их можно было пользовать в различных программах. Поэтому мой тебе совет, заранее думай на сколько эта процедура применима для решения других задач. А вообще я советую переписать данную процедуру. Ну например только параметры
procedure writeRoots (a, b, c: real; Var x1, x2: real);
тогда хотяб вместо скверного одново вывода можешь получить хотяб значение корней. Можно добавить какой-нибудь flag типа boolean который будет сообщать имеет ли уравнение корни или нет.
А если ты парень хочешь узнать что есть процедура то гляди, щас я тебе объясню. Это фрагмент программы, можно сказать мини программка которая выполняет определенное действие. Например тоже считание корней квадратного уравнения. Соответственно есть понятие входных и выходных параметров. Входными параметрами называется те параметры с помощью которых ты можешь обработать и получить нужную тебе информацию. В данном случае эти параметры a, b, c. Выходные параметры, это те которые получила данная процедура, и готова передать соответствующие значения в основную программу. В данном случае это x1, x2. перел=д выходными параметрами ставится Var.
Используя все вышесказанное могу добавить следующее. Тело программы можно изменить так, отчего это будет наглядней
writeLn ('введите коэф. квадратного уравнения ->');
readLn (a1,b1,c1);
writeRoots (a1, b1, c1, x1, x2); {обращаюсь к данной процедуре, и получаю значения x1 и x2}
{можем еще раз вывести корни этого же уравнения уравнения, можем так же работать с этими корнями}
write (x1:5:2,' ',x2:5:2);
{а можно и так обратиться к этой процедуре}
writeRoots (5, -12, 7, x3, x4); {дело каждого}