Автор: Пользователь скрыл имя, 18 Ноября 2011 в 05:08, контрольная работа
Pascal
Pascal – язык программирования высокого уровня, написанный Никлаусом Виртомом, является компилятором, преобразует программу для запуска и занимает больший объем, чем, например, Basic, который является интерпретатором и занимает меньший объем.
Калькулятор 1
Кодирование программных модулей начинается с управляющего программного модуля, в результате чего получаем оттестированный управляющий программный модуль «Калькулятор 1». Для тестирования и отладки программные модули второго уровня заменяются заглушками, за исключением программного модуля «ожидание» (Wait), который взят из библиотеки стандартных программных процедур, поэтому его можно подключать к программному комплексу без тестирования[1]. На рисунке 1 показан пример того, как выглядит сам Pascal, а так же написание программы «Калькулятор 1».
Федеральное
государственное
высшего профессионального образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
ИГУРЭ
Информационные технологии
ОТЧЕТ
Технология нисходящего программирования
Программная реализация
Преподаватель Васина Г.И
Студент ПЭ-09-08 Кильмурзина К.В
Красноярск 2009
Содержание
ВВЕДЕНИЕ
В данной практической работе, с помощью программы Pascal, работа была направлена на создание калькулятора по уровням отладки.
Pascal – язык программирования высокого уровня, написанный Никлаусом Виртомом, является компилятором, преобразует программу для запуска и занимает больший объем, чем, например, Basic, который является интерпретатором и занимает меньший объем.
Кодирование программных модулей начинается с управляющего программного модуля, в результате чего получаем оттестированный управляющий программный модуль «Калькулятор 1». Для тестирования и отладки программные модули второго уровня заменяются заглушками, за исключением программного модуля «ожидание» (Wait), который взят из библиотеки стандартных программных процедур, поэтому его можно подключать к программному комплексу без тестирования[1]. На рисунке 1 показан пример того, как выглядит сам Pascal, а так же написание программы «Калькулятор 1».
Рисунок 1 – Калькулятор 1
На рисунке видно, что Pascal имеет две панели инструментов, с помощью которых с легкостью возможна работа с программой. Полное написание программы можно рассмотреть в приложении А.
После отладки управляющего программного модуля заглушки программных модулей второго уровня кодируют и проверяют одновременно с управляющей программой. При этом программные модули третьего уровня заменены заглушками, за исключением программного модуля «Жди_время», который, как и программный модуль «Ожидание», взят из библиотеки стандартных программных процедур[1]. Листинг по «Калькулятор 2» можно рассмотреть в приложении Б.
В «Калькулятор 3» существуют три программных модуля, то есть третий уровень отладки позволяет производить расчет данных. Листинг по данной работе проведен в приложении В.
Заключительным этапом разработки программного комплекса является кодирование и отладка программных модулей третьего уровня и программного комплекса целиком. Завершенным вариантом является «Калькулятор 3».
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Практикум по вычислительной технике и программированию.
ПРИЛОЖЕНИЕ А
Листинг по калькулятору с первым уровнем отладки
program Calculator;
uses WinCRT, WinDOS;
var N :char; {выполняемое арифметическое действие}
a,b , {числа}
rezult :real;{результат}
waittime :word;{число
секунд приостановки
{----------Меню----------}
procedure menu;
begin writeln (' Меню');
end ;
{----------Заставка---------}
procedure Zastavka;
begin ClrScr; writeln (' Калькулятор');end;
{----------Ввод a и b----------}
procedure input;
begin writeln (' Ввод a и b');
end;
{-------Ввод требуемого арифметического действия------}
procedure operation;
begin writeln ('
Ввод требуемого
end;
{------------Вычисления-------
procedure calculation;
begin writeln (' Вычисления'); end;
{----Временная
остановка выполнения
procedure wait;
begin
gotoxy(1,23);write (' Выход-Enter'); readln; end;
{-----Управляющая программа-----}
begin
Menu;readln; Zastavka;
Input;
Operation;
Calculation; Wait;
end.
ПРИЛОЖЕНИЕ Б
Листинг по калькулятору с первым и вторым уровнями отладки
program Calculator;
uses WinCRT, WinDOS;
var N :char; {выполняемое арифметическое действие}
a,b , {числа}
rezult :real;{результат}
waittime :word;{число
секунд приостановки
{---Приостановка
выполнения программы на
procedure WaitDos (WaitTime:word);
var House, Minute, Second, Sec100, Second0:word;
begin
GetTime (House, Minute, Second, Sec100);
if WaitTime+Second >= 60 then Second0 :=WaitTime + Second-60
else Second0:=Second + WaitTime; repeat
GetTime (House, Minute, Second, Sec100); until
Second=second0; end;
{----------Меню----------}
procedure menu;
const stroka1=' +сложение';
stroka2='
stroka3='
stroka4='
begin
ClrScr; gotoXY (20,3);
Продолжение приложения
Б
writeln ('Выполняемые действия'); gotoxy (1,6);
writeln (Stroka1);
writeln (stroka2);
writeln (stroka3);
writeln (stroka4); end ;
{----------Заставка---------}
procedure Zastavka;
begin ClrScr; gotoxy (15,1); writeln ('Федеральное государственное образовательное учреждение');
gotoxy (23,2); writeln ('высшего
профессионального образования'
gotoxy (24,3); writeln ('"СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ"');
gotoxy (29,10); writeln ('Лабораторная работа №1');
gotoxy (22,11); writeln ('Технология
нисходящего программирования')
gotoxy (29,12); writeln ('Программная реализация');
gotoxy (5,20); writeln ('Студент
gotoxy (5,21); writeln ('Преподаватель
gotoxy (25,24); writeln (' Красноярск, 2009');
WaitDos (3); end;
{---------Сложение----------}
procedure add;
begin writeln ('Сложение'); end;
{---------Вычитание---------}
procedure subtract;
begin writeln ('Вычитание'); end;
{---------Умножение----------}
procedure multiplay;
begin writeln ('Умножение'); end;
{---------Деление------------}
procedure devision;
begin writeln ('Деление'); end;
{----------Ввод a и b----------}
procedure input;
begin writeln ('Введите значение a'); readln (a);
writeln ('Введите значение b'); readln (b); end;
{-------Ввод требуемого
арифметического действия------
procedure operation;
var Flag: boolean;
begin writeln;
repeat gotoxy (1,17); ClrEol; gotoxy (1,17);
Write ('Введите требуемое действие '); readln (N);
Flag :=(N='+') or (N ='-') or (N='*') or (N='/');
if not Flag then
begin gotoxy(1,19);
Writeln ('Вы ошиблись, повторите ввод'); end;
until Flag;
gotoxy (1,19); ClrEol; Writeln;
end;
{------------Вычисления-------
procedure calculation;
begin
Case N of
'+':Add;
'-':Subtract;
'*':Multiplay;
'/':Devision;
end;
end;
{----Временная
остановка выполнения
procedure wait;
begin
gotoxy(1,23);write ('Выход-Enter'); readln;
end;
{-----Управляющая программа-----}
begin
Zastavka; Menu;
Input;
Operation;
Calculation; Wait; end.
ПРИЛОЖЕНИЕ В
Листинг по калькулятору со всеми уровнями отладки
program Calculator;
uses WinCRT, WinDOS;
var N :char; {выполняемое арифметическое действие}
a,b , {числа}
rezult :real;{результат}
waittime :word;{число
секунд приостановки
{---Приостановка выполнения программы на заданное время---}
procedure WaitDos (WaitTime:word);
var House, Minute, Second, Sec100, Second0:word;
begin
GetTime (House, Minute, Second, Sec100);
if WaitTime+Second >= 60 then Second0 :=WaitTime + Second-60
else Second0:=Second + WaitTime; repeat
GetTime (House, Minute, Second, Sec100); until
Second=second0; end;
{----------Меню----------}
procedure menu;
const stroka1='
stroka2='
stroka3=' *умножение';
stroka4='
begin
ClrScr; gotoXY (20,3);
writeln ('Выполняемые действия'); gotoxy (1,6);
writeln (Stroka1);
writeln (stroka2);
writeln (stroka3);
writeln (stroka4); end ;
{----------Заставка---------}
procedure Zastavka;
begin ClrScr; gotoxy (15,1); writeln ('Федеральное государственное образовательное учреждение');
gotoxy (23,2); writeln ('высшего
профессионального образования'
gotoxy (24,3); writeln ('"СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ"');
gotoxy (29,10); writeln ('Лабораторная работа №1');
gotoxy (22,11); writeln ('Технология
нисходящего программирования')
gotoxy (29,12); writeln ('Программная реализация');
gotoxy (5,20); writeln ('Студент
gotoxy (5,21); writeln ('Преподаватель
gotoxy (25,25); writeln (' Красноярск, 2009');