Суббота, 21.10.2017, 22:26
информатика пәні мұғалімінің сайты
сайт учителя информатики
Приветствую Вас Гость | RSS
Главная Разложение натуральных чисел Регистрация Вход
Iздеу/Поиск

Aуа райы/Погода

Kіру / Вход

Сабаққа / К уроку

Mазмұны/Содержание

Мақалалар / Статьи
Решение задач

Рейтинг




счетчик посещений

Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Посетители за день

Тема: Разложение натуральных чисел.
 
Как мы знаем в Pascal есть две операции, нахождения остатка и частного при делении одного числа на другое
DIV - целочисленное деление
MOD - нахождение остатка

Задание1. Дано двузначное число. Найти цифры числа.
Решение:
Разделим число на 10, столбиком.
Пусть это будет число 37.
Частное равно 3 (целая часть при делении 37 на 10), а остаток равен 7.
3=37 div 10
7=37 mod 10
Но если мы посмотрим, то 3 это единица, а 7 это десятки. Обозначим единицы e, десятки d, само число х, тогда
e:=x mod 10;
d:=x div 10;
 
Program pr;
var e,d,x:integer;
begin
readln(x);
e:=x mod 10;
d:=x div 10;
writeln ('d= ' , d, ' e= ' , e);
end.
 
Задание2. Дано трехзначное число. Найти цифры числа. 
Решение: Пусть трехзначное число равно 123. Найдем его цифры.
Цифру 3 мы можем найти. Это единица, которая находится по формуле e:=x mod 10; (123 разделить на 10 равно 12 и остаток 3).
Цифру 2 мы не можем сразу найти (при делении на 10 получатся числа 3 и 12, а при делении на 100 - 1 и 23), но мы можем найти 2 из числа 12.
12=123 div 10;
2=12 mod 10;
Заменим 12 из второго равенства значением 12 из первого (выделен полужирным и подчеркнут).
получится:
2=(123 div 10) mod 10;
то есть
d:=(х div 10) mod 10;
Осталось найти сотню. Обозначим сотню s.
s:= x div 100; (123 разделить на 100 равно 1 и остаток 23)
 
Сравним нахождение цифр двухначного и трехзначного числа
двузначное число трехзначное число
e e:=x mod 10; e:=x mod 10;
d d:=х div 10; d:=(х div 10) mod 10;
s s:= x div 100;
 
 
 
 
 
Найдите закономерность (посказываю: обратите внимание как находятся крайние цифры и не крайние). Сложно? Нет. Но рассмотрим еще один пример
 
Задание3. Дано четырехзначное число. Найти цифры числа.
Решение: Пусть четырехзначное число равно 1234. Найдем его цифры.
1) Цифру 4 мы можем найти. Это единица, которая находится по формуле e:=x mod 10; (1234 разделить на 10 равно 123 и остаток 4).
2) Цифру 3 мы не можем сразу найти (при делении на 10 получатся числа 4 и 123, а при делении на 100 - 12 и 34), но мы можем найти 2 из числа 123 при делении на 10.
123=1234 div 10;
2=123 mod 10;
Заменим  также 123 из второго равенства значением 123 из первого (выделен полужирным и подчеркнут).
получится:
2=(1234 div 10) mod 10;
то есть
d:=(х div 10) mod 10;
Осталось найти сотню и тысячи.
3) Цифру 2 (сотня) мы не можем сразу найти (при делении на 10 получатся числа 4 и 123,  при делении на 100 - 12 и 34, а при делении на 1000 - 1 и 234), но мы можем найти 2 из числа 12 при делении на 100.
12=1234 div 100;
2=12 mod 10;
Заменим также 12 из второго равенства значением 12 из первого (выделен полужирным и подчеркнут).
получится:
2=(1234 div 100) mod 10;
то есть
s:= (x div 100) mod 10;
4) Осталось найти тысячи. Обозначим тысячи t. t:= x div 1000; (1234 разделить на 1000 равно 1 и остаток 234)
Дополним таблицу:
 
двузначное число трехзначное число четырехзначное число
e  e:=x mod 10; e:=x mod 10; e:=x mod 10;
d d:=х div 10; d:=(х div 10) mod 10; d:=(х div 10) mod 10;
s   s:= x div 100; s:= (x div 100) mod 10;
t     t:= x div 1000;
 А теперь легче найти закономерность...
 
Задание4. Найти цифры пятизначного числа
Задание5. Найти цифры шестизначного числа
Задание6. Найти сумму цифр трехзначного числа. (Ввод 123, вывод 6).
Решение:
Program pr;
var e,d,s,x,z:integer;
begin
readln(x);
e:=x mod 10;
d:=(x div 10) mod 10;
s:=x div 100;
z:=e+d+s;
writeln ('сумма цифр= ' , z);
end. 
Задание7.Найти произведение цифр трехзначного числа (Ввод 123, вывод 6)
Задание8.Найти сумму цифр четырехзначного числа. (Ввод 1234, вывод 10).
Задание9.Найти произведение цифр четырехзначного числа (Ввод 1234, вывод 24)
Задание10.Найти сумму цифр пятизначного числа. (Ввод 12345, вывод 15).
Задание11.Найти произведение цифр пятизначного числа (Ввод 12345, вывод 120)
Задание12.Поменять местами десятки и сотни четырехзначного числа (Ввод 1234, вывод 1324)
Решение:
Program pr;
var e,d,s,x,z:integer;
begin
readln(x);
e:=x mod 10;
d:=(x div 10) mod 10;
s:=(x div 100) mod 10;
t:=x div 1000;
z:=t*1000+d*100+s*10+e;
writeln ('число= ' , z);
end. 
Задание13.Поменять местами единицы и десятитысячные пятизначного числа (Ввод 12345, вывод 52341)
Задание14.Поменять цифры местами трехзначного числа (найти палиндром) (Ввод 123, вывод 321)
Задание15.Заменить десятки трехзначного числа нулем. (Ввод 123, вывод 103)
Іздеу / Поиск

Маңызды / Важно

Казахский язык

Друзья сайта
  • Сайт учителя информатики (мой новый сайт).
  • Сайт библиотеки ГУ "ФМЛ...".

  • Сайт учителя информатики.
  • Сайт учителя географии.
  • Сайт учителя математики.

  • Информатика и ИКТ в современной школе.
  • Методическая копилка
    Методическая копилка учителя информатики
    на этом сайте я также размещаю свои материалы

  • Сұрақ / Опрос
    Менің сайтымды бағалаңдар / Оцените мой сайт
    Жауаптардың барлығы / Всего ответов: 65

    Календарь
    «  Октябрь 2017  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

    Пайдалы / Полезно
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Посетители сайта

  • Мои гости
    free counters

    Расположение

    учитель информатики Ковальчук Вероника Владимировна © 2017 Создать бесплатный сайт с uCoz