Для заданной функции f(x,y,z): 1. выяснить, какие ее переменные являются фиктивными, а какие - существенными; 2. выразить функцию формулой, зависящей только от существенных переменных.
var chislo: longint; {число, введенное с клавиатуры} tchifra, Summa, n, p: integer;{tchifra - правая цифра}
begin Write('введи число: '); Readln(chislo); Summa := 0;n := 0;p := 1; repeat tchifra := chislo mod 10; {получили правую цифру} Inc(n); if tchifra > 0 then p := p * tchifra; if tchifra < 3 then Summa := Summa + tchifra; chislo := chislo div 10{оставили от числа левую часть} until chislo = 0; {выход из цикла, если нет больше цифр} Writeln('Количество цифр в числе- ', n); Writeln('Сумма цифр, меньших 3- ', Summa); Writeln('Произведение цифр, больших нуля- ', p); Readln end.
Тестовое решение: введи число: 10354 Количество цифр в числе- 5 Сумма цифр, меньших 3- 1 Произведение цифр, больших нуля- 60
Рассмотрим пример решения задачи: Однажды Винни-Пух захотел полакомиться медом и пошел к пчелам в гости. По дороге нарвал букет цветов, чтобы подарить труженицам пчелкам. Пчелки очень обрадовались, увидев мишку с букетом цветов, и сказали: «У нас есть большая бочка с медом. Мы дадим тебе меда, если ты сможешь с двух сосудов вместимостью 3 л и 5 л налить себе 4 л!» Винни-Пух долго думал, но все-таки смог решить задачку. Как он это сделал?
Решение: Как в результате можно получить 4 л? Нужно из 5-литрового сосуда отлить 1 л. А как это сделать? Нужно в 3-литровом сосуде иметь ровно 2 л. Как их получить? – Из 5-литрового сосуда отлить 3 л. Решение лучше и удобнее оформить в виде таблицы: Ходы1234565 л522-543 л-3-223
Наполняем из бочки 5-литровый сосуд медом (1 шаг). Из 5-литрового сосуда отливаем 3 л в 3-литровый сосуд (2 шаг). Теперь в 5-литровом сосуде осталось 2 литра меда. Выливаем из 3-литрового сосуда мед назад в бочку (3 шаг). Теперь из 5-литрового сосуда выливаем те 2 литра меда в 3-литровый сосуд (4 шаг). Наполняем из бочки 5-литровый сосуд медом (5 шаг). И из 5-литрового сосуда дополняем медом 3-литровый сосуд. Получаем 4 литра меда в 5-литровом сосуде (6 шаг). Задача решена. Поиск решения можно было начать с такого действия: к трем литрам добавить 1 литр. Но тогда решение будет выглядеть следующим образом: Ходы123456785 л-335-1143 л3-311-3-( по этому примеру реши)
var
chislo: longint; {число, введенное с клавиатуры}
tchifra, Summa, n, p: integer;{tchifra - правая цифра}
begin
Write('введи число: ');
Readln(chislo);
Summa := 0;n := 0;p := 1;
repeat
tchifra := chislo mod 10; {получили правую цифру}
Inc(n);
if tchifra > 0 then p := p * tchifra;
if tchifra < 3 then Summa := Summa + tchifra;
chislo := chislo div 10{оставили от числа левую часть}
until chislo = 0; {выход из цикла, если нет больше цифр}
Writeln('Количество цифр в числе- ', n);
Writeln('Сумма цифр, меньших 3- ', Summa);
Writeln('Произведение цифр, больших нуля- ', p);
Readln
end.
Тестовое решение:
введи число: 10354
Количество цифр в числе- 5
Сумма цифр, меньших 3- 1
Произведение цифр, больших нуля- 60
Однажды Винни-Пух захотел полакомиться медом и пошел к пчелам в гости. По дороге нарвал букет цветов, чтобы подарить труженицам пчелкам. Пчелки очень обрадовались, увидев мишку с букетом цветов, и сказали: «У нас есть большая бочка с медом. Мы дадим тебе меда, если ты сможешь с двух сосудов вместимостью 3 л и 5 л налить себе 4 л!» Винни-Пух долго думал, но все-таки смог решить задачку. Как он это сделал?
Решение:
Как в результате можно получить 4 л? Нужно из 5-литрового сосуда отлить 1 л. А как это сделать? Нужно в 3-литровом сосуде иметь ровно 2 л. Как их получить? – Из 5-литрового сосуда отлить 3 л.
Решение лучше и удобнее оформить в виде таблицы:
Ходы1234565 л522-543 л-3-223
Наполняем из бочки 5-литровый сосуд медом (1 шаг). Из 5-литрового сосуда отливаем 3 л в 3-литровый сосуд (2 шаг). Теперь в 5-литровом сосуде осталось 2 литра меда. Выливаем из 3-литрового сосуда мед назад в бочку (3 шаг). Теперь из 5-литрового сосуда выливаем те 2 литра меда в 3-литровый сосуд (4 шаг). Наполняем из бочки 5-литровый сосуд медом (5 шаг). И из 5-литрового сосуда дополняем медом 3-литровый сосуд. Получаем 4 литра меда в 5-литровом сосуде (6 шаг). Задача решена.
Поиск решения можно было начать с такого действия: к трем литрам добавить 1 литр. Но тогда решение будет выглядеть следующим образом:
Ходы123456785 л-335-1143 л3-311-3-( по этому примеру реши)