Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по программированию.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
682.73 Кб
Скачать

Экзаменационный вопрос № 22. Программа вычисления корней квадратного уравнения

Задание. Составить программу для вычисления всех действительных корней квадратного уравнения 2  BX + C = 0, в котором параметр A(T) изменяется по закону, указанному.

Исходные данные.

A = A(T) = sin(T), отрезок изменения T [–0,5; 1], шаг изменения H = 0,3,

B = 0,1, C = 1.

Код программы.

PROGRAM primer4;

CONST

B = 0.1;

C = 1.0;

H = 0.3;

VAR

A,T,X1,X2,D : REAL;

BEGIN

T:=-0.5;

WHILE T<=1 DO

BEGIN

A:=SIN(T); {блок вычисления A}

WRITE('T =', T:6:3,', A =',A:6:3);

IF A<>0 THEN

BEGIN {вид AX2 + BX + C = 0}

D:=B*B-4*A*C; {вычисление дискриминанта}

IF D<0 THEN

WRITELN('Действительных корней нет')

ELSE IF D > 0 THEN

BEGIN {два корня}

X1:=(-B+SQRT(D))/(2*A); {первый корень}

X2:=(-B– SQRT(D))/(2*A); {второй корень}

WRITELN('X1 =', X1:6:4,', X2 =',X2:6:4); {вывод корней}

END

ELSE

BEGIN {один корень}

X1:=–B/(2*A);

WRITELN('X1 = X2 = ', X1:6:4'); {вывод корня}

END;

END;

ELSE

IF B< >0 THEN {вид BX + C = 0}

BEGIN

X1:=-C/B;

WRITELN('X =', X1:6:4); {вывод корня}

END

ELSE

IF C< >0

THEN WRITELN ('корней нет');

ELSE WRITELN ('X — любое число');

T:=T+H;

END;

END.

Экзаменационный вопрос № 23. Программирование разветвляющихся структур с использованием в цикле операторов repeat – until

Оператор цикла с постусловием записывается следующим образом:

REPEAT <оператор> UNTIL <условие>;

Цикл REPEAT <оператор> функционирует, пока не выполнится <условие> (до значения «ложь»). Последовательность операторов между REPEAT и UNTIL реализуется как минимум один раз, т. е. сначала выполняется оператор, потом проверяется условие. Предыдущий пример можно переписать с помощью цикла REPEAT...UNTIL так:

X:=1;

REPEAT X:=X+0.5 UNTIL X>=10;

З адание. Составить программу для вычисления значений функции Y = eU + V, где X изменяется от 0 с шагом H. Цикл заканчивается при первом отрицательном значении Y. Функции U, V и шаг H даны. Исходные данные:.

V =

A + X, если X > A,

A – 2X, если X <= A,

U = 27,1 + A,

A = 4, H = 0,3.

Код программы.

PROGRAM primer5;

CONST

A=4;

H=0.3;

VAR {блок описания данных}

U,V,X,Y : REAL;

BEGIN {блок вычислений}

U:=27.1+A; {вычисление значения функции U}

X:=0;

REPEAT {начало цикла}

IF X>A {вычисление значения функции V}

THEN V:=A+X

ELSE V:=A–2*X;

Y=-EXP(X)+U+V; {вычисление значения функции Y}

{блок вывода информации}

WRITELN('При X = ',X:6:3,', Y = ',Y:6:3);

X:=X+H; {изменение значения параметра цикла}

UNTIL Y<0; {конец цикла}

END.