Контрольная работа по "Информатике"
Автор: Sergewq • Ноябрь 29, 2022 • Контрольная работа • 663 Слов (3 Страниц) • 191 Просмотры
Вариант 13
Задача 1
Рассмотрим последовательность e 1, e 2, e 3,..., образованную
по следующему закону
[pic 1]
Дано действительное eps. Найти первый член e n этой по-
следовательности, для которого |en – en–1| < eps. (Существо-
вание en гарантируется одной из теорем математического
анализа: чем меньше eps, тем ближе en к числу е =
= 2,718281828... .)
Решение:
Алгоритм решения: Рисунок 1.1 – алгоритм решения задачи
[pic 2]
[pic 3]
[pic 4]
Нет Да[pic 5][pic 6][pic 7][pic 8]
[pic 9][pic 10]
Для решения задачи используем цикл с предусловием (рисунок 1.2). Порядок выполнения цикла: пока условие истинно выполняется тело цикла. Как только условие становится ложно выполнение цикла прекращается.
Рисунок 1.2 – Структура алгоритма с предусловием
[pic 11]
Условие в нашем случае прописано в задаче (|en – en–1| < eps). Выполнение данного условия, инициирует запуск расчета переменной ek, согласно правилу из условия задачи. Тип переменных зададим real, т.к. будут использованы вещественные числа. Ответ будем выводить с точностью 6 знаков после запятой (используем write('e=',ek:0:6);)
Программа решения задачи:
var e,eps,ek,k:real;
begin
write('eps=');
readln(eps);
k:=1;
e:=0;
ek:=2;
while abs(e-ek)<eps do
begin
e:=ek;
k:=k+1;
ek:=exp(ln(1+1/k)*k);
end;
write('e=',ek:0:6);
readln
end.
Рисунок 1.3 – запуск программы в Pascal ABC.NET 3.8.3
[pic 12]
Задача 2
В заданном предложении найти пару слов, из которых одно
является обращением другого.
Указание: воспользуйтесь массивом строк для хранения
слов.
Алгоритм решения задачи
Рисунок 2.1 - алгоритм
[pic 13]
[pic 14]
[pic 15]
[pic 16]
Выполнение 2-х условий
[pic 17]
[pic 18]
[pic 19]
[pic 20]
[pic 21]
[pic 22]
Продолжение выполнения алгоритма
[pic 23]
ложь истина
[pic 24][pic 25][pic 26][pic 27]
[pic 28][pic 29]
[pic 30]
[pic 31]
[pic 32][pic 33]
Решение:
var s: string;
w: array [1..127] of string;
i, j, n, m: byte;
b: boolean;
f: set of byte;
begin
m := 0;
f := [];
writeln('Наберите строку:');
readln(s);
s := ' ' + s + ' ';
for i := 2 to length(s) - 1 do
begin
if (s[i - 1] = ' ') and (s[i] <> ' ') then n := i;
...