Файл: КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ (язык программирование бортовой компьютер).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 230

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

writeln;

textcolor(13);

writeln(' ':15,'Поехали!');

textcolor(14); t:=0;

randomize; {инициализация генератора случайных чисел}

i:=0; vs:=0; j:=0; {обнуляем переменные}

vr:=round(ss/tf); {рекомендуемая средняя скорость}

repeat {начало прогона}

GetTime(h,min,s,ds);

tvr:=s+(min*60)+(h*3600);

if (vs=0) then for i:=1 to 10 do

begin

{пусть на заданном интервале скорость меняется случайным образом в пределах +- 1-ца от рекомендуемой 10 раз}

v:=(random(2*100)+100*(vr-1))/100;

vs:=vs+v;

end;

if (tvr>vnp) and ((tvr-vnp) mod tin =0) and ((tvr-vnp)>t) and ((tf-t)>tin) then begin

t:=tvr-vnp;{разница между временем старта и текущим временем}

write('TPR ->',t,' ¦ ');

vsz:=vsz+vs; {средняя скорость, рекомендуемая к данному моменту времени}

j:=j+10; {общее число замеров скорости}

vszs:=vsz/j;

vs:=vs/10; { средняя скорость на отрезке}

rs:=rs+vs*tin; {пройденный к данному моменту времени путь}

write ('PRS->',rs:3:3,' ¦ ');

write ('VS ->',vs:3:3,' ¦ ');

vs:=0;

write ('VSZ->',vszs:3:3,' ¦ ');

writeln('TOST->',tf-t,' ¦ ');

vrk:=(ss-rs)/(tf-t);

writeln('Рекомендуемая скорость->',vrk:4:4);

writeln;

end;

until (tvr-vnp)>=tf; {конец цикла – время истекло}

vs:=vs/10;

rs:=rs+vs*(tf-t);

t:=tvr-vnp;

write('TPR ->',t,' ¦ ');

if (tf-t)<tin then vs:=vrk*10;

vsz:=vsz+vs;

j:=j+10; {общее число замеров скорости}

vszs:=vsz/j;

write ('PRS->',rs:3:3,' ¦ ');

write ('VS ->',vs/10:3:3,' ¦ ');

write ('VSZ->',vszs:3:3,' ¦ '); writeln('TOST->',tf-t,' ¦ ');

sound(2000); delay(7000); nosound; textcolor(13); {звуковой сигнал – время истекло}

if rs>=ss {если время прогона меньше заданного}

then writeln(' ':15,'Успели!') else writeln(' ':15,'Не успели!');

GetTime(h,min,s,ds);

TextColor(12); {Установка цвета "времени"}

GoToXY(40,25);

Write('Время финиша ->:');

Write(h,' час ',min,' мин ',s,' сек');

textcolor(14);

readkey

end; {конец процедуры}

Далее рассматривается процедура, с помощью которой реализуется вывод на экран текстового файла справки.

procedure punkt3; {процедура, соответствующая 3-му пункту меню}

var txt:char; {объявляются локальные переменные процедуры}

help:text; {переменная – текстовый файл}

begin

clrscr;

assign(help,'hlp.txt'); {ассоциируется файловая переменная с именем файла}

writeln;

textcolor(13);

writeln;

textcolor(14);

{$I-}

Reset(help); {открывается файл для чтения}

{$I+}

if IOresult<>0 then {если ошибка возникла – файл не найден}

begin

textcolor(4);

writeln('Ошибка! Файл помощи отсутствует'); readkey;

textcolor(14);

exit; {завершение работы процедуры}

end else {если файл найден}

While not EOF(help) do {пока не будет достигнут конец файла}

begin

{считывается из файла символ и выводится на экран}

Read(help,txt); Write(txt);

end;

writeln;

writeln;

Writeln('Press any key ...');

writeln;

readkey;

end; {конец процедуры}

Далее следует основная программа, в которой процедуры и функции могут вызываться сколь угодно раз.


begin

ch:=#0; {переменная, в которой будет храниться код нажатой клавиши}

menu[1]:='1. Ввод начальных данных ';

menu[2]:='2. Работа программы ';

menu[3]:='3. Справка ';

menu[4]:='4. Exit ';

punkt:=1; {изначально выбран 1-й пункт меню}

x:=5; {координаты курсора}

y:=5;

TextAttr:=NORM;

MenuToScr; {вызов процедуры вывода меню на экран}

repeat {начала цикла, в котором на экран выводятся пункты меню}

ch:=ReadKey; {считывается код нажатой клавиши}

if ch=char(0) then begin ch:=ReadKey;

case ch of {в зависимости от того, какую клавишу нажал пользователь}

chr(80):{ стрелка вниз }

if punkt<N then begin

GoToXY(x,y+punkt-1); write(menu[punkt]);

punkt:=punkt+1; {номер выбранного пункта возрастает на единицу}

TextAttr:=SEl;

GoToXY(x,y+punkt-1);

write(menu[punkt]); TextAttr:=NORM;

end;

chr(72):{ стрелка вверх }

if punkt>1 then begin

GoToXY(x,y+punkt-1); write(menu[punkt]);

punkt:=punkt-1;

TextAttr:=SEl;

GoToXY(x,y+punkt-1);

write(menu[punkt]);

TextAttr:=NORM;

end;

end;

end

else

if ch=chr(13) then begin { нажата клавиша <Enter> }

case punkt of {вызывается соответствующая процедура, в зависимости от номера выбранного пункта}

1:punkt1;

2:punkt2;

3:punkt3;

4:ch:=chr(27);{ выход – нажата клавиша Esc}

end;

MenuToScr; {вызов процедуры вывода меню на экран}

end;

until ch=chr(27);{ условие выхода из цикла, 27 - код <Esc> }

end. {конец программы}

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

ЗАКЛЮЧЕНИЕ

Язык программирования высокого уровня Паскаль обладает большими возможностями для решения достаточно широкого круга задач.

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

В первой главе курсовой работы была произведена классификация языков программирования высокого уровня, рассмотрены сферы их применения, вкратце изложены их основные особенности, достоинства и недостатки.

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

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


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

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

Рассмотренные теоретические сведения были применены для реализации практической части курсовой работы.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.

2. Ашарина, И.В. Основы программирования на языках C и C++ / И.В. Ашарина. - М.: ГЛТ, 2012. - 208 c.

3. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

4. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2012. - 408 c.

5. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.

6. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.

7. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.

8. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 224 c.