Разработка программы в среде операционной системы Windows XP Professional Service Pack 2
Характеристика используемой операционной системы, языка программирования. Структура программы на языке Turbo Pascal 7.1. Операторы языка Turbo Pascal. Проведение сортировки записей. Алгоритмы программы и подпрограмм. Причины возникновения ошибок.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.06.2014 |
Размер файла | 454,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
Конец XX - начало XXI века характеризуется стремительным развитием информационно-коммуникационных технологий, которые глубоко внедрились в нашу повседневную жизнь. На данный момент очень трудно назвать какую - либо сферу деятельности человека, где бы, они не использовались. Применение компьютеров избавляет от выполнения трудоемких задач, позволяя сконцентрироваться на сущности проблемы. Компьютеры используются при моделировании процессов, позволяя находить наиболее оптимальные решения. Облегчают взаимодействие между людьми, делают нашу жизнь более комфортной.
В связи с этим серьезные требования предъявляются и к аппаратной части современных компьютеров, и к используемому программному обеспечению.
Если аппаратура компьютера, даже самые простейшие ее компоненты, с самого начала разрабатывались и выпускались в соответствии с установленным технологическим процессом, то какой-то определенной технологии разработки программных продуктов первое время не существовало. Разработчики опирались в основном на свой личный опыт, используя кустарные способы разработки. Такой подход не мог не отразиться на качестве разрабатываемых программных продуктов, сроках их разработки и, следовательно, на их стоимость.
В дальнейшем, необходимо было создать индустриальные способы разработки программных продуктов, которые включали бы в себя различные передовые инженерные методы и средства создания программных продуктов. Эти методы и средства были объединены общим понятием «программная инженерия».
В настоящее время существует множество видов ПО для решения практически любых прикладных задач. Весь комплекс ПО делится на
системные и пользовательские программы.
Системное программное обеспечение выполняет функции «организатора» всех частей ПК, а также подключенных к нему внешних устройств.
Пользовательские программы служат для выполнения каких - либо конкретных задач во всех сферах человеческой деятельности.
В различных учебных заведениях, предприятиях, фирмах часто используют такие программы как текстовые редакторы - Microsoft Word, электронные редакторы таблиц - Microsoft Excel, математические редакторы - MathCAD и различные системы программирования - Delphi, Java, С++, PhP, Turbo Pascal.
Если человек имеет дело с компьютером или другим устройством, которое можно программировать, то рано или поздно у него возникнет желание, а иногда и необходимость, программировать.
В настоящее время формализованы многие задачи, возникающие в процессе человеческой деятельности, и все шире осуществляется их автоматизация на основе средств вычислительной техники. Одним из методов формализации является алгоритмическое решение задач. Эффективность алгоритмического метода заключается в том, что он позволяет легко автоматизировать решение задачи путем составления программы на одном из языков программирования.
Простым в изучении, хорошо формализованным и широко распространенным языком программирования является язык Turbo Pascal.
Его формальная строгость, высокая мощность конструкций объявления и обработки данных, возможности объектного программирования, а также общая направленность на обучение методам программирования выгодно выделяют этот язык среди других языков программирования высокого уровня.
1. Общая часть
1.1 Цель и анализ использования разработки
Программа - это последовательность команд написанных на одном из языков программирования, для выполнения какой либо задачи. Программа может дополнительно содержать данные, используемые в процессе исполнения (текстовые и типизированные файлы, модули).
Каждая программа отвечает за свой конкретный участок работы. Одни помогают создать тексты или графику, другие наводить порядок на жестком диске, третьи - работать в сети Internet.
Цель данного курсового проекта состоит в том, что необходимо произвести сортировку записей, соответствующих каждому из студентов в алфавитном порядке по их фамилии, а так же по номерам групп.
Использование программы позволит быстро и легко произвести сортировку в алфавитном порядке записей, соответствующих каждому из студентов по их фамилии и по группе.
Основная задача в последующем - это периодическое систематическое обновление базы данных, а фактически корректировка типизированного файла student.dat.
Программу легко адаптировать для любого учебного заведения, где необходимо произвести сортировку записей, соответствующих каждому из студентов (учеников) в алфавитном порядке и узнать об их успеваемости.
1.2 Характеристика используемой операционной системы
Программа данного курсового проекта разработана в среде операционной системы Windows XP Professional Service Pack 2.
В ОС Windows гораздо лучше, по сравнению с другими ОС, налажено взаимодействие между пользователем и компьютером. Большинство повседневных задач выполняется с меньшими, чем когда-либо затратами времени. Решено также большинство проблем с распределением памяти.
Windows ХР, выпущенная корпорацией Microsoft в 2001 году, является новой ОС семейства Windows, созданной на базе технологии NT. Она собрала в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений.
Windows ХР сочетает в себе стабильность систем ветви NT/2000 с дружественным пользовательским интерфейсом «домашних» версий Windows. Она представляет собой объединение этих двух направлений развития Windows -- теперь все их достоинства объединились в ХР. Хотя по-прежнему существуют версии, Windows ХР и Windows ХР Professional, различия между ними не так уж существенны и состоят в основном в том, что в домашней версии немного меньше инструментов для обеспечения безопасности и инструментов администрирования, а в профессиональной - немного больше. Но сути, это одна и та же операционная система.
Windows ХР Home предназначена для домашних пользователей и небольших предприятий. Windows ХР Home поддерживает работу в сети, совместное использование модема и другие средства.
Windows ХР Professional предназначена для выполнения более сложных вычислений. Она поддерживает сложные средства обеспечения безопасности, групповые политики, перемещаемые профили пользователей, протокол безопасности Kerberos и многое другое. Windows ХР Professional лучше работает на переносных компьютерах, чем Windows XР Home, поскольку содержит лучшие средства управления питанием, а также лучше работает с беспроводными подключениями к Internet.
Есть в Windows ХР и другие, не менее важные новшества. DOS больше не входит, как интегрированная часть в ядро системы, хотя функции DOS по-прежнему доступны в режиме командной строки. Средства работы с графикой и мультимедиа интегрированы в операционную систему и не рассматриваются, как некие «дополнительные» возможности.
Операционная система стала более надежной. Богатые возможности интерфейса и поддержка современных средств работы с графикой и мультимедиа позволят легко менять и то, как выглядит система, и то, как она работает.
В Windows ХР проблема программной совместимости различных приложений с операционной системой решена достаточно эффективно. Разработчики включили в состав ОС специальную функцию Режим совместимости, создающую для программ, изначально рассчитанных на работу с более ранними версиями Windows, соответствующее окружение. В специальном разделе системного каталога хранится набор динамических библиотек, которые могут потребоваться для запуска различного «устаревшего» ПО. Режим совместимости обеспечивает поддержку приложений в режимах Windows 95» Windows NT 4.0, Windows 98/ME и Windows 2000. Если с одной из этих операционных систем программа работала корректно, она будет стабильно работать и с Windows ХР.
Windows ХР поддерживает стандарты ISA, USB, PCI, SCSI, PS/2, корректно работает с устройствами Plug and Play. Если оборудование нормально работало под управлением Windows 2000 или Windows ME, скорее всего, оно будет работать и с Windows ХР. Помимо прочего оборудования Window ХР по умолчанию поддерживает множество новой периферийной аппаратуры, такой как цифровые фото- и видеокамеры, сканеры, USB-микрофоны, оборудование для Интернет-телефонии и видеоконференцсвязи, цифровые сканеры, DVD.
Интерфейс, разработанный корпорацией Microsoft, является одним из лучших и стал своеобразным эталоном для подражания. В Microsoft Windows программисту доступна вся мощь этого интерфейса - он избавляется от необходимости организовывать меню, работу с клавиатурой и мышью (достаточно воспользоваться стандартными средствами). Интерфейс с пользователем Windows является полным и цельным. В нем решены не только проблемы организации меню, но и все общение с пользователем организовано стандартными средствами.
Основная идея создания Windows была высказана главой фирмы Microsoft, Биллом Гейтсом. Он рассматривает Windows как электронный письменный стол, где должно быть все, что есть на рабочем месте: книга для записей, блокнот, калькулятор, часы и т.д. и т.п. И точно так же на "письменном столе" Windows могут одновременно вводиться в действие несколько программ.
Системные требования
Для запуска Microsoft Windows ХР необходим персональный компьютер, отвечающий следующим минимальным системным требованиям:
-- процессор -- Pentium-совместимый, тактовая частота от 233 МГц и выше;
-- объем оперативной памяти -- 64 Мбайт;
-- свободное дисковое пространство -- 1,5 Гбайт.
Однако для стабильной и быстрой работы рекомендуется устанавливать данную операционную систему на компьютер со следующими оптимальными характеристиками:
-- процессор -- Pentium II - совместимый (или выше), тактовая частота от 500 МГц и выше;
-- объем оперативной памяти -- 256 Мбайт;
-- свободное дисковое пространство -- 2 Гбайт.
1.3 Характеристика языка программирования
Для написания программного продукта по теме данного курсового проекта был выбран язык Turbo Pascal 7.1.
Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария), и назван в честь Блеза Паскаля - выдающегося математика, философа и физика 17-го века. Первоначальная цель разработки языка диктовалась необходимостью создания инструмента "для обучения программированию как систематической дисциплине". Однако очень скоро обнаружилась чрезвычайная эффективность языка Pascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем - компиляторов, баз данных, операционных систем и т.п. К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования:
-- существуют многочисленные реализации языка практически для всех машинных архитектур;
-- разработаны десятки диалектов и проблемно-ориентированных расширений языка Pascal;
-- обучение программированию и научно-технические публикации в значительной степени базируются на этом языке.
К достоинствам языка можно отнести следующее:
--качественная среда разработки, включающая мощный отладчик;
--удачная система помощи -- язык можно изучить лишь по справочным статьям, без посторонних книг;
--высокая скорость компиляции, высокая скорость выполнения откомпилированных программ;
--качественно реализованное объединение Паскаля и ассемблера;
--встроенная возможность использовать вставки на языке ассемблера.
К недостаткам языка программирования относится:
--компилятор рассчитан на реальный режим DOS, который сейчас практически не используется. Однако в последних версиях компилятора и среды введена поддержка (пусть и не полноценная) защищённого режима вместе с соответствующим отладчиком (TD);
--недостаточно полно реализовано объектно-ориентированное программирование;
Последние версии имели серию ошибок в реализации модуля CRT, из-за чего при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением «Runtime error 200 at …».
1.3.1 Структура программы на языке Turbo Pascal 7.1
Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов.
program <имя программы> (заголовок программы);
uses (раздел объявления модулей);
label (раздел объявления меток);
const (раздел объявления констант);
type (раздел объявления типов);
var (раздел объявления переменных);
procedure (function) (раздел объявления подпрограмм: процедур или функций);
begin <операторы > (раздел операторов, обязательная часть);
end.
Все указанные разделы отделяются друг от друга точкой с запятой.
-- Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми.
-- Любой оператор в программе может быть помечен меткой. Имя метки задается по правилам образования идентификаторов Turbo Pascal 7.0. В качестве метки также могут использоваться произвольные целые числа без знака, содержащие не более четырех цифр. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток.
-- Описание констант позволяет использовать имена так и синонимы констант.
-- В разделе описания переменных необходимо указать все переменные, используемые в программе, и определить их тип.
-- Раздел операторов представляет собой составной оператор, который содержится между служебными словами.
Операторы отделяются друг от друга символом ; . Текст программы заканчивается символом точка.
Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы можно представить как последовательность таких операторов. Идущие друг за другом операторы программы разделяются точкой с запятой.
1.3.2 Алфавит языка Turbo Pascal 7.1
Алфавит языка состоит из множества символов, включающих:
--латинские буквы: от A до Z (прописные) и от а до z. (строчные);
--знак подчеркивания _;
--цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
--специальные символы: + - * / (знаки арифметических операций), = <> <= >= (операции отношения), : = (операции присваивания), [ ] . , ( ) : ; { } ^ @ $ # ` (ограничители). К спецсимволам относятся служебные слова, смысл которых определен однозначно (begin, end, for, div ).
--пробел -- символ пробела (ASCI1-32) и все управляющие символы кода ASCII (от 0 до 31).
1.3.3 Операторы языка Turbo Pascal 7.1
Все операторы языка Паскаль можно разбить на две группы: простые и структурированные.
Простыми операторами являются те операторы, которые не содержат в себе других операторов. К ним относятся: оператор присваивания, обращение к процедуре, оператор безусловного перехода GOTO, пустой оператор.
С помощью оператора присваивания переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием.
Допустимо присваивание значений переменным и функциям любого типа, за исключением типа файл. Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания
Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO. Метки, используемые в Turbo Pascal, могут быть двух типов:
- целым числом в пределах от 0 до 9999;
- обычным идентификатором.
Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом label.
Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием.
Использовать оператор GOTO следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. Безусловный переход можно осуществлять далеко не из каждого места программы и не в любое место программы.
Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму или выйти из подпрограммы, не рекомендуется осуществлять переход внутрь структурированного оператора, т. к. он может дать неправильный результат, и т. д.
Пустой оператор не выполняет никакого действия и никак не отображается в программе (за исключением, быть может, метки или точек с запятыми, отделяющих пустой оператор от предыдущих или последующих операторов). Он может потребоваться для осуществления на него безусловного перехода.
Структурированными операторами являются такие операторы, которые включают в себя другие операторы. К структурированным операторам относятся:
- составной оператор, условный оператор IF, условный оператор CASE, оператор цикла REPEAT, оператор цикла WHILE, оператор цикла FOR, оператор над записями WITH.
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:
begin
<оператор 1>;
<оператор 2>;
. . .
<оператор N>
end;
Он может потребоваться в тех случаях, когда в соответствии с правилами построения конструкций языка можно использовать ОДИН оператор, а выполнить нужно несколько действий. В такой составной оператор входит ряд операторов, выполняющих требуемые действия.
В дальнейшем везде, где будет указываться, что можно использовать один оператор, им может быть и составной оператор.
Отдельные операторы внутри составного оператора отделяются друг от друга точкой с запятой.
Так как завершающее составной оператор слово end не является отдельным предложением, то перед ним точку с запятой можно не ставить, в противном случае компилятор будет считать, что перед словом end стоит пустой оператор.
Можно считать, что и само тело программы, т. к. оно заключено в операторные скобки begin и end, тоже является составным оператором.
Условный оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:
if S then A
else В; {полная развилка}
и
if S then А; {укороченная развилка}
В этих операторах:
S - некоторое логическое выражение, истинность которого проверяется;
А - оператор, который выполняется, если выражение S истинно;
В - оператор, который выполняется, если выражение S ложно.
Так как условный оператор IF является единым предложением, ни перед then, ни перед else точку с запятой ставить нельзя.
С помощью условного оператора CASE можно выбрать вариант из любого количества вариантов. Структура этого оператора в Turbo Pascal:
case S of
Cl:<оператор1>;
C2:<оператор2>;
. . .
CN:<операторN>;
else <оператор>
end;
В этой структуре:
S - выражение порядкового типа, значение которого вычисляется;
Cl, С2, ..., CN - константы, с которыми сравнивается значение выражения S;
<оператор1>, <оператор2>, ..., <операторN> - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S;
<оператор> - оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант С1, ..., CN.
Ветвь оператора else является необязательной. Если она отсутствует и значение выражения S не совпадет ни с одной из перечисленных констант, весь оператор рассматривается как пустой. В отличие от оператора IF перед словом else точку с запятой можно ставить.
Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если возможно), сопроводив их одним оператором.
Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора:
repeat
<Оператор1>;
<Оператор2>;
. . .
<ОператорN>;
until S;
В этой структуре:
<Оператор1>; <Оператор2>; <ОператорN> - выполняемые операторы, составляющие тело цикла;
S - логическое выражение, истинность которого проверяется в конце каждой итерации.
Так как слова repeat и until являются своеобразными операторными скобками, точку с запятой перед словом until ставить не обязательно.
Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации (т.е. раньше, чем выполняется тело), тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид:
while S do
<Оператор>;
В этой структуре:
S - логическое выражение, истинность которого проверяется в начале каждой итерации;
<Оператор> - выполняемый оператор цикла.
Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора:
for <переменная цикла>:=<начальное значение> to <конечное значение> do <оператор>;
for <переменная цикла>:=<начальное значение> downto <конечное значение> do <оператор>;
В этих операторах:
<переменная цикла> - переменная порядкового типа;
<начальное значение> - выражение (порядкового типа), определяющее начальное значение переменной цикла;
<конечное значение> - выражение (порядкового типа), определяющее конечное значение переменной цикла (при этом значении тело цикла (т.е. <оператор>) выполняется последний раз );
<оператор> - выполняемый оператор.
<начальное значение> и <конечное значение> должны быть совместимы для присваивания с переменной цикла (см. п. 9.3).
Цикл действует таким образом:
- Сначала вычисляются и запоминаются начальное и конечное значения.
- Далее переменной цикла присваивается начальное значение.
- Затем значение переменной цикла сравнивается с конечным значением.
Причём, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация; в противном случае происходит выход из цикла.
Выполнение очередной итерации включает в себя сначала выполнение <оператора>, а затем - присваивание переменной цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте).
Естественно, что, если в первом варианте <начальное значение> больше чем <конечное значение> или во втором варианте меньше чем <конечное значение> , оператор не выполняется ни разу.
После выхода из цикла <переменная цикла> становится неопределенной, за исключением случая, когда выход из цикла был осуществлен с помощью оператора GOTO или стандартной процедуры Break.
В циклах REPEAT, WHILE и FOR можно использовать две стандартные процедуры - Break и Continue. Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.
Идентификатором называется символическое имя определенного программного объекта. Такими объектами являются имена констант, переменных, типов данных, процедур и функций, программ. Идентификатор - это любая последовательность букв и цифр, начинающаяся с буквы.
В Турбо Паскале к буквам приравнивается также знак подчеркивания. Строчные и прописные буквы в идентификаторах и служебных словах не различаются. Например: max, MAX, MaX и mAx -- одно и то же имя.
Длина идентификатора может быть произвольной, но значащими являются только первые 63 символа.
Конструкции, заключенные в фигурные скобки {} или в скобки вида (* *) являются комментариями, могут занимать несколько строк и игнорируются компилятором. Строка начинающаяся с символов {$ или (*$, является директивой компилятора. За этими символами следует мнемоника команды компилятора. Буквы русского алфавита употребляются только в комментариях, в литерных и текстовых константах.
2. Специальная часть
2.1 Постановка задачи
В данном курсовом проекте разрабатывается программа, которая помогает произвести сортировку записей, соответствующих каждому из студентов в алфавитном порядке.
В программе предусмотреть:
1) Создание файла student.dat - файла записей следующей структуры: фамилия (18 символов русского алфавита), имя (10 символов русского алфавита), отчество (15 символов русского алфавита), группа (8 символов, пример записи группы: ВЭПВ-301), оценки (10 оценок, состоящих из одного числового символа в промежутке от 2 до 5 включительно);
2) Просмотр файла student.dat;
3) Сортировку файла student.dat по фамилии студента в алфавитном порядке;
4) Сортировку файла student.dat по группе студента в алфавитном порядке;
5) Выход из программы;
6) Вывод на экран информацию о курсовом проекте и разработчике;
7) Вывод на экран меню;
8) Выбор пункта меню (число от 0 до 4) производить путем ввода номера пункта меню и нажатием клавиши Enter.
С целью создания дружественного пользователю интерфейса использовать средства модуля CRT, позволяющие изменять цвет символов и фона, положение текста на экране, производить очистку экрана, повышать и понижать яркость символов, включать звук с различной частотой.
2.2 Алгоритмы программы и подпрограмм
2.2.1 Алгоритм главной программы в виде блок-схемы
Рисунок 1. Алгоритм программы в виде блок-схемы.
2.2.2 Алгоритм подпрограммы создания файла в виде блок-схемы
Рисунок 2. Алгоритм подпрограммы создания файла в виде блок-схемы.
2.2.3 Алгоритм подпрограммы просмотра файла в виде блок-схемы
Рисунок 3. Алгоритм подпрограммы просмотра файла в виде блок-схемы.
2.2.4 Алгоритм подпрограммы сортировки файла по фамилии в алфавитном порядке в виде блок-схемы
Рисунок 4. Алгоритм подпрограммы сортировки файла по фамилии в виде блок-схемы.
Примечание. Алгоритм подпрограммы сортировки файла по группе выглядит так же, как и алгоритм подпрограммы сортировки файла по фамилии, только вместо (a.fam>b.fam) использовать (a.gr>b.gr).
2.3 Текст программы с комментариями
program sortirovka;
Uses crt,ch_tip,ch_priv,ch_sozd,ch_sort2,ch_sort,ch_sortgr,ch_srg2,ch_vivod;
var pm:char; x,y:byte;
Begin
p_priv;
repeat
clrscr; textcolor(15);
gotoxy(12,4); writeln('****** Программа ведет работу с файлом student.dat ******');
GoToXY(14,5); writeln('******************* Основное Меню *******************');
GoToXY(16,6); writeln('*************************************************');
GoToXY(23,8); writeln('Построить файл - 1 ' );
GoToXY(23,9); writeln('Просмотреть файл - 2 ' );
GoToXY(23,10); writeln('Сортировать по фамилии вверх - 3 ' );
GoToXY(23,11); writeln('Сортировать по фамилии вниз - 4 ' );
GoToXY(23,12); writeln('Сортировать по группе вверх - 5 ' );
GoToXY(23,13); writeln('Сортировать по группе вниз - 6 ' );
writeln;GoToXY(23,14); writeln('Выход - 0 ');
writeln;;GoToXY(20,20);write('Введите пункт меню от 0 до 6: ' );
x:=whereX; y:=whereY;
repeat GotoXY(x,y); ClrEol; readln(pm); until pm in ['0'..'6'];
case pm of
'1' : p_sozd;
'2' : begin clrscr; p_vivod; end;
'3' : begin clrscr; p_sort; end;
'4' : begin clrscr; p_sort2; end;
'5' : begin clrscr; p_sortgr; end;
'6' : begin clrscr; p_sortgr2; end;
end;
until pm='0';
end.
unit ch_tip; {модуль ch_tip основных описаний}
interface
type stud=record
fam,im,ot,gr:string;
oc:array [1..10] of byte;
end;
var fs:file of stud;
a:stud; z,i,x,y:byte;
implementation
end.
unit ch_priv; { модуль ch_priv, содержащий подпрограмму приветствия пользователя}
interface
uses crt;
procedure p_priv;
implementation
procedure p_priv;
begin
clrscr;textcolor(15);
GoToXY(32,6); Writeln('КУРСОВОЙ ПРОЕКТ');
GoToXY(36,8); Writeln('на тему: ');
GoToXY(22,9); Writeln('"Программа сортировки файла записей');
GoToXY(10,10); Writeln('на примере файла с информацией об успеваемости студентов группы" ');
GoToXY(47,18); Writeln('Разработал студент группы ВЭПВ-301 ');
GoToXY(47,19); Writeln('Черешнев Роман Геннадьевич ');
GoToXY(37,23); Writeln('2012');
GoToXY(20,25);textcolor(30); Write(' Для продолжения нажмите - <ENTER>');
Readln;
end;
end.
unit ch_sozd; {модуль ch_sozd, содержащий подпрограмму создания нового файла}
interface
uses crt, ch_tip;
procedure p_sozd;
Implementation
procedure p_sozd;
var j:byte; a:stud;
Begin
Assign(fs,'student.dat'); Rewrite (fs);
GotoXY(27,1); writeln('Ввод данных о студентах');
Repeat i:=i+1; clrscr;
writeln('Введите фамилию ',i,'-го студента');Readln(a.fam);
writeln('Введите имя ',i,'-го студента');Readln(a.im);
writeln('Введите отчество ',i,'-го студента');Readln(a.ot);
writeln('Введите группу ',i,'-го студента');Readln(a.gr);
for j:=1 to 10 do
begin
write('Введите ',j,'-ую оценку ',i,'-го студента (от 2 до 5)');
x:=WhereX; y:=WhereY;
repeat
GotoXY(x,y); clreol; Read(a.oc[j]);
until a.oc[j] in [2..5]
end;
Writeln('Продолжить ввод? (да - 1, нет - 0)');
x:=WhereX; y:=WhereY;
repeat
GotoXY(x,y); clreol; Read(z);
until z in [0..1];
write (fs,a);
Until (z=0);
readln;
Close (fs);
end;
end.
unit ch_vivod; {модуль ch_vivod, содержащий подпрограмму просмотра готового файла}
interface
uses crt, ch_tip;
procedure p_vivod;
Implementation
procedure p_vivod;
begin
clrscr;
Assign(fs,'student.dat'); Reset (fs);
gotoxy (27,2); Writeln ('Вывод данных о студентах'); i:=6;
gotoxy(3,4); write ('Фамилия');
gotoxy(20,4); write('Имя');
gotoxy(33,4); write('Отчество');
gotoxy(47,4); write('Группа');
gotoxy(60,4); write(' Оценки');
while not eof (fs) do
begin
read (fs,a);
gotoxy(3,i); write (a.fam);
gotoxy(20,i); write(a.im);
gotoxy(33,i); write(a.ot);
gotoxy(47,i); write(a.gr);
gotoxy(60,i); for z:=1 to 10 do write(a.oc[i],' ');
GoToXY(20,25);textcolor(30); Write(' Для продолжения нажмите - <ENTER>');
i:=i+1;
end;
close(fs); readln;
end;
end.
unit ch_sort; {модуль ch_sort, содержащий подпрограмму сортировки файла по фамилии студентов в алфавитном порядке.}
Interface
uses crt,ch_tip;
procedure p_sort;
implementation
procedure p_sort;
var st,a,b:stud; k,i,j,x,y:byte; n:longint;
begin
Assign(fs,'student.dat'); reset(fs);
n:= filesize(fs);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
begin
seek(fs,i); read(fs,a);
seek(fs,j); read(fs,b);
if a.fam>b.fam
then begin st:=a; a:=b; b:=st;
seek(fs,i); write(fs,a); seek(fs,j); write(fs,st);
end;
end;
close(fs); clrscr;
GoToXY(22,3); Write('Файл был успешно отсортирован по фамилии ');
GoToXY(25,15);write('Для выхода нажмите- 0 и <Enter>:');
x:=whereX; y:=WhereY;
repeat GotoXY(x,y); ClrEol; readln(k); until k=0;
end;
end.
unit ch_sortgr; {Модуль ch_sortgr, содержащий подпрограмму сортировки файла по группе студентов в алфавитном порядке.}
Interface
uses crt,ch_tip;
procedure p_sortgr;
implementation
procedure p_sortgr;
var st,a,b:stud; k,i,j,x,y:byte; n:longint;
begin
Assign(fs,'student.dat');
reset(fs);
n:= filesize(fs);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
begin
seek(fs,i); read(fs,a);
seek(fs,j); read(fs,b);
if a.gr>b.gr
then begin st:=a; a:=b; b:=st;
seek(fs,i); write(fs,a); seek(fs,j); write(fs,st);
end;
end;
close(fs); clrscr;
GoToXY(22,3); Write('Файл был успешно отсортирован по группе ');
GoToXY(25,15);write('Для выхода нажмите- 0 и <Enter>:');
x:=whereX; y:=WhereY;
repeat GotoXY(x,y); ClrEol; readln(k); until k=0;
end;
end.
2.4 Описание процесса отладки
операционный программирование язык алгоритм
При разработке программы данного курсового проекта большее время занял процесс отладки. Он свелся к установлению причины возникновения ошибок и их устранению.
Отладка программы - это наиболее трудный и ответственный этап создания программы, который, полностью возлагается на программиста. Ошибки допускает любой программист: и начинающий, и имеющий тридцатилетний опыт.
Во время разработки программы происходило практическое освоение Turbo Pascal 7.1.
Много времени занимал процесс создания типизированного файла с информацией о студентах.
Возникали логические ошибки при составлении подпрограммы сортировки, в результате чего сортировка проводилась не должным образом. Устранение ошибки решилось путем ввода переменных, которым присваивались номера конкретных строк файла записей. Не корректно были применены средства модуля CRT, что повлияло на неправильное расположение текста в программе. После корректировки текста внешний вид программы приобрел дружественный интерфейс.
Возникали проблемы с выводом на экран строк файла записей. Проблемы были устранены путем применения средств модуля CRT, а именно применением процедуры GotoXY.
Возникали проблемы с подключением к главной программе модулей подпрограмм, из-за неверного указания имен модулей.
Возникали синтаксические ошибки, такие как: отсутствие закрытия составного оператора Begin, отсутствие знаков пунктуации, обращение к неописанным переменным.
Периодически возникали проблемы с программным обеспечением. Проблемы были устранены путем переустановкой программного обеспечения.
2.5 Результат работы программы
Результат работы программы удовлетворяет всем постановленным условиям.
Рисунок 1. Окно с названием курсового проекта и с информацией о разработчике курсового проекта.
Рисунок 2. Окно с основным меню.
Рисунок 3. Окно для заполнения строки записи.
Рисунок 4. Окно просмотра информации о студентах.
Рисунок 5. Окно результата сортировки файла по фамилиям студентов.
Рисунок 6. Окно результата сортировки файла по группам студентов.
2.6 Инструкция пользователю
Для работы с программой необходимо запустить файл CH_PROG.EXE. В результате появится окно с названием курсового проекта и с информацией о разработчике курсового проекта. После нажатия клавиши Enter появится основное меню. Пользователю будет предложено выбрать один из пяти пунктов меню:
1) Построить файл;
2) Просмотреть файл;
3) Сортировать по фамилии;
4) Сортировать по группе;
0) Выход.
Если пользователь выбрал пункт 1, то пользователю будет необходимо ввести информацию о студенте: фамилию, имя, отчество, группу (пример ВЭПВ-301), 10 оценок. После ввода будет предложено повторить ввод информации о следующем студенте или отказаться от ввода.
Если пользователь выбрал пункт 2, то на экране появится список с информацией о студентах: фамилия, имя, отчество, группа, 10 оценок.
Если пользователь выбрал пункт 3 или 4, но на экране появится надпись о том, что сортировка успешно произведена.
Если пользователь выбрал пункт 0, то программа закроется.
ЗАКЛЮЧЕНИЕ
Выпускник специальности «Программное обеспечение вычислительной техники и автоматизированных систем» должен быть готов к профессиональной деятельности по разработке, модификации, адаптации, настройке и сопровождению программного обеспечения в качестве техника в организациях (на предприятиях) различной отраслевой направленности независимо от их организационно-правовых форм.
Выпускник по данной специальности должен уметь: разрабатывать алгоритм программной реализации поставленной задачи; создавать программный продукт по разработанному алгоритму; выполнять отладку и тестирование программного продукта; оценивать экономическую эффективность созданного программного продукта; применять математические методы для решения оптимизационных задач; осуществлять модификацию, адаптацию и настройку программных продуктов; реализовывать функции сопровождения программных продуктов; осуществлять разработку и сопровождение сетевых приложений; разрабатывать структуру локальной или удаленной базы данных; создавать приложения для баз данных; обеспечивать рациональную эксплуатацию баз данных; обеспечивать эффективное применение пакетов прикладных программ; реализовывать функции программной защиты информации.
Работа над созданием данного курсового проекта помогла понять, что труд профессиональных программистов очень кропотлив, нелегок, требует сосредоточенности и терпения. Овладев необходимыми знаниями, научившись грамотно и творчески применять их в повседневной работе, программист может стать незаменимым специалистом в своей области деятельности.
Программист - одна из самых востребованных специальностей в современном обществе.
В процессе выполнения данного курсового проекта были углублены практические навыки в области таких дисциплин, как: «Технология разработки программных продуктов», «Современные средства разработки приложений», «Операционные системы и среды», «Математика», «Пакеты прикладных программ»
При разработке программы были закреплены практические навыки работы в среде Turbo Pascal 7.1.
Список литературы
1. Рудаков А.В. Технология разработки программных продуктов: учеб. пособие для студ. сред. проф. образования/ А.В. Рудаков. - 2-е изд., стер. - М.: Издательский центр «Академия», 2004. - 432с.
2. Фаронов В. В. Turbo Pascal 7.0. Начальный курс: учеб. пособие для студ. сред. проф. образования/ - Издательство: Нолидж, 2000г. - 576с.
3. Меженный О. А. Turbo Pascal. Самоучитель: учеб. пособие для студ. сред. проф. образования/ - Издательство: Вильямс, Диалктика, 2008г. 336с.
4. Шпак Ю. А. Turbo Pascal 7.0 на примерах: учеб.пособие для студ. сред. проф. образования/ - Издательство: Юниор 2003г. 496с.
5. http://ru.wikipedia.org/wiki/Windows_XP - Характеристика операционной системы Windows XP.
6. http://ru.wikipedia.org/wiki/Turbo_Pascal - Характеристика языка Turbo Pascal 7.1.
Размещено на Allbest.ru
Подобные документы
Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.
лабораторная работа [3,7 M], добавлен 22.03.2012Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.
лабораторная работа [12,7 K], добавлен 14.05.2011Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.
курсовая работа [359,0 K], добавлен 23.05.2012Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм.
курсовая работа [37,3 K], добавлен 28.06.2008Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.
курсовая работа [198,1 K], добавлен 03.02.2010Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.
контрольная работа [286,3 K], добавлен 10.04.2011История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.
курсовая работа [519,3 K], добавлен 25.06.2011Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.
реферат [64,0 K], добавлен 20.03.2016GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.
курсовая работа [780,4 K], добавлен 20.11.2014Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.
курсовая работа [896,7 K], добавлен 18.05.2014