Задача: Дано натуральное число n. Проверить, будут ли все цифры этого числа различными.
Вопрос: как получить последнюю цифру числа?
Задача дано трехзначное число (645, 139). Вывести его цифры на экран.
Задача дано трехзначное число (823, 555). Проверить: все ли цифры числа различны.
Запись вспомогательного алгоритма:
Запись алгоритма:
111.00K
Категория: ИнформатикаИнформатика

Цифры числа n

1. Задача: Дано натуральное число n. Проверить, будут ли все цифры этого числа различными.

Задача: Дано натуральное число n.
«1» сравнитьбудут
последовательно
Проверить,
ли всес 2,6,8,2.
цифры этого
Затем «2» сравниваем с 6,8,2. На
числа различными.
последнем шаге выясняем, что 2=2 => не
Изучение
нового
материала
алг цифры_числа (арг
все цифры числа различны. цел n, рез цел kod)
• Первая задача на использование функций mod и div.
• Тип: алгоритм с результатами. Для этого просим
составить заголовок алгоритма.
• Для числа 12682 решить эту задачу вручную: а)
задачу.
проверить цифры,Рассмотрим
начиная со старшей
(слева
направо); б)
начиная с цифры
младшей. числа n экран.
Вывести

2. Вопрос: как получить последнюю цифру числа?

Изучение Вопрос:
нового
материала
как получить последнюю
цифру числа?
• Разделите число 12682 на 10. Что
получилось?
• Чему равна целая часть числа 1268,2?
• Чему равен остаток от деление 12682 на
10? С чем он совпадает?
• Как получить вторую с конца цифру числа
12682?
1268
div
2
mod
1268,2

3. Задача дано трехзначное число (645, 139). Вывести его цифры на экран.

младшая
цифра
Изучение
алг вывод_цифр
нового
(арг цел n, рез цел s) материала
нач цел nn, c1, с2, с3
| nn:=n
| c1:=mod(nn,10)
| nn:=div(nn,10)
Остаток от
| c2:=mod(nn,10)
деления числа
| nn:=div(nn,10)
nn на 10
| c3:=mod(nn,10)
| вывод с3,с2,с1
кон
целая
часть
числа

4. Задача дано трехзначное число (823, 555). Проверить: все ли цифры числа различны.

алг
сравнение
(арг
цел
n,
рез
цел
s)
Задача дано
трехзначное нач цел nn, c1, с2, с3
Усвоение
|
nn:=n
число
материала
(823, 555). | s:=0 |цифры различны
Проверить: | c1:=mod(nn,10)
получение
| nn:=div(nn,10)
все ли
всех цифр
| c2:=mod(nn,10)
цифры
трехзначного
числа
| nn:=div(nn,10)
числа
различны. | c3:=mod(nn,10)
| если c1=c2 или c1=c3 или c2=c3
| | то s:=1 |есть совпадение
сравнение
| все
цифр
кон

5. Запись вспомогательного алгоритма:

цифра, с которой
надо сравнить
procedure sravnit (n1, num : Integer;
var flag: Boolean);
var kf, fl1 : Integer;
begin
цифры для
сравнения
kf:=num;
while kf>0 do
младшая
begin
цифра
fl1:=kf mod 10;
if fl1=n1 then begin flag:=True; exit; end;
kf:=kf div 10;
end;
число без
end;
младшей цифры
Закрепление
материала
совпадения
есть

6. Запись алгоритма:

Закрепление
материала
program chisla; Запись алгоритма:
uses Crt;
var k, kf_prom, n1, num: Integer; flag: Boolean;
begin
write(‘Введите целое число k='); readln(k);
kf_prom:=k; flag:=False;
while kf_prom > 0 do
begin
n1:=kf_prom mod 10; num:=kf_prom div 10;
sravnit (n1,num,flag);
if flag=True then break;
kf_prom:=kf_prom div 10;
end;
if flag=True then writeln('Совпадения есть')
else writeln('Совпадений нет');
end.
English     Русский Правила