Лабораторная работа№7 Вариант 6
Описание работы
Работа пользователя Canadets
I. Дана программа, решающая определенную задачу.
Проделать следующую работу: исполнить алгоритм при 2-3 наборах данных. Запишите исходные данные, промежуточные данные и результат работы для каждого из выбранных наборов значений величин. Сформулировать условие задачи, которую решает данная программа.
Примечание. При формулировании условия задачи в качестве образцов формулировки взять те задачи, которые вы решаете. В частности, из условия однозначно должно быть понятно, что дано и что требуется получить.
Var n: integer; mi, ma: 0..9;
Begin
Write ('введите натуральное число: '); Readln (n);
mi:=9; ma:=0;
while n<>0 do
begin
if n mod 10 < mi then mi:= n mod 10;
if n mod 10 > ma then ma:= n mod 10;
n := n div 10
end;
writeln('Результат: ', mi*ma)
End.
Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу:
var n, m: longint;
d: integer;
begin
read(n);
m := 0;
while n>=1 do begin
d := n mod 10;
if d > 1 then begin
m := 10*d + m;
end;
n:= (n – d) div 10;
end;
write(m);
end.
Последовательно выполните следующее.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
III. Решить задачу с использованием цикла while
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
IV . Решить задачу с использованием цикла repeat..until
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Все задания решены на Pascal
Проделать следующую работу: исполнить алгоритм при 2-3 наборах данных. Запишите исходные данные, промежуточные данные и результат работы для каждого из выбранных наборов значений величин. Сформулировать условие задачи, которую решает данная программа.
Примечание. При формулировании условия задачи в качестве образцов формулировки взять те задачи, которые вы решаете. В частности, из условия однозначно должно быть понятно, что дано и что требуется получить.
Var n: integer; mi, ma: 0..9;
Begin
Write ('введите натуральное число: '); Readln (n);
mi:=9; ma:=0;
while n<>0 do
begin
if n mod 10 < mi then mi:= n mod 10;
if n mod 10 > ma then ma:= n mod 10;
n := n div 10
end;
writeln('Результат: ', mi*ma)
End.
Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу:
var n, m: longint;
d: integer;
begin
read(n);
m := 0;
while n>=1 do begin
d := n mod 10;
if d > 1 then begin
m := 10*d + m;
end;
n:= (n – d) div 10;
end;
write(m);
end.
Последовательно выполните следующее.
- Напишите, что выведет эта программа при вводе числа 1984.
- Приведите пример числа, при вводе которого программа выдаст верный ответ.
- Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
III. Решить задачу с использованием цикла while
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
IV . Решить задачу с использованием цикла repeat..until
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Все задания решены на Pascal





