Скачать 16.84 Kb.
|
Урок 6 Продолжим знакомство с целочисленной арифметикой. Очень часто необходимо чтобы программа определила, из каких цифр состоит число, или определила разряд заданной цифры или наоборот цифру в заданном разряде. Если вы попросите человека решить эту задачу, проблем не возникнет, а как быть с компьютером. Для него любое число это набор нулей и единиц, т.е. двоичный код. В отличие от нас компьютер все действия выполняет в двоичной системе. Например, число 27 хранится в его памяти как 11011. И где здесь 2 и 7? Для решения этих задач надо вспомнить, что собой представляет любое число десятичной системы счисления (т.е. той, к которой мы с вами привыкли).В позиционной системе счисления (к которой относится десятичная система) величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Например, в числе 333 первая цифра обозначает три сотни, вторая - три десятка, третья - три единицы. Любое число можно записать в виде: 32478=3*10000+2*1000+4*100+7*10+8=3*104+2*103+4*102+7*101+8*100 Поэтому для обработки десятичных чисел используется 10 в соответствующей степени. Например, надо получить число, образованное при перестановке цифр заданного числа. Program prim_6; Var n,x1,x2,m:integer; Begin Write('введите двузначное число'); Readln(n); X1:=n mod 10; {выделяем из числа единицы} X2:=n div 10; {получает число десятков в числе} M:=x1*10+x2; {число единиц умножаем на 10, получаем десятки} Writeln(m); Readln End. Пусть дано n=27. X1:= 27 mod 10 = 7 X2:= 27 div 10 = 2 M:=7*10+2 = 72, что и требовалось получить. К сожалению, таким образом, мы можем определить лишь крайние цифры числа. А если цифра, которая нам нужна, стоит не с краю? Не беда, сделаем ее крайней. Например, дано трехзначное число, надо определить среднюю цифру числа. Пусть а=246 B:=a div 10 = 24 B:=b mod 10 = 4 Или по другому: B:=a mod 100 = 46 B:=b div 10 = 4 Задания для тренировки. 1. Дано двузначное число. Найти: a. число десятков в нем; b. число единиц в нем; c. сумму его цифр; d. произведение его цифр. 2. Дано трехзначное число. Найти: a. Число единиц в нем; b. Число десятков в нем; c. Сумму его цифр; d. Произведение его цифр. 3. Дано трехзначное число. Найти число, полученное при прочтении его цифр справа налево. 4. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в конце. Найти полученное число. 5. Дано трехзначное число. В нем зачеркнули последнюю справа цифру и приписали ее в начале. Найти полученное число. 6. Дано трехзначное число. Найти число, полученное при перестановке первой и второй цифр заданного числа. 7. Дано трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа. 8. *Дано вещественное число А, содержащее два знака до запятой и два после. Получить новое число, поменяв в числе А целую и дробную части. 9. *В кассе имеются купюры достоинством в К рублей и в 1 рубль. Выдать N рублей минимальным набором купюр заданного достоинства. |