Автор: Пользователь скрыл имя, 26 Мая 2015 в 15:47, реферат
Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. В результате законченная программа получается компактной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, и может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
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, 9999). Появление меток в программе дает возможность изменять естественный ход
программы с помощью оператора управления 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;
где <селектор> - это выражение порядкового типа, а <список меток > - это значение селектора.
For N:=N1 to N2 do <оператор>;
For N:=N2 downto N1 do <оператор>;
Пока параметр цикла не больше (в первом варианте) или не меньше (во втором варианте) конечного значения - выполняется очередная итерация; в противном случае осуществляется выход из цикла.
2. Специальная часть
2.1 Постановка задачи
Необходимо разработать программу, предназначенную для перевода чисел из двоичной системы счисления: восьмеричную, шестнадцатеричную и обратно.
В данной программе предусмотреть:
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=('0000','0001','0010',
'1010','1011','1100','1101','
mas16:T16=’0,1,2,3,4,5,6,7,8,
2.4 Результат работы программы
Правильное функционирование программы по теме данного курсового проекта подтверждены следующими экранными формами:
Рисунок 4 - Титульный лист программы
Рисунок 5 - Меню программы
Рисунок 6 - Перевод из 2 сс в 8 сс
Рисунок 7 - Перевод из 2 сс в 16 сс
Рисунок 8 - Перевод из 8 сс в 2 сс
Рисунок 9 - Перевод из 16 сс в 2 сс
Рисунок 10 - Завершения работы программы
2.5 Инструкция по выполнению программы