Теоретические основы курсовой работы



В разделе описаны используемые в работе методы, команды, приёмы или системы.

 

Используемая система программирования. Turbo Pascal

Turbo Pascal — это среда разработки для языка программирования Паскаль. Используемый в Turbo Pascal диалект базировался на более раннем UCSD Pascal, получившем распространение, в первую очередь, на компьютерах серии Apple II. Компилирующая компонента Turbo Pascal была основана на компиляторе Blue Label Pascal, первоначально созданном в 1981 году Андерсом Хейлсбергом для операционной системы NasSys микрокомпьютера Nascom. Позднее он был переписан как Compass Pascal для операционной системы CP\M, затем как Turbo Pascal для DOS и CP/M. Одна из версий Turbo Pascal была доступна под Apple Macintosh примерно с 1986 года, но её разработка прекратилась примерно в 1992 году.

В 1982 году Филипп Кан приобрёл компилятор у Андерса Хейлсберга и перебрался из Парижа в Калифорнию, где основал компанию Borland.

Когда в 1983 году появилась первая версия Turbo Pascal, такой тип среды разработки был относительно новым. Во время дебюта на американском рынке Turbo Pascal продавался по цене в $49,99. Помимо привлекательной цены, встроенный компилятор Паскаля также был очень высокого качества. Приставка «Turbo» намекала как на скорость компиляции, так и на скорость производимого им исполняемого кода. Turbo Pascal создавал машинный код за один проход, без шага компоновки.

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

За первые два года было продано не менее 300 тысяч копий компилятора, что превзошло объём продаж всех прочих языков для микрокомпьютеров.

Для того времени это была потрясающая среда разработки. Она была проста и интуитивно понятна, с хорошо организованным меню. Ранние версии использовали раскладку горячих клавиш WordStar. В более поздних версиях появилась возможность быстро получить определение ключевого слова языка, просто поставив курсор на ключевое слово и нажав клавишу справки. Справочные статьи часто включали примеры кода, использующего данное ключевое слово. Это позволяло неопытным программистам изучать Паскаль даже без помощи книг, используя лишь среду разработки. В поставку входило большое количество исходных текстов демонстрационных и прикладных программ. В их числе были даже шахматы.

Среда позволяла легко встраивать в код на Паскале вставки на языке ассемблера. Пользователь имел возможность проходить программу шаг за шагом; при переходе на ассемблерный блок это также работало. В любой момент пользователь мог добавить переменную или регистр в удобно расположенное окно для наблюдения за ними. При построчной отладке программ, используют их графические режимы IBM PC, происходило корректное переключение между графическим режимом программы и текстовым режимом среды разработки.

С 1995 года в Borland прекратили разработку Turbo Pascal и предложили в качестве замены среду разработки Delphi. Новая версия языка подверглась изменению (в особенности объектно-ориентированное программирование ), и языку вернулось изначальное название, закреплённое разработчиками Apple Object Pascal. Старая объектная модель Turbo Pascal и соответствующий синтаксис поддерживался как устаревший, использование обеих объектных моделей одновременно в одной и той же программе не поддерживается.

 

Технология построения меню

Оператор выбора (Case) представляет собой более мощ­ную абстракцию ветвлений. С его помощью можно описать действия, ко­торые связаны с множественными ветвлениями. Оператор состоит из вы­ражения и списка вариантов, каждый из которых помечен константой того же типа, что и выражение. Тип значений выражения ­­– ска­лярный (за исключением real). Оператор Case имеет вид:

Case <переменная> of <список ветвлений>

Case, of – служебное слово

<переменная> - описывается в разделе var. Для правильной работы оператора выбора необходимо ввести в эту переменную конкретное значение.

<Список ветвлений> -выполняется то действие, которое соответствует значению переменной

Процедура Case может иметь неограниченное количество ветвлений.

С помощью оператора выбора из списка вариантов для исполнения выбирается тот оператор, метка которого равна текущему значению переменной. Если такой метки нет в списке меток, действие оператора не определено. Порядок операторов в списке ветвлений произвольный, но каждая из меток должна быть уникальной. В качестве примера, иллюстрирующего применение оператора выбора, ниже приведена схема программы оформ­ления “диалогового меню”, которое позволяет по желанию пользователя выбрать вариант продолжения работы программы. При этом переменная C является выражением, значение которого определяет вариант.

var

C :Integer;

begin

Write (‘Введите номер варианта (1-3)’);

case Cof

1:begin

. . . . . {вычисления по варианту 1}

end;

2:begin

. . . . . {вычисления по варианту 2}

end;

3:begin

. . . . . {вычисления по варианту 3}

end;

end; { закрытие процедуры case}

end;


 

 

Циклы. Виды циклов

Операторы цикла позволяют описать повто­ряющийся процесс. Действия, которые повторяются, принято называть телом цикла.  В общем случае количество повторений тела цикла должно быть каким-либо способом задано. Иначе такой процесс будет бесконеч­ным.

 Для завершения повторений необходимо связать возврат в начало тела цикла с некоторым условием, которое можно задать в виде явного счетчика или другим способом. В жизни это обычная и часто повторяю­щаяся ситуация. Человек делает что-то либо определенное количество раз, либо выполняя действия “до тех пор” или “пока” (стучит три раза, читает до темноты или пока светло и т. п.). 

Основным способом проверки возможного окончания цикла является определение функции f(x) (X – множество переменных программы) такой, что f(X) £ 0 удовлетворяет условию окончания, а также доказательства того, что эта функция убывает. Простейшим видом такой функции является обычный счетчик, т.е. функция вида i:=i-1 или i:=i+1 (единица вычита­ется или прибавляется после каждого повторения). В первом случае убы­вает некоторое начальное значениеi(например, n) до некоторого конеч­ного значения (например,1). Тогда условием завершения цикла будет i £ 1и количество повторений будет равно n. Во втором случае счет можно начать с i равного 1 и убывать будет разность между текущим значением i и ко­нечным значением n, проверка которой на меньше или равно нулю равно­значна проверке условияi £ n.

Переменнуюi в этом случае называютпараметром цикла, а сам цикл, в котором она используется циклом с параметром.  При этом для большинства языков программирования, и языка Паскаль в том числе, при­нято следующее соглашение: начальное и конечное значения параметра цикла нельзя переопределять в теле цикла и после естественного выхода из цикла значение параметра не определено, т.е. использовать его значение для дальнейших вычис­лений нельзя.

Циклу с параметром соответ­ствуют блок-схемы алгоритмов, приведенные на Рис. 1а,б. При этом Рис. 1асоответствует циклу с предусловием, а Рис. 1б – циклу с постусловием.

 

 

 

Вид оператора цикла с предусловием:

while <условие > do <оператор >

 

Пример программы с циклом с предусловием:

programPrimer1;

Var

I,Y :Integer;

X,S : Real;

Begin

Write (‘Введите аргумент степенной функции х= ’);

ReadLn (X);

Write (‘Введите показатель степени’);

ReadLn (Y);

S :=1;

I :=1;

whileI<Ydo

Begin

S :=S*X;

I :=I+1

end;

WriteLn (X,’ в степени ’,Y,’ равно ‘,S)

End.

Особенностью цикла с преду­словием является то, что его тело можетне выполниться ни разу (условие проверяется до входа в тело цикла). Для цикла с постусловием, наоборот, характерно то,что его тело обязательно выполниться хотя бы один раз. Поэтому при использо­вании операторов цикла нужно знать, каким образом организована про­верка этого условия.

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

Вид оператора цикла с постусловием:

 

repeat <список операторов> until <условие>

  

Пример программы с циклом с постусловием:

 

ProgramPrimer2;

Var

I : Integer;

E,X,P,S : Real;

Begin

Write (‘Введите аргумент функции Sin(x), x= ’);

ReadLn (X);

Write (‘Введите точность e=’);

ReadLn (E);

S :=X;

P :=X;

X2 :=X*X;

I :=3;

Repeat

P :=-P*X2/(I*(I-1));

S :=S+P;

I:=I+2

untilAbs(P)<E;

WriteLn (’Sin (’, X, ’) = ‘, S);

End.

 

Существует еще один вид цикла. Это цикл с параметром. Который сам изменяет параметр цикла, т.е. наращивает(или уменьшает) его на единицу.

Вид оператора цикла с параметром:

 

For i:=1 to 10 do <оператор>

 

В данном примере параметром цикла является переменная I. Цикл будет выполняться 10 раз. После выполнения программа переходит к следующему оператору.

 

Пример программы с циклом с параметром:

programPrim3;

Var

I,Y: Integer;

X,S : Real;

Begin

Write (‘Введите аргумент степенной функции X= ’);

ReadLn (X);

Write (‘Введите показатель степени’);

readLn (Y);

S :=1;

forI :=1toYdoS :=S*X;

WriteLn (X,’ в степени ’,Y,’ равно ‘,S)

End.

 

Поиск информации в базе

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

 

Алгоритм построения блока поиска:

 

1. Создаем переменную для поиска и переменную – признак (было найдено искомое или нет) Например: Var Poisk:string; k:integer;

2. Открываем входной файл для поиска Reset(имя файла);

3. Выполняем ввод в переменную для поиска.

4. Переменной признака присваиваем значение 0.

5. Организуем цикл While not eof(имя файла) do

6. Считываем запись из файла (Например: read(a,telspr);).

7. Сравниваем переменную поиска с полем записи по которому осуществляет поиск.

8. Если условие Истина, то вывести информацию об этой записи и переменной. Признаку присваиваем значение 1.

9. Сравниваем параметр. Если параметр не равен 1, то выводим на экран сообщение «Записи не найдены» Например if k<>1 then writeln(‘Записи не найдены’);

10. Закрываем входной файл Close(имя файла).

Файлы типа «Запись»

 

В Паскале существуют файлы, элементами которого может быть структура «Запись».

Файл является последовательностью записей одинакового типа. Такая разновидность файлов называется «Типизированные» фалы. Они применяются в основном для создания различных баз данных. Чтобы организовать в программе работу с таким файлом, выполняются следующие действия:

1. Описать в разделе типов нестандартный тип данных для записи, задавая произвольные названия (Например ZAP).

TYPE ZAP=RECORD

        A:CHAR;

        B:REAL;

    END;

2. Задать файл в разделе var и этому файлу задать описанный в разделе TYPE нестандартный тип VAR F:FILE OF ZAP;

3. Для обращения к файлу описывается в разделе VAR специальная переменная такого же типа. ZR:ZAP;

Для создания файла информация запрашивается с клавиатуры. Например: writeln(‘Ведите…’);

Readln(имя записи. имя поля);

Заполняются все поля записи и запись выводится в файл. Writeln(f,zr);

Где f – имя файла, ZR – имя записи.

Поля можно вывести: writeln(zr.a,’ ’,zr.b);

Обработка элементов файла ведется в цикле. Например:

While not eof(f) do…

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

 


Дата добавления: 2018-06-27; просмотров: 449; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!