Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Системы счисления, алгоритмизация и программирование

Покупка
Основная коллекция
Артикул: 703552.04.01
Доступ онлайн
от 272 ₽
В корзину
Учебное пособие предназначено для подготовки курсантов высшей военной школы: для ознакомления с теоретическими основами информатики и вычислительной техники, овладения практическими навыками и создания базы для дальнейшего усвоения возможностей использования компьютерной техники в различных сферах профессиональной деятельности военного моряка.
29
Игнашева, Е. П. Системы счисления, алгоритмизация и программирование : учебное пособие / Е.П. Игнашева. — Москва : ИНФРА-М, 2023. — 224 с. — (Военное образование). - ISBN 978-5-16-015295-0. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1965758 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Черноморское высшее военно
морское ордена Красной Звезды 
училище имени П.С. Нахимова
Е.П. ИГНАШЕВА
СИСТЕМЫ СЧИСЛЕНИЯ, 
АЛГОРИТМИЗАЦИЯ 
И ПРОГРАММИРОВАНИЕ
УЧЕБНОЕ ПОСОБИЕ
Москва
ИНФРА-М
202


ФЗ 
№ 436-ФЗ
Издание не подлежит маркировке 
в соответствии с п. 1 ч. 2 ст. 1
УДК 004.42(075.8)
ББК 32.973-018я73
 
И26
Игнашева Е.П.
И26  
Системы счисления, алгоритмизация и программирование : учебное 
пособие / Е.П. Игнашева. — Москва : ИНФРА-М, 2023. — 224 с. — (Военное образование). 
ISBN 978-5-16-015295-0 (print)
ISBN 978-5-16-107988-1 (online)
Учебное пособие предназначено для подготовки курсантов высшей 
военной школы: для ознакомления с теоретическими основами информатики и вычислительной техники, овладения практическими навыками 
и создания базы для дальнейшего усвоения возможностей использования 
компьютерной техники в различных сферах профессиональной деятельности военного моряка.
УДК 004.42(075.8)
ББК 32.973-018я73
Данная книга доступна в цветном исполнении 
в электронно-библиотечной системе Znanium
© Черноморское высшее 
ISBN 978-5-16-015295-0 (print)
ISBN 978-5-16-107988-1 (online)
военно-морское ордена 
Красной Звезды училище 
имени П.С. Нахимова, 2019
 
ООО «Научно-издательский центр ИНФРА-М»
127214, Москва, ул. Полярная, д. 31В, стр. 1
Тел.: (495) 280-15-96, 280-33-86. Факс: (495) 280-36-29
E-mail: books@infra-m.ru        http://www.infra-m.ru
Подписано в печать 07.02.2023. 
Формат 6090/16. Бумага офсетная. Гарнитура Times. 
Печать цифровая. Усл. печ. л. 14,0.
ППТ20. Заказ № 00000
ТК 703552-1965758-210619
Отпечатано в типографии ООО «Научно-издательский центр ИНФРА-М»
127214, Москва, ул. Полярная, д. 31В, стр. 1
Тел.: (495) 280-15-96, 280-33-86. Факс: (495) 280-36-29


Предисловие  
 
Современный уровень военно-технического развития вооруженных сил 
и, в частности, военно-морского флота России характеризуется возрастающей ролью информационных технологий как ключевого фактора получения успеха в достижении любой поставленной цели. Эффективное решение 
задач сбора, хранения, поиска, переработки, преобразования, распространения и использования данных обеспечивается своевременным получением 
качественной и достоверной информации, что позволяет принимать обоснованные решения, в том числе и в области вооружения и военной техники. 
Нестабильная ситуация в мире, появление новых угроз предусматривают 
накопление и обработку больших объемов информации и непосредственно 
базируются на информатике и компьютерной технике. Отмеченное обстоятельство обусловило необходимость интенсивного развития и совершенствования средств вычислительной техники, информационных технологий 
и прикладных информационных систем.  
В связи с этим подготовка курсантов в области применения современных 
информационных технологий является важнейшей актуальной задачей. 
В результате изученения дисциплины «Информатика» обучаемый должен: 
знать: основы алгоритмизации и программирования задач проектирования, методы разработки математических моделей, алгоритмов и программ, 
и реализация их в специальных пакетах прикладных программ; 
уметь: разрабатывать компьютерные программы вычислительных и логических задач на языке высокого уровня, используя современные системы 
программирования; 
владеть: практическими навыками разработки и отладки проектных задач на на языках программирования высокого уровня. 
Предлагаемое пособие предназначено для ознакомления с теоретическими основами алгоритмизации и программирования, овладения практическими навыками и создания базы для дальнейшего усвоения возможностей 
использования компьютерной техники в различных сферах профессиональной деятельности военного моряка. 
В пособии использован материал, который излагается в рамках дисциплины «Информатика» курсантам Черноморского высшего военноморского училища имени П. С. Нахимова согласно образовательнопрофессиональной программе подготовки специалистов по всем направлениям и специальностям. Пособие состоит из семи глав, посвященных информации, ее видам, свойствам и кодированию, алгоритмизации вычислительных процессов и программированию. Большое количество иллюстративного материала, простота и доступность изложения позволяет рекомендовать данное издание курсантам и адъюнктам, изучающим вопросы алгоритмизации и программирования, а также специалистам, желающим повысить уровень компьютерного образования. 
3 
3


Целью преподавания дисциплины «Информатика» является подготовка 
курсантов к осознанному, целенаправленному, активному участию в учебном процессе, подготовке и освоению всех преподаваемых дисциплин, выполнению лабораторных работ и практических занятий, курсовых и дипломного проектов. При этом курсант после изучения дисциплины должен 
быть готов учитывать современные тенденции развития информатики и 
вычислительной техники, информационных технологий в своей профессиональной деятельности, а также способен собирать, обрабатывать, анализировать и систематизировать научно-техническую информацию по тематике 
исследования в области своей практической деятельности, использовать 
достижения отечественной и зарубежной науки, техники и технологии. 
Нельзя также забывать, что курсант в области научно–исследовательской 
деятельности должен быть способен изучать и использовать специальную 
литературу и другую научно-техническую информацию, отражающую достижения отечественной и зарубежной науки и техники в области информатизации. И в этом ему, по мнению автора, поможет настоящее пособие. 
Учебное пособие носит практическую направленность. Большое внимание уделяется практике разработки алгоритмов и программ с привлечением 
большого числа примеров. В конце каждой главы приведены вопросы для 
самоконтроля и задания для самостоятельной работы. Большое количество 
иллюстративного материала, простота и доступность изложения позволяет 
рекомендовать данное издание курсантам и адъюнктам, изучающим вопросы информатики и вычислительной техники, а также специалистам, желающим повысить уровень компьютерного образования.  
4 
4


Глава 1.  СИСТЕМЫ СЧИСЛЕНИЯ 
 
Подумайте, сколькими разными способами можно записать число «десять». Можно назвать достаточно много способов написания этого числа: 
10, X, ten и т.д. Очевидно, что от написания названия числа его значение – 
«вес» не изменяется.  Следовательно, под числом понимается его величина, 
а не его символьная запись. Понятие числа – фундаментальное понятие как 
математики, так и информатики.  Символы, при помощи которых записывается число, называются цифрами.  
Под системой счисления принято называть совокупность приемов обозначения (записи) чисел. Все системы счисления разделяются на два класса: 
позиционные и непозиционные. 
Непозиционная система счисления – система счисления, в которой для 
обозначения чисел вводятся специальные знаки, количественное значение 
которых («вес» символа) всегда одинаково и не зависит от их места в записи числа. Самым известным примером непозиционной системы счисления 
является римская система счисления. В римской системе счисления для записи числа в качестве цифр используются буквы латинского алфавита.  
I – 1  V – 5  X – 10  L – 50  C – 100  D – 500  M – 1000  
В непозиционных системах счисления действия над числами связаны с 
большими трудностями, а правила их гораздо сложнее, чем в позиционных 
системах. В некоторых непозиционных системах (например, в римской) 
нельзя выразить отрицательные и дробные числа, поэтому непозиционные 
системы имеют ограниченное применение. 
Для записи чисел в римской системе используются два правила: 
1) каждый меньший знак, поставленный слева от большего, вычитается 
из него;  
2) каждый меньший знак, поставленный справа от большего, прибавляется к нему.  
III = 1+1+1=3   
IV = –1+5 = 4   
VI = 5+1 =6  
XL = –10+50 = 40   
LX = 50+10 = 60   
XC = –10+100 = 90  
CIX =100–1+10 = 109   
MCMXCVIII = 1000–100+1000–10+100+5+1+1+1=1998 
MMXV = 1000+1000+10+5=2015 
 
Римскую систему в основном используют для наименования порядковых 
номеров дат, томов, глав, реже лет. 
В ХХ веке получили известность и другие непозиционные системы, обладающие свойствами, ценными для какого-либо специфического применения. Например, греческая непозиционная двоичная система, последова5 
5


тельные числа в которой различаются не более чем 1 цифрой, нашла применение в преобразователях угол-код и перемещение-код. 
 
Позиционной системой счисления называется такое представление чисел, в котором последовательные числовые разряды являются последовательными целыми степенями некоторого целого числа, называемого основанием системы счисления. Основание системы счисления q показывает, во 
сколько раз изменяется количественное значение цифры при перемещении 
на соседнюю позицию и какое число различных цифр входит в алфавит 
системы счисления. Основанием системы счисления может быть любое 
натуральное число •2. Позиционные системы для записи чисел используют 
ограниченный набор символов, называемых цифрами, и величина числа зависит не только от набора цифр, но и от того, в какой последовательности 
записаны цифры, т. е. от позиции, занимаемой цифрой. 
Если основание системы q превышает 10, то цифры, начиная с 10, при 
записи обозначают прописными латинскими буквами: A,B,...,Z.  При этом 
цифре 10 соответствует знак 'A', цифре 11 – знак 'B' и т.д.  
q  
Название  
 
Цифры 
2  
двоичная  
 
0,1 
3  
троичная  
 
0,1,2 
8  
восьмеричная 
 
0,...,7 
16  
шестнадцатиричная 0,...,9,A, ...,F 
 
Число в позиционной системе счисления с основанием q может быть 
представлено в виде многочлена по степеням q следующим образом: 
 
m
m
n
n
n
n
q
x
q
x
q
x
q
x
q
x
q
x
X















 
...
...
1
1
0
0
1
1
2
2
1
1
,  
 
где X – запись числа в системе счисления с основанием q, 
       
i
x – цифра в i-ом разряде,  
       n – число разрядов целой части,  
       m – число разрядов дробной части. 
 
Записывая слева направо числа, получим закодированную запись числа в 
q-ичной системе счисления 
m
n
n
x
x
x
x
x
x
X




 
...
...
1
0
1
2
1
. 
 
Позиции, расположенные левее запятой, пронумерованы справа налево 
числами 0, 1, 2, …, а справа от запятой пронумерованы подряд слева 
направо –1, –2, … и т.д. Пронумерованные позиции называются разрядами. 
Последовательность цифр слева от запятой называется целой частью числа, 
а справа – дробной частью. 
В инженерных расчётах, как правило, используются именно позиционные системы счисления. Они же положены в основу арифметико–
6 
6


логических устройств подавляющего большинства ЭВМ. Как правило, это 
системы с целым основанием. 
В современных ЭВМ в настоящее время в основном используются позиционные системы счисления с основанием 2, 8, 16, хотя были попытки использования и других систем (например, троичной).   
 
Таблица 1.1 – Перевод чисел между системами счисления (СС) 
Десятичная СС 
Двоичная СС 
Восьмеричная СС 
Шестнадцате–
ричная СС 
0 
000 
0 
0 
1 
001 
1 
1 
2 
010 
2 
2 
3 
011 
3 
3 
4 
100 
4 
4 
5 
101 
5 
5 
6 
110 
6 
6 
7 
111 
7 
7 
8 
1000 
10 
8 
9 
1001 
11 
9 
10 
1010 
12 
А 
11 
1011 
13 
B 
12 
1100 
14 
C 
13 
1101 
15 
D 
14 
1110 
16 
E 
15 
1111 
17 
F 
16 
10000 
20 
10 
17 
10001 
21 
11 
18 
10010 
22 
12 
19 
10011 
23 
13 
20 
10100 
24 
14 
21 
10101 
25 
15 
22 
10110 
26 
16 
23 
10111 
27 
17 
24 
11000 
30 
18 
25 
11001 
31 
19 
26 
11010 
32 
1A 
27 
11011 
33 
1B 
28 
11100 
34 
1C 
29 
11101 
35 
1D 
30 
11110 
36 
1 E 
31 
11111 
37 
1F 
32 
100000 
40 
20 
 
7 
7


1.1. ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ  
 
Наиболее просто осуществить перевод чисел из р-ой позиционной системы счисления в t-ичную (или обратно), если имеет место соотношение p=tk, 
где k – целое положительное число. В этом случае перевод из р-ичной системы счисления в t-ичную осуществляется поразрядно, заменяя каждую ричную цифру равным ей k-разрядным числом в t-ичной системе счисления. 
Разбивка числа на группы по k цифр осуществляется при движении от запятой влево и вправо, если при этом самая левая и правая группы окажутся 
неполными, то к ним приписывается необходимое количество нулей. 
Рассмотрим перевод чисел из двоичной системы счисления в шестнадцатеричную:  
1) в исходном числе находим запятую. Если число целое, то полагаем 
расположение запятой за младшим разрядом; 
2) разбиваем исходное число на тетрады (т.е. 4 цифры) осуществляя при 
движении от запятой влево и вправо. Если количество цифр исходного 
двоичного числа не кратно 4, оно до-полняется в стороны от запятой незначащими нулями до достижения кратности 4; 
3) каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей. 
 
Пример 1.1. Выполнить перевод числа 1011010112 в шестнадцатеричную систему счисления.  
Так как число целое, то ставим запятую за младшим разрядом. Разбиваем исходное число 1011010112 на тетрады начиная с младших разрядов и двигаясь влево от запятой. Поскольку в исходном двоичном числе количество цифр не кратно 
4, дополняем его слева тремя незначащими нулями до достижения кратности 4 
числа цифр. Имеем: 
 
1011010112, = 1  0110  10112, = 0001  0110  10112 
 
В соответствии с таблицей   00012 = 116,  01102 = 616 и  11012 = D16.  Тогда 
1011010112 = 16D16. 
 
Аналогичным образом происходит перевод из шестнадцатеричной системы счисления в двоичную: 
1) каждая цифра исходного числа заменяется тетрадой двоичных цифр в 
соответствии с таблицей. Если в таблице двоичное число имеет менее 4 
цифр, оно дополняется слева незначащими нулями до тетрады; 
2) незначащие нули в результирующем числе отбрасываются 
 
Пример 1.2. Выполнить перевод числа 16D 16 в двоичную систему счисления.  
По таблице имеем: 116 = 12 и после дополнения незначащими нулями 12 = 00012; 
616 = 1102 и после дополнения незначащим нулем 1102 = 01102; D16 = 11012. Тогда 
16D16 = 0001  0110  10112. После удаления незначащих нулей имеем 16D16 = 
1011010112.  
 
8 
8


Пример 1.3. Перевести 11100,012  в шестнадцатеричную систему счисления. 
Принимая во внимание, что 16=24 и k=4,  
11100,012 = 11100,012 = 0001 1100, 01002 = 1С,416 
 
Пример 1.4. Перевести число 1АF,416 в двоичную систему счисления. 
1АF,416 = 1АF,416 = 0001 1010 1111, 01002=110101111,012 
 
Аналогичным образом производится перевод чисел из двоичной системы счисления в восьмеричную и обратно. Рассмотрим это на примерах. 
 
Пример 1.5. Перевести 1110101,10111112 в восьмеричную систему счисления. 
Так как 8=23, и k=3, то  
1110101,10111112 =1110101,10111112 = 
= 001 110 101,101 111 1002=165,5748 
 
Пример 1.6. Перевести 165,5748 в двоичную систему счисления. 
165,5748 = 165,5748 = 001 110 101,101 111 1002=1110101,10111112 
 
Легко осуществляется также перевод из одной системы счисления в другую, если основания системы являются целой степенью числа два. В этом 
случае перевод целесообразнее осуществить через двоичную систему счисления. 
 
Пример 1.7. Перевести число 76,58 в шестнадцатеричную систему счисления. 
165,5748 =001 110 101, 101 111 1002 = 0 0111 0101,1011 1110 02=75,DE16. 
 
Рассмотрим общие правила перевода чисел из одной системы счисления 
в другую. Правила перевода целых и дробных чисел различны. 
 
Правила перевода целых чисел 
Для перевода целого числа из одной системы в другую нужно последовательно делить это число и получаемые целые частные на основание системы счисления, в которую оно переводится. Деление выполняется до тех 
пор, пока не получится частное меньше основания. Последнее частное дает 
старший разряд числа в новой системе счисления, а следующие за ней цифры – это остатки, записываемые в последовательности, обратной их получению. 
Результатом такого перевода является целое число. 
Наиболее часто на практике приходится переводить целые числа из десятичной системы счисления в любую другую. Опишем алгоритм этих действий. 
Для перевода целых чисел из десятичной системы счисления в двоичную, 
восьмеричную или шестнадцатеричную: 
1) исходное целое число делится на основание системы счисления, в которую переводится (2, 8 или 16), получается частное и остаток; 
9 
9


2) если полученное частное не делится на основание системы счисления 
так, чтобы образовалась целая часть, отличная от нуля, процесс умножения 
прекращается, переходят к шагу 3). Иначе над частным выполняют действия, описанные в шаге 1); 
3) все полученные остатки и последнее частное преобразуются в соответствии с таблицей в цифры той системы счисления, в которую выполняется перевод; 
4) формируется результирующее число: его старший разряд – полученное последнее частное, каждый последующий младший разряд образуется 
из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа – первый остаток 
от деления, а старший – последнее частное. 
 
Пример 1.8. Выполнить перевод числа 27 в двоичную систему счисления:  
 
26 13 2 
 
 
1 
12 6 
2  
 
1 
6 
3 2 
 
 
0 
2 1 
 
 
 
1  
 
 
 
 
 
27 2 
 
 
 
 
 
 
Последнее частное от деления (последующее деление 1 
на 2 не дает целого частного). 
Это старший разряд результирующего двоичного числа. 
 
 
 
 
 
 
 
 
 
 
 
 
1 
1 
0 
1 1 
Результирующее число 
Таким образом 27(10)  ĺ 11011(2) 
 
Пример 1.9. Выполнить перевод числа 27 в восьмеричную систему счисления: 
27 8 
 
24 3 
3 
 
 
 
 
3 
3 
Результирующее число 
Таким образом 27(10)  ĺ 33(8) 
 
Пример 1.10. Выполнить перевод числа 27 в шестнадцатеричную систему счисления:  
 
27 16 
Полученный остаток 11 преобразуется в соответствии с таблицей в 
цифры шестнадцатеричной системы счисления 
16 1 
11  
 
 
1 
В 
Результирующее число 
10 
10


Доступ онлайн
от 272 ₽
В корзину