
- •Экзаменационный вопрос №1 базовые понятия алгоритмизации
- •Экзаменационный вопрос №2 средства изображения алгоритмов
- •Экзаменационный вопрос № 3 базовые канонические структуры алгоритмов
- •Экзаменационный вопрос № 16. Общая характеристика языка программирования паскаль
- •Экзаменационный вопрос № 17. Программирование ввода-вывода данных различного типа
- •Экзаменационный вопрос № 18. Программирование линейных вычислительных процессов
- •Экзаменационный вопрос № 19. Программирование разветвляющихся вычислительных процессов с использованием if -then –else
- •Экзаменационный вопрос № 20. Программирование разветвляющихся вычислительных процессов с использованием оператора case
- •Экзаменационный вопрос № 21.
- •Экзаменационный вопрос № 22. Программа вычисления корней квадратного уравнения
- •Экзаменационный вопрос № 23. Программирование разветвляющихся структур с использованием в цикле операторов repeat – until
- •Экзаменационный вопрос № 24. Программа вычисления суммы бесконечного ряда
- •Экзаменационный вопрос № 25. Программирование циклических вычислительных структур
- •Экзаменационный вопрос № 26. Программирование с использованием цикла с параметрами
- •Экзаменационный вопрос № 27. Программирование циклов с постусловием
- •Экзаменационный вопрос № 28. Программирование с использованием подпрограмм
- •Экзаменационный вопрос № 29. Алгоритмы нахождения корней уравнений
- •Экзаменационный вопрос № 30. Алгоритмы численного интегрирования
- •Экзаменационный вопрос № 31. Программа вычисления определенного интеграла методом прямоугольников
- •Экзаменационный вопрос № 32. Программа вычисления определенного интеграла методом трапеций
- •Экзаменационный вопрос № 33. Программа вычисления определенного интеграла методом симпсона
- •Экзаменационный вопрос № 34. Программа вычисления корней алгебраического уравнения методом половинного деления
- •Экзаменационный вопрос № 35. Программа вычисления корней алгебраического уравнения методом ньютона
- •Экзаменационный вопрос № 36. Программа вычисления корней алгебраического уравнения методом хорд
- •Экзаменационный вопрос № 37. Программирование операций в одномерных массивах
- •Экзаменационный вопрос № 38. Программирование операций в двумерных массивах (На примере задания 1)
- •Экзаменационный вопрос № 39. Программирование операций в двумерных массивах (На примере задания 2)
- •Экзаменационный вопрос № 40. Построение графических изображений
- •Экзаменационный вопрос № 41. Программа для построения объекта с циклическим изменением цвета
- •Экзаменационный вопрос № 42. Программа для построения динамического объекта
Экзаменационный вопрос № 22. Программа вычисления корней квадратного уравнения
Задание. Составить программу для вычисления всех действительных корней квадратного уравнения AХ2 + BX + C = 0, в котором параметр A = 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 = ex
+ U + 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.