elena-ppk
?>

Дан номер месяца (1 — январь, 2 — февраль, ... Вывести число дней в этом месяце для високосного года. Написать код на паскале и сделать блок-схему

Информатика

Ответы

Guru-tailor
Тут все просто, я даже объясню, как это делается
1) Пронумеровать числа справа налево, начиная с нуля, то есть вот так
5_{2}3_{1}B_{0}
2) Далее есть вот такая формула: число*систему исчисления в степени номера этого числа, то есть
53B=5* 16^{2}+3*16^{1}+11*16^0=5*256+3*16+11*1= \\ =1280+48+11=1339
А, ну и еще стоит добавить что в 16 системе исчисления есть цифры от 0 до 9 и буквы от A до F, соответственно A=10,B=11,C=12,D=13,E=14,F=15

С восьмиричной системой исчисления все аналогично
1) Нумеруем числа справа налево, начиная с 0
2_{2} 7_{1} 4_{0}
2) Опять пользуемся нашей формулой
2* 8^{2}+7* 8^{1} +4*8^{0}=2*64+7*8+4*1=128+56+4=188
А вот число 28 уже перевести нельзя, потому что восьмеричная система счисления содержит только цифры от 0 до 7 (всего 8 цифр, соответственно названию системы счисления)

Формула выше применима ТОЛЬКО для перевода из любой системы счисления в десятичную

Теперь переведем из десятичной системы в двоичную. Для этого тоже есть своя формула: делим переводимое число (в десятичной системе счисления) на основание системы счисления, в которую мы хотим перевести число и записываем остатки, пока в результате деления не получим ноль. Сейчас разберем по порядку:
1) Переводим из десятичной системы В ДВОИЧНУЮ. То есть основание системы счисления, в которую мы переводим число - 2
1093/2=546 (остаток 1) - в результате деление должно быть обязательно целое число, записываем остаток. Результат опять делим на основание системы счисления, в которую переводим (2)
546/2=273 (остаток 0)
273/2=136 (остаток 1)
136/2=68 (остаток 0)
68/2=34 (остаток 0)
34/2=17 (остаток 0)
17/2=8 (остаток 1)
8/2=4 (остаток 0)
4/2=2 (остаток 0)
2/2=1 (остаток 0) - делим до тех пор, пока в результате не получим ноль, так что еще одно действие
1/2=0 (остаток 1) - вот теперь все
Теперь запишем остатки в обратном порядке
10001000101 - это и есть ответ

Последнее задание совмещает все знания, которые ты получила выше. Сначала нужно перевести число из 16-ричной системы счисления в десятичную (нумеруешь числа справа налево, затем умножаешь на систему счисления в степени номера числа), а затем так же делением переводишь в двоичную систему счисления. Если ты это сделаешь, значит ты все поняла, если нет, то пиши мне разобраться.
volodinnikolay19
Перевод 53B_{16}  в десятичную систему:
Для этого вспомним, что справа идёт разряд единиц (единица в этом разряде- означает единицу в числе.  т.е. вес разряда =16^0 = 1).
Вес каждого следующего разряда левее разряда единиц-  будет в 16 раз больше веса предыдущего разряда (т.е.  16^116^2,  итд... ).
Поэтому, перевод в десятичную систему выполняется умножением веса каждого разряда на содержимое разряда (буквы соответствуют значениям: A=10, B=11, C=12, D=13, E=14, F=15 ), и результаты складываем:
53B_{16} = 5*16^2+3*16^1+11*16^0=5*256+3*16+11*1= =1280+48+11=1339

Перевод 274,259_{8}  в десятичную систему:
Переводим точно так же, только основание системы здесь равно восьми. Вес каждого следующего разряда левее разряда единиц-  будет в 16 раз меньше веса предыдущего разряда (т.е.  16^{-1}16^{-2},  итд... ).
274,259_{8}2*8^{2}+7*8^{1}+4*8^{0}+2*8^{-1}+5*8^{-2}+9*8^{-3}= =2*64+7*8+4*1+2*\frac{1}{8}+5*\frac{1}{64}+9*\frac{1}{512}= =128+56+4+0,25+0,078125+0,017578125=188,345703125

Сложение чисел 574_{8} и 230_{8}  в восьмеричной системе:
Выполняем столбиком, как в десятичной системе, но при этом если в десятичной перенос в следующий разряд происходил при сумме по разряду больше или равной десяти, то в восьмеричной- при сумме больше или равной восьми:
  574_{8}
+230_{8}
--------
1024_{8}

Опишу подробнее процесс сложения:
-в младшем разряде: 4 + 0 = 4
-во втором разряде: 7 + 3 = 10
Далее, раз значение больше или равно восьми, то переносим единицу в следующий разряд, а из текущего разряда- нужно отнять восемь (ведь единица следующего разряда весит в восемь раз больше): 10 - 8 = 2   (записываем эту двойку во второй разряд)
-в третьем разряде: 5 + 2 + 1(это единица с предыдущего разряда) = 8
У нас опять нужно перенести единицу в следующий разряд, а из этого вычесть восемь:  8 - 8 = 0   (записываем ноль в третий разряд)
-в четвёртом разряде: записываем ту единицу, которую перенесли с третьего.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан номер месяца (1 — январь, 2 — февраль, ... Вывести число дней в этом месяце для високосного года. Написать код на паскале и сделать блок-схему
Ваше имя (никнейм)*
Email*
Комментарий*