197 / 9 / 3
Регистрация: 30.04.2016
Сообщений: 733
|
||||||||||||||||
1 | ||||||||||||||||
Заполнить таблицу трассировки27.10.2019, 11:34. Показов 2312. Ответов 4
Метки нет Все метки)
(
Имеется блок – схема алгоритма
подсчёта десятичных разрядов в заданном положительном числе N. Заполнить таблицу трассировки и доказать, что в переменой k действительно получили количество разря- дов (в данном случае их 4). Таблица 7.1 для трассировки алгоритма.
значений N. (Написал программу согласно коду): Был получен один из ответов от Puporev’а (05. 05. 2019_
Как пишут учёные люди – Каждый разряд (включено, выключено) в двоичном коде называется битом. Восемь битов составляет байт (может содержать простую машин- ную команду, символ или число). А что имеется в виду под количеством разрядов во вве- дённом числе, например, 4236 (какая имеется система счисления: 2-ичная, 8-ричная, 10-ричная, 16-ричная?). И ещё: в выражении N:= N div 10 ; определяется цело- численное частное (от деления числа N = 4236 на 10). Так это число будет равным 423, а на выходе выдаётся количество непонятных разрядов 4. И как это понимать? Можно всё это объяснить коротко и доходчиво.
0
|
|
27.10.2019, 11:34 | |
Ответы с готовыми решениями:
4
Заполнить таблицу трассировки Заполнить таблицу трассировки
|
Модератор
8947 / 4508 / 3083
Регистрация: 17.08.2012
Сообщений: 14,375
|
|
28.10.2019, 09:08 | 2 |
Petro29, Вы издеваетесь, или у Вас очень плохие учители? Как можно не знать очевидные вещи - не постигаю.
Каждая отдельная цифра числа называется разрядом. Разряд - это просто одна из цифр в числе. В любой системе счисления. Просто в десятичном числе разряд десятичный, в двоичном - двоичный, и так далее. Количество разрядов - это просто количество цифр в числе. Самый правый разряд называется младшим, самый левый - старшим, разряды в целом числе нумеруются справа налево, начиная с 1. Оператор N:= N div 10 (целочисленное деление на 10) в программе используется для удаления младшего десятичного разряда числа, в частности, из 4236 сначала удаляется 6, остаётся 432, затем - 2, остаётся 43, затем 3, остаётся 4, затем и 4, и число N становится равным 0. В переменой k в то же время подсчитывается количество целочисленных делений на 10, которых для четырёхразрядного десятичного числа будет четыре, естественно. Эта самая четвёрка и выводится как результат работы программы. Кстати, число обозначает количество, в какой бы системе счисления оно не было бы записано. Например, 11112, 178, 1510 и F16 выражают одно и то же количество. Нижним индексом слева от числа обозначается система счисления, если её нужно указать явно. И ещё. Если делить на 2, получим количество двоичных разрядов, на 16 - шестнадцатеричных, на 8 - воьмеричных. Короче, деление на основание системы счисления используется для подсчёта количества разрядов числа.
0
|
197 / 9 / 3
Регистрация: 30.04.2016
Сообщений: 733
|
|
09.02.2020, 18:44 [ТС] | 3 |
Пример с числом 4236. Действительно, при делении на 2 получаем двоичное число: 1000010001100 = 4236, в котором
4 единицы, т. ею количество цифр 4. Правильно. А возьмём число, например, 232. При делении на 2 получаем двоичное число: 11101000 = 232. В нём количество единиц 4, а цифр – 3 шт. Несоответствие. Или число 23. При делении на 2 получаем двоичное число 00010111 = 23. Количество цифр 2, а единиц – 4. И вообще, весь код ASCCI не соответствует определению количества цифр способом деления на 2. В чём дело? Или я что-то недопонял? А вот при использовании целочисленного деления для определения количества цифр в заданном числе N = N div 10 – всё в порядке. И понятно.
0
|
Модератор
8947 / 4508 / 3083
Регистрация: 17.08.2012
Сообщений: 14,375
|
|
09.02.2020, 19:55 | 4 |
Нет. Вы не издеваетесь. Вы действительно непостижимым образом не понимаете элементарных вещей.
В сообщении #3 Вы бред написали. Количество единиц в двоичном представлении числа никак не связано, и не может быть связано, с количеством разрядов в числе. Код ASCII никак не связан, и не может быть связан, с определением количества цифр способом деления на 2. Вы вообще прочитали то, что я написал в сообщении #2? Ещё раз: количество разрядов - это то же самое, что и количество цифр. Естественно, количество разрядов для одного и того же числа, записанного в разных системах счисления, вполне может быть разным. Очевидно, что количество разрядов в числе зависит не только от величины, которое выражает число, но и от того, в какой системе счисления это число записано. Если число делить на основание системы счисления до тех пор, пока не получится 0, то количество делений будет равно количеству разрядов в числе. Это следует из определения для позиционной системы счисления. Например, число 4236 в распространённых (позиционных) системах счисления содержит такое количество разрядов: 423610 - 4 десятичных разряда (чтобы число стало равным 0, нужно его 4 раза поделить на 10) 423610 = 10000100011002 - 13 двоичных разрядов (... 13 раз поделить на 2) 423610 = 102148 - 5 восьмеричных разрядов (... 5 раз поделить на 8) 423610 = 108С16 - 4 шестнадцатеричных разряда (... 4 раза поделить на 16)
0
|
Модератор
8947 / 4508 / 3083
Регистрация: 17.08.2012
Сообщений: 14,375
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10.02.2020, 22:43 | 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Про ответ на вопрос совсем забыл. Таблица трассировки, как правило, создаётся только для основного алгоритма. В данном случае, имеет смысл создать таблицу трассировки для строк 5..10
Доказано: при выходе из цикла значение k равно числу разрядов в числе.
0
|
10.02.2020, 22:43 | |
Помогаю со студенческими работами здесь
5
Заполнить таблицу Заполнить таблицу Заполнить таблицу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |