Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемfestival.1september.ru
1 ЗАПИСЬ НАТУРАЛЬНОГО ЧИСЛА В ПОЗИЦИОННОЙ СИСТЕМЕ СЧИСЛЕНИЯ С ОСНОВАНИЕМ, МЕНЬШИМ 10 Автор: Перова Е.А., учитель информатики и ИТ Муниципальное автономное образовательное учреждение Лицей 36 Нижний Новгород 2013
2 Ответ: = Как перевести натуральные числа из десятичной системы счисления в систему с другим основанием?
3 Алгоритм: Необходимо определять остаток от деления заданного числа и всех промежуточных целочисленных частных на основание и делать это до тех пор, пока частное не станет равным нулю. Полученные остатки и представляют собой цифры новой записи числа. Цифры новой записи числа можно записывать в числовой массив; в строковую переменную.
4 Обозначим заданное натуральное десятичное число – n, запоминаем его для вывода ответа –n2, основание системы счисления, в которую нужно перевести число – q, индекс массива – kol_zifr, массив – zifri. Решим задачу двумя способами 1 способ:
5 kol_zifr := 0; n2:=n; while n > 0 do begin {увеличиваем значение kol_zifr} kol_zifr := kol_zifr + 1; {определяем очередную цифру} zifri[kol_zifr ] := n mod q; {определяем целочисленное частное} n := n div q end; {выводим ответ: цифры в обратном порядке} write (Число,n2, в системе счисления, q, = ); for i:= kol_zifr downto 1 do write(zifri[i]); Программа:
6 kol_zifr := 0; n2:=n; while n > 0 do begin kol_zifr := kol_zifr + 1; zifri[kol_zifr ] := n mod q; n := n div q end; write (Число,n2, в системе счисления, q, =); for i:= kol_zifr downto 1 do write(zifri[i]); Выполняем: число n=24, основание q=2 kol_zifrnn>0zifri 024да = да while n > 0 do 2 6 да while n > 0 do да да нет
7 write (Число,n2, в системе счисления, q, = ); for i:= kol_zifr downto 1 do write(zifri[i]); Выводим результат: kol_zifrn2n>0zifri 524нет = Число 24 в системе счисления 2 =
8 Обозначим заданное натуральное десятичное число – n, запоминаем его для вывода ответа – n2, основание системы счисления, в которую нужно перевести число – q, новое число (как строка) – n1, цифра – zifra, цифра (как строка) – szifra. Решим задачу двумя способами 2 способ:
9 Как изменится наша программа? kol_zifr := 0; n2:=n; while n > 0 do begin {увеличиваем значение kol_zifr} kol_zifr := kol_zifr + 1; {определяем очередную цифру} zifri[kol_zifr ] := n mod q; {определяем целочисленное частное} n := n div q end; {выводим ответ:} write (Число,n2, в системе счисления, q, = ); for i:= kol_zifr downto 1 do write(zifri[i]); n1:=; {определяем очередную цифру} zifra := n mod q; {преобразуем ее в строку и дописываем ее к значению n1} str(zifra, szifra); {цифры в обратном порядке:} n1 := szifra + n1; write (n1);
10 Какой способ лучше? Почему? Домашнее задание: 1.Написать программу для решения задачи (2 способа): «Сколько единиц в двоичной записи числа а?» 2.*Как преобразовать программу, чтобы число n переводилось в 16-ричную систему счисления?
11 Практическая работа на компьютере: Ввод программы, отладка и тестирование.
12 Источники Д.М. Златопольский «ЕГЭ по информатике. Решение задач по программированию». СПб.: «БХВ-Петербург»,
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.