Здесь можно найти учебные материалы, которые помогут вам в написании курсовых работ, дипломов, контрольных работ и рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.
Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение оригинальности любого файла в формате MS Word. После такого повышения оригинальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, РУКОНТЕКСТ, etxt.ru. Программа «StudentHelp» работает по уникальной технологии так, что на внешний вид, файл с повышенной оригинальностью не отличается от исходного.
Результат поиска
Наименование:
Курсовик ПРОГРАММА ЗАПИСИ ДВОИЧНОГО ЧИСЛА В ВОСЬМИРИЧНОЙ И ШЕСТНАДЦАТИРИЧНОЙ СИСТЕМАХ СЧИСЛЕНИЯ И НАОБОРОТ
Информация:
Тип работы: Курсовик.
Предмет: Программирование.
Добавлен: 08.11.2016.
Год: 2015.
Страниц: 27.
Уникальность по antiplagiat.ru: 50. *
Описание (план):
Введение ………. 3 1. Общая часть 1.1 Цель и анализ использования разработки ……….…… 5 1.2 Характеристики компьютера и среды программирования ………. 6 1.2.1 Характеристика интегрированной среды программирования Pascal ABC…6 1.2.2 Характеристики операционной системы Windows 8……… ..8 1.2.3 Характеристики компьютера………...10 1.3 Характеристика языка программирования ………..11 1.3.1 История образования языка программирования Pascal…….……...11 1.3.2 Структура программы на языке Паскаль………...12 1.3.3 Типы данных в Pascal ………..13 1.3.4 Основные операторы Pascal ……….14 2. Специальная часть 2.1 Постановка задачи ………...17 2.2 Схема алгоритма программы 2.2.1 Схема алгоритма основной программы………...18 2.2.2 Схема алгоритма процедуры iz 2 v 8………19 2.3 Описание процесса отладки ……….……...20 2.4 Результат работы программы ……….. . ….21 2.5 Инструкция по выполнению программы …….………... .24 Заключение ……….……...25 Список используемых источников ……….…….26 Приложение А. Текст программы с комментариями……….……….27
ВВЕДЕНИЕ
Информационные технологии занимают все более значимую роль в человеческом обществе. Они проникли во все сферы деятельности. Для обслуживания общественных потребностей в автоматизации труда, хранения данных, связи и др. развиваются языки программирования. Если раньше языки программирования использовались лишь для создания программ, автоматизации вычислительных процессов, то на сегодняшний день они используются для решения более разнообразных задач. Процесс решения задачи на персональном компьютере (ПК) — это совместная деятельность человека и машины. Его условно можно разделить на несколько этапов. Человеку отводятся шаги, связанные с творческой деятельностью (постановкой, алгоритмизацией, программированием задачи и анализа результатов), на долю компьютера этапы обработки информации в соответствии с разработанным алгоритмом. При этом говорят, что компьютер выполняет программу (последовательность команд), реализующую данный алгоритм. Команды, предназначенные для ПК, должны быть представлены в виде, понятном машине. Для этого и применяются языки программирования. Существуют такие языки, которые отражают структуру данного класса машин, и поэтому их называют машинно-ориентированны и языками или низкого уровня. Чтобы реализовать заданный алгоритм с помощью языка низкого уровня необходимо записать программу, представляющую собой определенную последовательности нулей и единиц. Особенностью этих языков является жесткая ориентация на определенный тип аппаратуры. В стремлении приспособить эти языки к человеку, был разработан язык символического кодирования-языка ассемблера. Для облегчения труда программистов были созданы языки программирования, которые строились на основе определенного алфавита и строгих правил построения предложений. Отличительной особенностью этих языков является ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определенного класса алгоритмов. Такие языки принято называть языками программирования высокого уровня. К ним относятся: Бейсик, Фортран, Паскаль, Си и многие другие. Так как текст записанной программы на языках высокого уровня не понятен ПК, требуется перевести его на машинный язык. Такой перевод на язык машинных кодов называется трансляцией, а выполняется он специальными программами – трансляторами. Существует два основных вида трансляторов: интерпретаторы и компиляторы. Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов. Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. В результате законченная программа получается компактной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, и может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
1. Общая часть 1.1 Цель и анализ использования разработки
Целью данного курсового проекта является разработка программы на тему: «Программа записи двоичного числа в восьмеричной шестнадцатеричной системах счисления и наоборот». Данная программа может быть полезна студентам и учащимся во время изучения специализированных тем обучения по информатике, при проверке преподавателем решённых контрольных работ, для увеличения безошибочной проверки контрольных работ. Программа принимает во внимание психо-эмоциональный аспект учащихся, так как студентам и ученикам удобнее работать с компьютером. Система счисления – это способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами. Все системы счисления делятся на: позиционные и непозиционные. Непозиционными системами являются такие системы счисления, в которых каждый символ сохраняет свое значение независимо от места его положения в числе. Примером непозиционной системы счисления является римская система. К недостаткам таких систем относятся наличие большого количества знаков и сложность выполнения арифметических операций. Система счисления называется позиционной, если одна и та же цифра имеет различное значение, определяющееся позицией цифры в последовательности цифр, изображающей число. Это значение меняется в однозначной зависимости от позиции, занимаемой цифрой, по некоторому закону. Примером позиционной системы счисления является десятичная система, используемая в повседневной жизни. Двоичная – это родная система счисления компьютера. Она используется компьютером для внутреннего представления данных. На самом низком уровне вычисления в компьютере происходят именно в двоичной системе. Для записи чисел в этой системе счисления используется всего лишь две цифры: 0, 1. Двоичные числа, т.к. они состоят всего из двух цифр, длиннее своих десятичных эквивалентов, поэтому программистам, которые пишут свои программы на языках низкого уровня (Ассемблер, С++ также позволяет работать на низком уровне), не очень удобно использовать двоичные числа. Они предпочитают пользоваться восьмеричной и шестнадцатеричной системами счисления, т.к. с помощью них можно сокращённо записывать двоичное число. Восьмеричная система счисления использует цифры от 0 до 7, а шестнадцатеричная использует цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и буквы A, B, C, D, E, F. Эти буквы являются, соответственно, эквивалентами чисел десятичной системы 10, 11, 12, 13, 14, 15.
1.2 Характеристики компьютера и среды программирования
Программа по теме данного курсового проекта разрабатывалась в среде Pascal ABC, в операционной системе Windows 8.
1.2.1 Характеристика интегрированной среды программирования Pascal ABC
Язык Паскаль признан многими российскими преподавателями как один из лучших именно для начального обучения. Однако, среда Pascal, ориентированная на MS DOS, устарела, а среда Borland Delphi с ее богатыми возможностями сложна для начинающего программиста. Так, попытка начинать обучение с написания событийной программы в Borland Delphi вызывает у обучаемого массу сложностей и приводит к ряду неправильно сформированных навыков. Система Pascal ABC основана на языке Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентирова ному, событийному и компонентному программированию. Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения. Например, в модулях может отсутствовать разделение на секцию интерфейса и секцию реализации. В этом случае модули устроены практически так же, как и основная программа, что позволяет приступить к их изучению параллельно с темой "Процедуры и функции". В языке Pascal ABC имеются арифметические операции с типизированными указателями (в стиле языка C), а также тип complex, предназначенный для работы с комплексными числами. Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Pascal ABC, и в 50 раз медленнее этой программы, откомпилированной в среде Borland Delphi. В системе Pascal ABC можно выполнять так называемые проверяемые задания, обеспечивающие постановку задачи со случайными исходными данными, контроль операций ввода-вывода, проверку правильности решения, а также ведение протокола решения задач. Основной экран интег¬рированной среды разработчика Pascal ABC включает в себя следующие эле¬менты: строку меню, рабочую область и строку состояния. В меню содержатся следующие разделы: ? File - позволяет выполнять все основные действия с файлами (создание, от¬крытие, сохранение); ? Edit - позволяет выполнять все основные операции редактирования текста (копирование, вставка, удаление фрагментов, отмена последних измене-ний); ? Search - позволяет осуществлять поиск и замену фрагментов текста; ? Run - позволяет запускать программу, в том числе в пошаговом режиме; ? Compile - позволяет осуществлять компиляцию программы; ? Debug - содержит команды, облегчающие процесс поиска ошибок в про¬грамме; ? Tools - содержит некоторые дополнительные средства Паскаль; ? Options - позволяет установить необходимые для работы параметры компилятора и среды разработчика; ? Window - позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер); ? Help - позволяет получить имеющуюся в системе справочную информацию. Интегрированная среда программирования Pascal ABC имеет следующие возможности: ? множество накладывающихся окон; ? поддержка мыши, меню, диалоговых окон; ? многофайловый редактор, который может редактировать файлы до 1 Мб; ? расширенные возможности отладки; ? полное сохранение и восстановление среды разработки.
1.2.2 Характеристики операционной системы Windows 8
Windows 8 — операционная система, принадлежащая к семейству ОС Microsoft Windows, в линейке следующая за Windows 7 и разработанная транснациональной корпорацией Microsoft. Номер версии в линейке NT — 6.2. Поступила в продажу 26 октября 2012 года. По различным данным, на январь 2014 года доля операционной системы Windows 8 среди используемых в мире для доступа к сети Интернет составила от 10,58 % до 13,4 %. Серверной версией является Windows Server 2012. Windows 8, в отличие от своих предшественников — Windows 7, Windows Vista, Windows XP и более ранних, использует новый интерфейс под названием Metro. Этот интерфейс появляется первым после запуска системы; он схож по функциональности с рабочим столом — стартовый экран имеет плитки приложений (сродни ярлыкам и иконкам), по нажатию на которые запускается приложение, открывается сайт или папка (в зависимости от того, к какому элементу или приложению привязана плитка). Интерфейс Metro ориентирован на сенсорный экран, но не исключает пользование на не сенсорных ПК. Довольно большое количество нововведение в файловой системе ReFS лежит именно в области создания структур папок и файлов, а самое главное, управления ими. Эти изменения рассчитаны на автоматическое изменение исправление ошибок объектов файловой системы и самой системы, максимальное масштабирование, а самое главное, на работу в режиме постоянного подключения. Ядром файловой системы ReFS является таблица объектов, которая называется центральным каталогом и в которой перечислены все таблицы системы. Также в системе присутствует и «классический» рабочий стол, в виде отдельного приложения. Вместо меню «Пуск» в интерфейсе используется «активный угол», нажатие на который открывает стартовый экран. Прокрутка в Metro-интерфейсе идет горизонтально. Также, если сделать жест уменьшения (или нажать на минус внизу экрана), будет виден весь стартовый экран. Плитки на стартовом экране можно перемещать и группировать, давать группам имена и изменять размер плиток (доступно только для плиток, которые были изначально большими). В зависимости от разрешения экрана система автоматически определяет количество строк для плиток — на стандартных планшетных компьютерах три ряда плиток. Цвет стартового экрана меняется в новой панели управления, также меняется и орнамент на заднем фоне. Windows 8 — переосмысленная Windows 7, и приёмы работы с рабочим столом остались теми же. 1.2.3 Характеристики компьютера
Программу данного курсового проекта можно запустить на любом компьютере. Данная программа разрабатывалась на ПК со следующими характеристиками: ? установленная операционная система: Windows 8 ? процессор: AMD Athlon(tm) ll Dual-Core M340 2.20 GHz ? код процессора: 3400M ? количество ядер процессора: 2 ? объем кэша L2: 4 Мб ? чипсет: AMD RS880M ? память: 3072 DDR2 ? количество слотов памяти: 2 ? дисплей: 15.6 дюймов, 1366x768, широкоформатный ? тип графического контроллера: дискретный и встроенный ? графический чипсет: NVIDIA GeForce G 210M ? видеопамять: 1024 Мб GDDR2 ? оптический привод: DVD-RW, внутренний ? жесткий диск: 250 Гб Serial ATA ? скорость вращения жесткого диска: 5400 об/мин ? LAN/Modem: сетевая карта 10/100 Мбит/c ? беспроводная связь: Bluetooth, Wi-Fi 802.11n ? интерфейсы: USB 2.0x3, VGA (D-Sub), HDMI, вход микрофонный, выход аудио/наушники, LAN (RJ-45) ? устройства позиционирования: Touchpad ? встроенные колонки: есть ? встроенный микрофон: есть ? веб-камера: есть.
1.3 Характеристика языка программирования
Для написания программы по теме данного курсового проекта был выбран язык программирования высокого уровня Паскаль, так как он изучался в рамках таких дисциплин как: «Основы программирования», «Прикладное программирование» и в некоторой степени в рамках дисциплины «Технология разработки программного обеспечения».
1.3.1 История образования языка программирования Pascal
Паскаль – язык программирования, созданный в конце 60-х годов (1967-1968 гг.) швейцарским профессором Николаусом Виртом специально для обучения программированию. Стандарт языка был разработан учёным в 1974 г. совместно с Кетлин Дженсен. Название языку было дано в честь выдающегося французского математика. Язык Паскаль характеризуется чёткой структурой программы, простотой и ясностью конструкций. Строгая типизация языка значительно сокращает количество ошибок в программах. С появлением компьютеров, Паскаль начал широко использоваться для программирования. Для операционной системы MS-DOS самое большое распространение приобрела реализация языка Паскаль фирмы Борланд под названием Турбо Паскаль. Когда возникла операционная система Windows, эта же фирма создала мощную среду программирования Delphi на основе существенно расширенного языка Паскаль (Object Pascal). По своей идеологии Паскаль наиболее близок к современной методике и технологии программирования. В частности, он достаточно полно отражает идеи структурного программирования, что довольно хорошо видно даже из основных управляющих структур языка. Паскаль хорошо приспособлен для применения технологии разработки программ сверху-вниз (пошаговой детализации). Паскаль содержит большое разнообразие различных структур данных, что обеспечивает простоту алгоритмов, а следовательно, снижение трудоемкости при разработке программ.
1.3.2 Структура программы на языке Паскаль
Структура программы на языке Паскаль имеет вид: PROGRAM ‹имя›; LABEL ‹метка›, …‹метка›; CONST ‹имя›=‹константа›; ‹имя›=‹константа›; TYPE ‹имя›=‹тип›; ‹имя›=‹тип›; VAR ‹имя›:‹тип›; ‹имя›:‹тип›; PROCEDURE ‹имя›; ‹блок›; FUNCTION ‹имя›; ‹блок›; BEGIN ‹оператор›; ‹оператор›; END. Служебные слова BEGIN – END называются операторными скобками. В целом программа состоит из заголовка, блока и точки. Порядок следования разделов в описательной части (LABEL, CONST, TYPE, VAR, PROCEDURE, FUNCTION) может быть произвольным, но необходимо помнить, что если программа нестандартные исходные данные, то они должны быть описаны выше, чем встречается ссылка на них. Раздел LABEL. Любой оператор в программе можно выделить, поставив перед ним метку. Метка – это целое число без знака, содержащее не более 4 цифр (1, 15, 100, 999). Появление меток в программе дает возможность изменять естественный ход программы с помощью оператора управления GOTO. Метка от оператора отделяется двоеточием (1:READ(X,Y); 100:WRITELN(НЕВЕРНЫЙ ВВОД);). Все метки должны быть перечислены в разделе LABEL(LABEL 1, 100;). Раздел может отсутствовать, если меток в программе нет. Раздел CONST. В этом разделе даются имена тем константам, которые часто встречаются, громоздки по записи или впоследствии могут быть изменены. CONST GOD=365; E1=1E-9; E=2.7182818; STROKA=’ФУНКЦИЯ’; Раздел TYPE. Служит для определения простых нестандартных или сложных типов данных. Раздел VAR. В этом разделе обязательно определяются все переменные, задействованные в программе. VAR A, B, C:INTEGER; R10, R100:REAL; C1, C2:CHAR; B:BOOLEAN;
1.3.3 Типы данных в Pascal
В языке Паскаль разрешается обрабатывать данные простых (скалярных) и сложных типов. Простые типы являются базовыми для построения сложных. Простой тип может быть стандартным или задаваться пользователем. К простым стандартным типам относятся: вещественный (действительный), целочисленный (целый), символьный (литерный), логический (булевский). Данные, обрабатываемые программой, записанной на языке Pascal, принадлежат к одному из следующих типов, классификация которых представлена на схеме:
Рисунок 1 - Схема «Типы данных в Pascal»
В Pascal предусмотрен механизм создания новых типов данных, благодаря чему общее количество типов, используемых в программе, может быть увеличено. Типы данных определяются диапазоном значений, количеством байт, отводимых для хранения значений данных определенного типа.
1.3.4 Основные операторы Pascal
Для разработки программы линейной, ветвящейся и циклической структуры используются операторы: присваивания, условный, безусловный, выбора, цикл с параметром, цикл с постусловием, цикл с предусловием. ? Выполнение оператора присваивания заключается в вычислении значения выражения и присваивании его переменной, стоящей в правой части; переменная и выражение должны быть совместимы по типу. Структура оператора: ‹переменная›:=‹выражение› ? Условный оператор используется для организации разветвлений в программах. Структура оператора в полной форме: If ‹условие› then ‹оператор 1› else ‹оператор 2›; в неполной форме: If ‹условие› then ‹оператор ›, где ‹оператор ›,‹оператор 1 ›,‹оператор 2 › - это любой оператор языка Паскаль, в том числе и составной, который имеет следующую структуру: Begin ‹оператор 1›;‹оператор 2›;...;‹оператор N› end; Составной оператор позволяет объединить несколько операторов в один. Здесь Begin и end представляют собой операторные скобки. ? Оператор варианта Case ‹селектор› of ‹список меток 1›: ‹оператор 1›; ‹список меток 2›: ‹оператор 2›; … ‹список меток n›: ‹оператор n›; End; где ‹селектор› - это выражение порядкового типа, а ‹список меток › - это значение селектора. ? Выполнение оператора цикла с предусловием заключается в следующем: пока значение логического выражения истинно - выполняется оператор в теле цикла; в случае ложного значения логического выражения осуществляется выход из цикла. Оператор цикла с предусловием имеет следующую структуру: While ‹логическое выражение› do ‹оператор›; ? Выполнение оператора цикла с постусловием заключается в следующем: если значение логического выражения ложно, то выполняется группа операторов внутри цикла; в случае истинного значения логического выражения осуществляется выход из цикла. Оператор цикла с предусловием имеет следующую структуру: Repeat ‹оператор› until ‹логическое выражение›; ? Оператор цикла с параметром организует выполнение одного оператора в теле цикла заранее известное число раз. ? Существуют два варианта оператора: For N:=N1 to N2 do ‹оператор›; For N:=N2 downto N1 do ‹оператор›; Пока параметр цикла не больше (в первом варианте) или не меньше (во втором варианте) конечного значения - выполняется очередная итерация; в противном случае осуществляется выход из цикла.
2. Специальная часть 2.1 Постановка задачи
Необходимо разработать программу, предназначенную для перевода чисел из двоичной системы счисления: восьмеричную, шестнадцатеричную и обратно. В данной программе предусмотреть: 1) Вывод меню следующего вида: ? при выборе пункта 1 обеспечить: a) ввод двоичного числа в виде последовательности нулей и единиц (S2); b) контроль за отсутствием в строке (S2) символов, отличных от ‘0’ и ’1’; c) приписывание слева к введённой строки S2 одного нуля, если остаток от деления её длины на 3 равен двум и двух нулей, если остаток равен единице; d) выделение из исходной последовательности S2 справа налево троек символов с последующей их заменой на цифры 0, 1, 2, 3, 4, 5, 6, 7 в соответствии с таблицей : 000(0), 001(1), 010(2), 011(3), 100(4), 101(5), 110(6), 111(7), для помещения их в строку S2; e) вывод на экран строки S8. ? при выборе пункта 2 обеспечить: a) ввод двоичного числа в виде последовательности нулей и единиц (S2); b) контроль за отсутствием в строке (S2) символов, отличных от ‘0’ и ’1’; c) приписывание слева к введённой строке одного нуля, если остаток от деления её длины на 4 равен трём, двух нулей, если остаток равен двум, трёх нулей, если остаток равен единице; d) выделение из исходной последовательности справа четвёрок символов с последующей заменой их на символы: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F, соответствующие группам символов: 000 , 0001, 0010,0011.0100,0101,0110, 111,1000,1001,1010,1011,110 ,1101,1110,111; для помещения их в строку S2; e) вывод на экран строки S16. ? обеспечить контроль при выходе из программы по нажатию клавиши “0”; ? при выборе пункта 3 и 4 обеспечить тот же контроль что и в пункте 1 и 2; 2) Предусмотреть номер пункта меню с пренадлежностью введённого значения, отрезку [0;4];
2.2 Схема алгоритма программы 2.2.1 Схема алгоритма основной программы
Рисунок 2 - Блок-схема главной программы
2.2.2 Схема алгоритма процедуры iz 2 v 8
Рисунок 3 - Блок-схема процедуры iz 2 v 8 Алгоритмы процедур iz 2 v 16, iz 8 v 2, iz 16 v 2, в основной части схожи с алгоритмом процедуры iz 2 v 8.
2.3 Описание процесса отладки
Отладка является неотъемлемым элементом процесса программирования. В общем случае она сводится к установлению места и точной причины возникновения ошибки и её устранению. В процессе отладки программы данного курсового проекта были обнаружены и исправлены такие ошибки, как: ? расстановление операторных скобок, допущение логических ошибок при определении пункта меню, при определении нажатой клавиши, при определении выбранного символа при вводе числа. ? неправильное распределение позиции на экране, для вывода меню программы. ? неверный ввод команды для завершения цикла, в результате чего цикл работал бесконечное число раз. Программа не запускалась от того, что был неправильно описан массив (mas1) (Ошибка преобразования типов). Например: procedure iz2v16; Type tar=array[0..15] of string[4]; T16=array[0..15] of char; var s2,chet,s16,s:string n,p,i:integer mas:tar=(000,0001,0010,001 ,0100,0101,0110,0111,1000 1001, 1010,1011,1100,1101,1110,111) (Отсутствовал const) mas16:T16=’0,1,2,3,4 5,6,7,8,9,A,B,C,D,E, ’; (Цифры и буквы перечислены подряд, в кавычках и без скобок)
2.4 Результат работы программы
Правильное функционирование программы по теме данного курсового проекта подтверждены следующими экранными формами:
Рисунок 4 - Титульный лист программы
Рисунок 5 - Меню программы
Рисунок 6 - Перевод из 2 сс в 8 сс
Рисунок 7 - Перевод из 2 сс в 16 сс
Рисунок 8 - Перевод из 8 сс в 2 сс
Рисунок 9 - Перевод из 16 сс в 2 сс
Рисунок 10 - Завершения работы программы
2.5 Инструкция по выполнению программы
Программа по теме «Программа записи двоичного числа в восьмеричной, шестнадцатеричной системах счисления и наоборот». Для запуска программы необходимо запустить файл Builov.exe. Далее следует работать по указаниям программы: 1) для продолжения работы программы нажмите любую клавишу; 2) из меню программы необходимо выбрать один пункт (от 0 до 4) т.е. ? для работы по переводу чисел из 2 сс в 8 сс ? ввести 1 ? для работы по переводу чисел из 2 сс в 16 сс ? ввести 2 ? для работы по переводу чисел из 8 сс в 2 сс ? ввести 3 ? для работы по переводу чисел из 16 сс в 2 сс ? ввести 4 ? для завершения работы программы ? ввести 0; 3) при требовании ввода числа в 8 сс необходимо использовать цифры: 0, 1, 2, 3, 4, 5, 6, 7. 4) при требовании ввода числа в 16 сс необходимо использовать символы от 0 до 9 и букв латинского алфавита (без учёта регистра) от A до F (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). ЗАКЛЮЧЕНИЕ
В результате работы над курсовым проектом были закреплены навыки составления алгоритма для поставленной задачи и воплощения этого алгоритма в текст программы, написанной на языке Pascal. Также одной из основных: задач является обучение правильному оформлению документации программы, что немаловажно для специалиста. Кроме этого были получены основные сведения об отладке программ и улучшены навыки работы в прикладных программах, например Microsoft Word. Уровень сложности поставленной задачи позволял реализовать основные этапы разработки реальных программ и расширить границы знания в области программирования на языке Паскаль. Программирование богато и многообразно. Ведь кажется нет такой сферы человеческой деятельности, где нельзя было бы с пользой применить вычислительную машину для оценки, планирования, моделирования и т.п. И это многообразие задач переходит в многообразие программ, которые должны разрабатывать программисты. Они пытаются справиться с этим многообразием, «заключив» его в проблемно — ориентированные языки программирования. Языки вбирают в себя специфические черты конкретных сфер программирования - характерные структуры данных, принципы организации типичных процессов, соответствующую терминологию и таким образом делают сам процесс программирования более универсальным. После того, как любая более или менее сложная задача сформулирована, каждый программист снова и снова остается один на один со своей собственной задачей: ему нужно составить программу. Выбрать, как именно следует расположить и связать данные в памяти, понять, какая именно последовательность операторов, способных выполнить поставленную задачу. И как организовать операторы в цикл, который будет с каждым шагом приближать машину к намеченной цели. Выбрать, понять, изобрести, проверить, усомниться и повторить всё с начала. СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1 Андреева Е., Фалина И. Системы счисления и компьютерная арифметика. Изд. 2-е,-М.: Лаборатория Базовых Знаний, 2008. – 327 с. 2 Погодин С.В. «Лекции по информатике: Системы счисления». Методические разработки для учащихся образовательных учреждений. г. Нелидово, Тверская область, 2012. – 527 с. 3 Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: учебник для студ. учреждений сред. проф. образования. – М.: Издательский центр «Академия», 2013. – 304 с. 4 Рудаков А.В. Технология разработки программных продуктов – 2-е изд., стер. – М.: Издательский центр «Академия», 2006. – 208 с. 5 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов. – М.: Бином. Лаборатория Знаний, 2013. – 435 с. 6 gost/2_701-84/) сайт теории и практики программирования в среде Pascal ABC 2010-2013.
Приложение А Текст программы с комментариями
Program semen; uses crt; var x,y:integer; c,w:char; t,s8,s16:string; const mas1:array[0..7] of string[3]=(000,001,010, 11,100,101,110,111);
procedure iz2v8; const m:array[0..7] of string=(000,001,010,011, 00,101,110,111); var s,s2:string; n,i,p,pp:integer; begin repeat clrscr; writeln; Gotoxy(10,1); textcolor(15); {Очистка, координаты текущей позиции x и y, цвет текста} writeln(Перевод из 2 сс в 8 сс); writeln; textcolor(11); Gotoxy(0,3); textcolor(11); {Цвет текста} write(Введите число в 2-й сс ); x:=wherex; y:=wherey; repeat Gotoxy(x,y); clreol; Readln(s2); n:= Length(s2); pp:=0; for i:=1 to n do if s2[i] in [0,1] then pp:=pp+1; until pp=n; s8:=; s:=s2; Case n mod 3 of {Добавление нулей} 1:s2:=00+s2; 2:s2:=0+s2; end; writeln; writeln; n:=length(s2); while n›0 do begin t:=copy(s2,n-2,3); delete(s2,n-2,3); for c:=0 to 7 do if t=mas1[c] then s8:=c+s8; n:=length(s2); end; writeln(s, ===› ,s8); writeln; write(Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ); readln(p); until p=0; //iz2v8:=s8; end;
procedure iz2v16; //Программа перевода чисел из 2сс в 16сс Type tar=array[0..15] of string[4]; T16=array[0..15] of char; var s2,chet,s16,s:string {Описание переменных} n,p,i:integer; const mas:tar=(000,0001,0010,001 ,0100,0101,0110,0111,1000 1001,1010,1011,1100,1101, 110,111); mas16:T16=(0,1,2,3,4, ,6,7,8,9,A,B,C,D,E,F ; begin repeat clrscr; writeln; Gotoxy(10,1); textcolor(15); {Очистка, координаты текущей позиции x и y, цвет текста} writeln(Перевод из 2 сс в 16 сс); writeln; textcolor(11); Gotoxy(0,3); textcolor(11); {Цвет текста} write(Введите число в 2-й сс ); x:=wherex; y:=wherey; repeat Gotoxy(x,y); clreol; readln(s2); n:=length(s2); s:=s2; s16:=; for i:=1 to n do until s[i] in [0,1]; Case n mod 4 of {Добавление нулей} 1:s:=000+s; 2:s:=00+s; 3:s:=0+s; end; writeln; writeln; n:=length(s); while n›0 do begin chet:=copy(s,n-3,4); delete(s,n-3,4); for i:=0 to 15 do if chet=mas[i] then s16:=mas16[i]+s16; n:=length(s); end; writeln(s2, ==› ,s16); writeln; write(Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ); readln(p); until p=0; end;
procedure iz8v2; const m:array[0..7] of string=(000,001,010,011, 00,101,110,111); var s,s2,s8:string; n,i,p,pp:integer; begin repeat clrscr; writeln; Gotoxy(10,1); textcolor(15); {Очистка, координаты текущей позиции x и y, цвет текста} writeln(Перевод из 8 сс в 2 сс); writeln; textcolor(11); Gotoxy(0,3); textcolor(11); {Цвет текста} write(Введите число в 8-й сс ); x:=wherex; y:=wherey; repeat Gotoxy(x,y); clreol; Readln(s8); n:= Length(s8); pp:=0; for i:=1 to n do if s8[i] in [0..7] then pp:=pp+1; until pp=n; s:=; for i:=1 to n do s:=s+m[s8[i]]; writeln; writeln(s8, ==› ,s); writeln; writeln(Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ); readln(p); until p=0; end;
procedure iz16v2; const m:array[0..F] of string=(000,0001,0010,0011, 100,0101,0110,0111, 1000,1001,,,1010,1011,1100,110 ,1110,111); var s,s2,s16:string; n,i,p,pp:integer; begin repeat clrscr; writeln; Gotoxy(10,1); textcolor(15); {Очистка, координаты текущей позиции x и y, цвет текста} writeln(Перевод из 16 сс в 2 сс); writeln; textcolor(11); Gotoxy(0,3); textcolor(11); {Цвет текста} write(Введите число в 16-й сс ); x:=wherex; y:=wherey; repeat Gotoxy(x,y); clreol; Readln(s16); n:= Length(s16); pp:=0; s16:=UpperCase(s16); for i:=1 to n do if s16[i] in [0..9,A..F,a..f] then pp:=pp+1; until pp=n; s:=; for i:=1 to n do s:=s+m[s16[i]]; writeln; writeln(s16, ==› ,s); writeln; writeln(Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ); read; readln(p); until p=0; end;
begin textbackground(1); TextSize(18); Clrscr; //Титульный лист Gotoxy(17,5); TextColor(14); write(Программа записи двоичного числа в восьмиричной,); Gotoxy(17,6); TextColor(14); write(шестнадцатирич ой системах счисления и наоборот); Gotoxy(47,13); TextColor(14); write(Руководитель:) Gotoxy(61,14); TextColor(11); write(Кулида Н.П); Gotoxy(47,15); TextColor(14); write(Выполнил студент группы ВЭПК-401: ); Gotoxy(61,16); TextColor(11); write(Буйлов С.Н); Gotoxy(40,22); TextColor(11); write(2015, ); Gotoxy(25,24); TextColor(11); write(Для продолжения нажмите любую клавишу); c:=readkey;
repeat clrscr; window(18,5,70,24); Gotoxy(10,1); textcolor(15); writeln; writeln(Меню программы:25); writeln; textcolor(11); {Меню программы} writeln(Перевод из 2 сс в 8 сс , :10, ===› 1); writeln; writeln(Перевод из 2 сс в 16 сс , :9, ===› 2); writeln; writeln(Перевод из 8 сс в 2 сс , :10, ===› 3); writeln; writeln(Перевод из 16 сс в 2 сс , :9, ===› 4); writeln; writeln(Выход из программы , :14, ===› 0); writeln; writeln; write(Выберите пункт меню (0..4) ); x:=wherex; y:=wherey; {Координаты текущей позиции x и y} repeat Gotoxy(x,y); ClrEol; {Удаление символа строки} readln(w); until w in [0..4]; Case w of {Соединение процедур} 1:begin iz2v8 end; 2:begin iz2v16 end; 3:begin iz8v2 end; 4:begin iz16v2 end; 0:exit; end; until w=0; End. ... 1 Андреева Е., Фалина И. Системы счисления и компьютерная арифметика. Изд. 2-е,-М.: Лаборатория Базовых Знаний, 2008. – 327 с. 2 Погодин С.В. «Лекции по информатике: Системы счисления». Методические разработки для учащихся образовательных учреждений. г. Нелидово, Тверская область, 2012. – 527 с. 3 Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: учебник для студ. учреждений сред. проф. образования. – М.: Издательский центр «Академия», 2013. – 304 с. 4 Рудаков А.В. Технология разработки программных продуктов – 2-е изд., стер. – М.: Издательский центр «Академия», 2006. – 208 с. 5 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов. – М.: Бином. Лаборатория Знаний, 2013. – 435 с. 6 gost/2_701-84/) сайт теории и практики программирования в среде Pascal ABC 2010-2013.