Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №1 Э11-21.doc
Скачиваний:
4
Добавлен:
03.08.2019
Размер:
2.52 Mб
Скачать

Лабораторная работа №1

Представление числовой информации с помощью систем счисления.

Программирование линейных алгоритмов.

Запись и считывание данных из файла последовательного доступа

Цель работы

Изучить представление числовой информации с помощью систем счисления (с/с) и методику перевода чисел из одной системы счисления в другую. Выработать практические навыки работы с оболочкой компилятора Visual Basic системы Visual Studio. Научиться создавать и отлаживать простейшие программы, реализующие линейные алгоритмы на языке Visual Basic. Изучить процедуру записи и считывания информации в файл.

Программа работы

  1. Ознакомиться с описанием лабораторной работы.

  2. В соответствии с вариантом задания (табл. 1) выполнить перевод из данной с/с в остальные (2 с/с, 8 с/с, 10 с/с и 16 с/с).

  3. Создать программу в среде Visual Basic калькулятора, основанного на линейном алгоритме и производящего перевод чисел из одной системы счисления в другую.

  4. Создать событийную процедуру записи результата преобразования в файл.

Основные сведения

Представление числовой информации с помощью систем счисления

Система счисления — знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами.

Все системы счисления делятся на две большие группы: позиционные и непозиционные системы счисления. В позиционных системах счисления значение цифры зависит от положения в числе (десятичная, двоичная и т.д.), а в непозиционных – не зависит (римская система счисления).

Каждая позиционная система имеет определенный алфавит цифр и основание. Основание системы равно количеству цифр (знаков в ее алфавите) и определяет, во сколько раз различается значения одинаковых цифр, стоящих в соседних позициях числа.

Десятичная система счисления имеет алфавит цифр, состоящий из десяти арабских цифр, и основание, равное 10, двоичная — две цифры и основание 2, восьмеричная — восемь цифр и основание 8, шестнадцатеричная – шестнадцать цифр (в качестве цифр используются и буквы латинского алфавита) и основание 16.

В общем случае в десятичной системе счисления запись числа А10, которое содержит n целых разрядов числа и m дробных разрядов числа, выглядит следующим образом:

A10=an-1∙10n-1+…+a0∙100+a-1∙10-1+…+a-m∙10-m

В общем случае в двоичной системе счисления запись числа А2, которое содержит n целых разрядов числа и m дробных разрядов числа:

A2=an-1∙2n-1+ an-2∙2n-2+…+a0∙20+a-1∙2-1+…+a-m∙2-m

В системах счисления с основанием q числа в развернутой форме записываются в виде суммы степеней основания q с коэффициентами, в качестве которых выступают цифры 0, 1, q-1:

Aq=an-1qn-1+ an-2qn-2+…+a0q0+a-1q-1+…+a-mq-m

Перевод чисел из одной системы счисления в другую

Перевод чисел в 10 с/с

Для перевода числа из q-ичной системы в десятичную необходимо записать его в развернутой форме и произвести вычисления.

Из 2 с/с в 10 с/с: 10,112=1∙21+0∙20+1∙2-1+1∙2-2=1∙2+0∙1+1∙1/2+1∙1/4=2,7510.

Из 8 с/с в 10 с/с: 67,58=6∙81+7∙80+5∙8-1=6∙8+7∙1+5∙1/8=55,62510.

Из 16 с/с в 10 с/с: 19F16=1∙162+9∙161+F∙80=1∙256+9∙16+15∙1=41510.

Перевод чисел из 10 с/с в 2 с/с, 8 с/с и 16 с/с

Алгоритм перевода целых десятичных чисел в 2 с/с, 8 с/с и 16 с/с:

  1. Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2, 8 или 16 для 2 с/с, 8 с/с или 16 с/с соответственно) до тех пор, пока не получится частное, меньшее делителя (т.е. меньшее 2, 8 или 16 для 2 с/с, 8 с/с или 16 с/с соответственно).

  2. Записать полученные остатки в обратной последовательности.

Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа А10=42410 в 16 с/с, т.е. из с/с с основанием р=10 в с/с с основанием q=16.

В процессе выполнения алгоритма все действия осуществляются в исходной с/с (здесь 10 с/с), а полученные остатки записываются цифрами новой с/с (здесь 16 с/с).

В результате получаем шестнадцатеричное число: A16=1A816.

Алгоритм перевода правильных десятичных дробей в 2 с/с, 8 с/с и 16 с/с:

  1. Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2, 8 или 16 для 2 с/с, 8 с/с или 16 с/с соответственно) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений.

  2. Записать полученные целые части произведения в прямой последовательности.

Рассмотрим перевод дробных чисел на примере перевода десятичной дроби А10=0,40625 в 8 с/с, то есть из с/с с основанием р=10 в с/с с основанием q=8.

В результате получаем восьмеричную дробь: А8=0,328.

Перевод чисел, содержащих и целую, и дробную части, производится в два этапа: отдельно переводится по соответствующему алгоритму целая часть и отдельно — дробная. В итоговой записи полученного числа целая часть от дробной отделяется запятой.

Перевод чисел из с/с с основанием p в с/с с основанием q

Чтобы перевести произвольное число из с/с с основанием р = 2m в с/с с основанием = 2n, необходимо:

  1. В р-ичном числе объединить разряды влево и вправо от запятой в группы по m разрядов в каждую.

  2. Если крайние группы окажутся неполными, то необходимо дополнить их нулями до полных групп.

  3. Рассмотреть каждую группу как n-разрядное q-ичное число и заменить его на соответствующую цифру системы счисления с основанием q.

Пример.

0001 1011 1111 0000 , 0110 10002 = 1BF0 , 6816

Программирование линейных алгоритмов

Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Операторы программы выполняются последовательно, один за другим, в соответствии с их расположением в программе.

Машинный код — команды процессора (микросхема, выполняющая все основные операции с числами).

Модуль — основная программа, подпрограмма или функция.

Компилятор — программа, переводящая модули программы в машинный код.

Интегрированная среда разработки языка Visual Basic

Visual Basic разработан корпорацией Microsoft специально для создания приложений, работающих под операционными системами из семейства Windows. Последняя версия этого продукта — Visual Basic 6 — входит в состав пакета программ для профессиональной разработки визуальных приложений Visual Studio 6 и представляет собой интегрированную среду разработки, т.е. программную среду, содержащую инструменты, которые позволяют значительно ускорить процесс разработки и создания программ. Эти возможности ставят Visual Basic 6 в один ряд с такими признанными лидерами в области визуального программирования, как Visual C++, Delphi, Bridge View и т.д.

Ниже мелким шрифтом изложен справочный материал по обзору интерфейса среды Visual Basic 6. Этот материал не обязателен для заучивания, а представлен здесь для ознакомления.

При первом запуске Visual Basic запускается мастер Project Wizard, и на экране появляется диалоговое окно New Project (рис. 1.1).

Рис. 1.1. Диалоговое окно New Project мастера Project Wizard

Здесь можно выбрать один из нескольких типов шаблонов проектов (т.е. заготовок программ с набором общих операторов), заметно облегчающих начало работы над приложением. Окно состоит из трех вкладок: New (Новые проекты), Existing (Существующие проекты) и Recent (Недавно использовавшиеся проекты). Для создания стандартного EXE-файла необходимо выбрать во вкладке New шаблон Standard EXE.

На рис. 1.2 изображена интегрированная среда разработки (IDE, Integrated Development Environment) Visual Basic и основные ее компоненты. Термин IDE в программировании обычно описывает интерфейс и среду, в которой разрабатываются приложения. Среда называется интегрированной, поскольку с экрана можно вызвать практически любой необходимый инструмент.

При наведении мыши на иконку (значок) появляется небольшое окно кремового цвета с подсказкой — кратким описанием назначения кнопки.

В верхней части окна IDE находится строка заголовка, которая состоит из имени проекта, после которого указана программная среда Microsoft Visual Basic. Слово [design] означает текущий режим работы — проектирование. В режиме выполнения проекта текст в квадратных скобках заменяется на [run].

Под строкой заголовка расположена строка главного меню.

Рис. 1.2. Интегрированная среда разработки (IDE) Visual Basic

Прямо под главным меню должна находиться панель инструментов Visual Basic (рис. 1.3). Если ее там нет, выполните команду [View > Toolbars > Standard]. Вообще говоря, всей средой Visual Basic можно управлять из главного меню, но панель инструментов упрощает доступ к самым необходимым командам.

Рис. 1.3. Панель инструментов Visual Basic

В правой части экрана под панелью инструментов закреплено окно проекта (рис. 1.4). Оно предназначено для быстрого получения информации о различных составляющих проекта — формах, классах и модулях.

Рис. 1.4. Окно проекта

Окно проекта отчасти напоминает окно Проводника Windows: в нем точно так же можно разворачивать и сворачивать вложенные папки.

Все объекты, составляющие приложение, объединяются в проект. Простейший проект обычно содержит одну форму, т. е. окно, используемое приложением. Большие приложения обычно содержат несколько форм, модулей (программа, подпрограмма, функция) и классов. Они также перечисляются в окне проекта.

Чтобы просмотреть форму, необходимо выделить ее в окне проекта и нажать кнопку View Object. Для просмотра программного кода (т.е. текста программы на Visual Basic), связанного с формой, следует нажать кнопку View Code.

Если вы захотите удалить из проекта объект, щелкните на его имени в окне проекта правой кнопкой мыши и выберите в контекстном меню команду Remove... Тип объекта указывается в команде после слова Remove.

Прямо под окном проекта находится окно свойств (рис. 1.5). В нем отображаются различные атрибуты (параметры или свойства) выделенных объектов. Каждая форма в приложении считается объектом. Каждый управляющий элемент (например, кнопка) на этой форме также считается объектом. Все объекты в Visual Basic имеют атрибуты – цвет и размер, название и т.д. Некоторые атрибуты изменяют не только внешний вид объекта, но и его поведение. Все эти атрибуты называются свойствами. Следовательно, каждая форма обладает набором свойств и каждый управляющий элемент на этой форме также обладает набором свойств. Все свойства каждого объекта отображаются в окне свойств. Если на форме выделено сразу несколько элементов, в окне свойств будут содержаться лишь общие для них свойства. В этом случае изменение свойства будет относиться сразу ко всем выделенным элементам.

Чаще всего значения свойств устанавливаются прямо в окне свойств во время создания приложения. Работа в IDE называется режимом конструирования (design time) – вы конструируете программу. Иногда значения свойств приходится изменять во время выполнения программы — скажем, заблокировать какую-нибудь кнопку. В таких случаях необходимо написать программный код, который изменяет нужное свойство. Это происходит в режиме выполнения программы.

Рис. 1.5. Окно свойств

Окно макета формы — простой и достаточно полезный инструмент (рис. 1.6). В нем выводится уменьшенное изображение текущей формы, по которому можно представить, как будет выглядеть, где находиться и какую часть экрана занимать форма во время работы приложения. Форму можно перетаскивать в окне макета, устанавливая на нужное место.

Рис. 1.6. Окно макета формы

В левой части экрана под панелью инструментов располагается панель элементов (рис. 1.7). Панель элементов содержит компоненты, из которых складывается интерфейс создаваемого приложения. Все кнопки панели (за исключением стрелки-указателя наверху слева), соответствуют объектам (управляющим элементам), которые вы можете размещать на формах в своих приложениях (кнопки, текстовые поля и т.д.). Для добавления объекта необходимо выбрать его на пенели элементов и расположить в нужной части формы. После размещения элементов можно задать их свойства. Щелкните на элементе, чтобы сделать его активным, и измените нужные значения в окне свойств.

Рис. 1.7. Панель элементов Visual Basic

Окно конструктора форм является основным рабочим окном и расположено в центре окна IDE. Именно в этом окне происходит визуальное конструирование графического интерфейса разрабатываемого приложения. Размеры формы можно менять, перетаскивая мышью правую или нижнюю границу формы.

С формой связан программный модуль, содержащий программные коды процедур. Для ввода и редактирования текста программы служит окно программного кода (рис. 1.8). Под строкой заголовка окна размещаются два раскрывающихся списка. Левый список содержит перечень объектов проекта (объектов, размещенных на форме), а правый — перечень событий доступных для выбранного объекта.

Рис. 1.8. Окно программного кода в Visual Basic

Чтобы открыть окно программного кода, можно дважды щелкнуть на форме или располагающемся на ней элементе. Если двойной щелчок был сделан на форме, будет загружена процедура (фрагмент программы, выполняющий взаимосвязанные задачи) этой формы. Окно программы также открывается кнопкой View Code в окне проекта. Если двойной щелчок был сделан на элементе, загружается процедура (подпрограмма) элемента. После открытия окна программы вы можете перейти к любой процедуре любого объекта, находящегося на выделенной форме.