Технологии программирования | страница 131
>Program Kvadrat;
>{ Программа решения квадратного уравнения
>вида a*x*x + b*x + c = 0 с произвольными значениями
>коэффициентов a, b, c типа вещественный }
>Uses
>Crt, Dos;
>Var
>a, b, c: Real; {Коэффициенты квадратного уравнения}
>xl, x2: Real; {Корни квадратного уравнения}
>dl: Real; {Значение дискриминанта}
>begin
>ClrScr; { Очистка экрана }
>{Вывод информации о назначении программы}
>WriteLn ('Программа решения квадратного уравнения');
>WriteLn (
>'вида a*x*x + b*x + c = 0 с произвольными', 'значениями');
>WriteLn ('коэффициентов a, b, c типа ', 'вещественный');
>WriteLn
>{Ввод значений коэффициентов a, b, c}
>Write ('Укажите значение коэффициента а = ');
>ReadLn(a); { Ввод а }
>Write ('Укажите значение коэффициента b = ');
>ReadLn(b); { Ввод b}
>Write ('Укажите значение коэффициента с = ');
>ReadLn(c); { Ввод с }
>{ Вывод проверочно-протокольной информации
>о введенных значениях коэффициентов a, b, c }
>WriteLn;
>WriteLn ('Решается квадратное уравнение');
>WriteLn (а:10:4, '*x*x + ', b:10:4, '*x + ',
>с:10:4, ' = 0:');
>{ Само решение квадратного уравнения }
>if (Abs (a) > 1e-6)
>then
>begin
>{ Продолжение решения с вычислением дискриминанта }
>{ Вычисление дискриминанта квадратного уравнения }
>d:= Sqr(b) — 4.0*а*с;
>{ Решение уравнения }
>if d > 1e-6
>then
>begin
>{ Расчет двух различных корней }
>x1:= (-b) — Sqrt(d)/(2.0*a);
>х2:= (-b) + Sqrt(d)/(2.0*a);
>Write ('два различных корня x1 = ',
>x1:10:4);
>WriteLn (' х2 = ', х2:10:4);
>end;
>if ((d >= -1e-6) and (d <= 1e-6))
>then
>WriteLn ('два равных корня х = ', (-b)/(2.0*a):10:4);
>if d < -1e-6 then
>WriteLn ('уравнение не имеет решения');
>end;
>if ((Abs(a) <= 1e-6) and (Abs(b) > 1e-6))
>then
>begin
>{ Решение линейного уравнения }
>x1:= — c/b;
>WriteLn ('уравнение линейное х = ', x1:10:4);
>end;
>if ((Abs(a) <= 1e-6) and (Abs(b) <= 1e-6 and
>(Abs(c) > 1e-6))
>then
>WriteLn ('Нет решения');
>if ((Abs(a) <= 1e-6 and (Abs(b) <= 1e-6 and
>(Abs(c) <= 1e-6))
>then
>begin
>Write ('Бесчисленное множество решений',
>'уравне');
>WriteLn ('ния (корни — любые числа)');
>end;
>WriteLn;
>Write ('Для завершения программы нажмите');
>WriteLn ('любую клавишу…');
>repeat until KeyPressed; { Цикл ожидания
>нажатия любой клавиши }
>end.
5.10. ПРИМЕР ВЫПОЛНЕНИЯ УЧЕБНОЙ РАБОТЫ "РАЗРАБОТКА АЛГОРИТМА УМНОЖЕНИЯ"
В качестве примера приводится учебная работа, выполненная одним из обучаемых. Работа была оформлена на отдельных листах формата A4. Курсивом выделены пояснения авторов учебника, которые были дополнительно ими внесены в текст работы.
Страница 1(без нумерации) представляет собой титульный лист с наименованием: "ЗАДАНИЕ НА СОСТАВЛЕНИЕ СТРУКТУРИРОВАННОГО АЛГОРИТМА".