Теоретические основы курсовой работы
В разделе описаны используемые в работе методы, команды, приёмы или системы.
Используемая система программирования. 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!