Лабораторная работа № 7. Циклы с пред- и постусловием вариант 3
Описание работы
Работа пользователя Canadets
I. Дана программа, решающая определенную задачу.
Проделать следующую работу: исполнить алгоритм при 2-3 наборах данных. Запишите исходные данные, промежуточные данные и результат работы для каждого из выбранных наборов значений величин. Сформулировать условие задачи, которую решает данная программа.
Примечание. При формулировании условия задачи в качестве образцов формулировки взять те задачи, которые вы решаете. В частности, из условия однозначно должно быть понятно, что дано и что требуется получить.
Var a, b, c, d, m, n: integer;
Begin
Write ('введите натуральные числа a, b, c, d: ');
Readln (a, b, c, d);
m:=a*d+b*c; n:=b*d;
while m<>n do
if m>n then m:=m-n else n:=n-m;
writeln('Результат: ', (a*d+b*c) div m, '/', b*d div m)
End.
II. Выполнить тренировочное задание ЕГЭ по информатике и ИКТ[1]
count: integer;
begin
readln(N);
count := 1;
while N > 1 do begin
count := count + 1;
N := N div 10;
end;
writeln(count);
end.
Последовательно выполните следующее:
III. Решить задачу с использованием цикла while
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Проделать следующую работу: исполнить алгоритм при 2-3 наборах данных. Запишите исходные данные, промежуточные данные и результат работы для каждого из выбранных наборов значений величин. Сформулировать условие задачи, которую решает данная программа.
Примечание. При формулировании условия задачи в качестве образцов формулировки взять те задачи, которые вы решаете. В частности, из условия однозначно должно быть понятно, что дано и что требуется получить.
Var a, b, c, d, m, n: integer;
Begin
Write ('введите натуральные числа a, b, c, d: ');
Readln (a, b, c, d);
m:=a*d+b*c; n:=b*d;
while m<>n do
if m>n then m:=m-n else n:=n-m;
writeln('Результат: ', (a*d+b*c) div m, '/', b*d div m)
End.
II. Выполнить тренировочное задание ЕГЭ по информатике и ИКТ[1]
- Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно:
count: integer;
begin
readln(N);
count := 1;
while N > 1 do begin
count := count + 1;
N := N div 10;
end;
writeln(count);
end.
Последовательно выполните следующее:
- Определите, что выведет программа при вводе числа 123.
- Укажите одно число, для которого программа выводит неверный результат.
- Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
- выпишите строку, в которой сделана ошибка;
- укажите, как надо исправить ошибку - приведите правильный вариант строки.
III. Решить задачу с использованием цикла while
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
IV . Решить задачу с использованием цикла repeat..until
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Все задания решены на Pascal
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Все задания решены на Pascal





