
- •Экзаменационный вопрос №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. Программа для построения динамического объекта
Экзаменационный вопрос № 20. Программирование разветвляющихся вычислительных процессов с использованием оператора case
Оператор варианта имеет вид
CASE <условие> OF <константа>|<диапазон> :
<оператор1>
ELSE
<оператор2>
END
Здесь диапазон следующий : <константа> . . <константа>.
Таким образом, если имеется n взаимоисключающих условий С1, … , Сn, то условный оператор
If <C1> then <оператор1> else
If <C2> then <оператор2> else
If <C3> then <оператор3> else
If <Cn> then <оператор n–1> else <оператор n>;
эквивалентен следующему оператору варианта:
case <условие> of
K1: <оператор1>;
K2: <оператор2>;
Kn: <оператор n>;
end;
Здесь Кi – одно из возможных значений <условия>, приводящее к истинности условия Сi.
<условие > в операторе варианта называется селектором. Его тип может быть только ординальным, <константы> принадлежат тому же типу. Например, оператор
If <условие> then <оператор1> else <оператор2>;
эквивалентен оператору варианта
case <условие> of
false: <оператор2>;
true: <оператор1>;
end;
Задание. Составить программу для определения функции с помощью оператора варианта.
с шагом ∆x при заданных коэффициентах. Построить таблицу результатов полученной функции.
Исходные данные.
Функция |
Шаг |
Коэффициенты |
|
1 |
|
Код программы.
PROGRAM primer2;
Uses Crt;
var t: real;{значение функции} x: integer;
const a = 0.3; b = 4; h = 1; {шаг по оси х} x0 = 1; x1 = 9; { границы интервала}
begin
clrscr;
x:=x0; {берем в качестве х левую границу интервала}
writeln(‘| x | t |’); {выводим шапку таблицы}
writeln(‘|--------------------|’);
repeat
case x of {проверка, к какому интервалу принадлежит х}
1..2 : t:=exp(1/3*ln(abs(x)*b/a));
3..6 : t:=ln(x/a)/ln(10)+exp(x);
7..9 : t:=ln(b*x)–0.5;
end;
writeln(‘ ’, x , ‘ ’,t:5:3);
x:=x+h; {х увеличивается на значение шага}
until x>=x1;
{выполнятся до тех пор, пока х не выйдет за правую границу интервала}
readln;
end.
Экзаменационный вопрос № 21.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ С ИСПОЛЬЗОВАНИЕМ В ОПЕРАТОРА ЦИКЛА WHILE
Повторяющееся выполнение участков программы, вычислительный процесс которых зависит от логического условия и формируется циклом с предусловием и постусловием.
Оператор с предусловием имеет следующий вид:
WHILE <условие> DO <оператор>;
Здесь <условие> — выражение логического типа, <оператор> — оператор языка Turbo - Pascal. В процессе работы цикла WHILE <оператор> выполняется, пока выполняется <условие> (принимает значение «истина»), т. е. сначала проверяется условие, потом выполняется оператор.
П р и м е р
X:=1;
WHILE X<=10 DO X:=X+0.5;
В данном примере на каждой итерации цикла значение переменной X увеличивается на 0,5. Цикл повторяется 10 раз.
Задание. Составить программу для вычисления значения функции Y = F(X) при изменении Х от 0 до 1 с шагом H. Определить количество отрицательных значений функции.
Исходные данные.
3,
если X >
D,
F(X) = 2X, если X = D,
7 + X, если X < D,
H = 0,2, D = 0,5.
Код программы.
PROGRAM primer3;
CONST {блок описания данных}
D = 0.5;
H = 0.2;
VAR
I : INTEGER;
Y,X,F : REAL;
BEGIN
I := 0; {задание начальных значений}
X := 0;
WHILE X <= 1 DO
BEGIN
If X>D {вычисление функции}
THEN F:=3
ELSE
IF X=D
THEN F:=2*X
ELSE F:=7+X;
WRITELN ('X =', X:6:3,', F(X) =',F:6:3); {вывод значений}
IF F< 0 THEN I:=I+1; {подсчет количества
отрицательных значений}
X:= X+H; {изменение аргумента}
END;
WRITELN(' количество отрицательных значений: ',I);
END.