Основы алгоритмизации и программирования

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    34,58 Кб
  • Опубликовано:
    2016-02-11
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Основы алгоритмизации и программирования














Курсовая работа

Основы алгоритмизации и программирования

Введение

алгоритм программа математический

Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 годах для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобный интерфейс (меню команд) и высокая скорость компиляции (процесса перевода текста программы в машинные коды) сделали язык Турбо-Паскаль (Turbo-Pascal) одним из самых распространенных среди начинающих и профессиональных программистов.

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

Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе, затем программа компилируется - переводится транслятором (переводчиком) в машинные коды и запускается на выполнение.

В Pascal имеется достаточно широкий набор простых и структурированных типов данных: целые и вещественные числа, символьные данные, перечисления, логические (булевы) значения, массивы, записи, последовательные файлы и ограниченный тип множеств. Оператор type позволяет программисту определять новые типы данных, хотя не обеспечивает группирование и инкапсуляцию определения нового типа данных с набором подпрограмм, обеспечивающих выполнение основных операций над объектами данных этого нового типа. Кроме того, указатель и операция создания новых объектов данных любого типа позволяют программисту конструировать новые объекты связанных данных непосредственно во время выполнения программы.

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

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

Главной целью курсового проекта по дисциплине «Основы алгоритмизации и программирования» является создания условий для освоения студентами основ проектирования программных комплексов, а также закрепления навыков программирования на языке Pascal.

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

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

Цели курсового проектирования:

−       решение задач и разработка базы данных;

−       систематизация и закрепление теоретических знаний и практических умений, полученных за время обучения дисциплины «Основы алгоритмизации и программирования».

Реализация данных целей возможна путем решения следующих задач:

−       анализ литературы по поставленной задаче;

−       оценка возможностей альтернативных языков программирования;

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

 


1. Постановка задачи и выбор метода обработки информации


Вычислить сумму ряда с точностью e=10-4

.1 Математическая формулировка задачи и выбор метода обработки информации

Для решения данной задачи используется следующая формула:


Сумму необходимо вычислять до тех пор пока сумма ряда не станет меньше чем e=10-4.

.2 Форма представления исходных данных

Исходные данные вводятся с клавиатуры.

Пользователь вводит значение X с клавиатуры. После производятся вычисления до значения с точностью, равной 10-4. После нахождения результата сумма выводится на экран.

1.3 Описание программы

program z126;

var i:integer; // раздел описания переменных

e, sum, a, x:real;

function fact (n: integer): longint; // функция вычисления // факториала

begin n <= 1 then:= 1

else

fact:= n * fact (n - 1)

end;

begin

writeln ('Введите х= '); // ввод X

read(x);:=0.0001; // устанавливаем точность

sum:=0;:=1;:=0;abs(a)<=e do begin:=power (-1, i+1)*(power (x, 2*i-1)*(2*i+x))/fact (2*i);

// вычисляем сумму ряда

sum:=sum+a;:=i+1;

end;

('сумма=', sum:6:10); // вывод суммы

end.

.4 Инструкция по эксплуатации программы

После запуска появится строка «Введите Х=». После необходимо ввести значение переменной Х. Далее производятся необходимые вычисления и выводится результат «Сумма=».

1.5 Результаты проведенных расчетов и их анализ

Для проведения тестирования выполним программу для некоторого значения Х.

Введем число 3. Сумма = 7,5;

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

2. Постановка задачи и выбор метода обработки информации

В квадратной матрице в каждой строке переставить ее максимальный и минимальный элементы.

.1 Математическая формулировка задачи и выбор метода обработки информации

Для решения данной задачи необходимо найти максимальный и минимальный элементы в каждой строке. Запомнить позиции на которых стоят эти элементы и поменять их местами.

.2 Форма представления исходных данных

Исходные данные вводятся пользователем с клавиатуры. Сначала вводится размерность матрицы N, после вводятся элементы матрицы.

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

.3 Описание программы

program z215;

// раздел описания переменныхn, i, j, min, max, tmp, xmax, xmin, ymax, ymin:integer;:array [1..10, 1..10] of integer;

begin('Введите n= '); // ввод размерности матрицы

read(n);

for i:=1 to n do

for j:=1 to n do begin

write ('введите элемент матрицы = '); // ввод элементов матрицы

read (mas[i, j]);

end;

// устанавливаем положение минимального и максимального элемента

ymax:=1;:=1;:=1;

for i:=n downto 1 do begin:=mas [i, 1];:=mas [i, j];

for j:=1 to n do

begin

// поиск максимального элемента и запоминание позиции где стоит элемент

if mas [i, j]>=max then begin max:=mas [i, j]; xmax:=i; ymax:=j; end;

// поиск минимального элемента и запоминание позиции где стоит элемент

if mas [i, j]<min then begin min:=mas [i, j]; xmin:=i; ymin:=j; end;;

writeln ('max=', max);('min=', min);:=mas [xmax, ymax];

// обмен максимального и минимального элементов в каждой строке

mas [xmax, ymax]:=mas [xmin, ymin];[xmin, ymin]:=tmp;

end; i:=1 to n do begin // вывод матрицы

for j:=1 to n do begin(' ', mas [i, j]);

end;

writeln;

end;

end.

.4 Инструкция по эксплуатации программы

После запуска программы необходимо ввести размерность матрицы «Введите N=», также ввести элементы матрицы. Далее выполняется программа и результат выводится на экран.

.5 Результаты проведенных расчетов и их анализ

Для проведения тестирования выполним программу для некоторого значения N.

Введем размерность матрицы - 3. Введем элементы матрицы - 1, 2, 3, 4, 5, 6, 7, 8, 9.

Ответ: 3 2 1

5 4

8 7   

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

3. Постановка задачи и выбор метода обработки информации


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

.1 Математическая формулировка задачи и выбор метода обработки информации

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

.2 Форма представления исходных данных

Исходные массив вводятся с клавиатуры пользователем.

Пользователь вводит размер массива. После из массива выбираются все отрицательные и положительные элементы, сортируются и расставляются на места. Результат выводится на экран.

.3 Описание программы

program z31;

// раздел описания переменных

var n, i, k, p, kol, kolotr:integer;:array [0..100] of integer;:array [0..100] of integer;:array [0..100] of integer;

procedure sortp (masl:array [0..100] of integer; kolvo:integer;

var maspl:array [0..100] of integer);

// процедура сортировки положительных чисел массива

var i, b, j, k:integer;

begin

k:=1;

for i:= 1 to kolvo do begin // выбор положительных элементов

if masl[i]>0 then

begin

maspl[k]:=masl[i];:=k+1;

end;; i:=2 to kolvo do begin:=maspl[i]; // устанавливаем барьер

maspl[0]:=B;:=i-1;B<maspl[j] do begin[j+1]:=maspl[j]; // сортировка массива

j:=j-1;

end;[j+1]:=B;

end;; sorto (masl:array [0..100] of integer; kolvo:integer;

var maspo:array [0..100] of integer);

// сортировка отрицательных элементов массива

var i, b, j, o:integer;

begin

o:=1;

for i:= 1 to kolvo do begin

if masl[i]<0 then // выборка отрицательных элементов

begin

maspo[o]:=masl[i];:=o+1;

end;;

for i:=2 to kolvo do begin:=maspo[i]; // установка барьера

maspo[0]:=B;:=i-1;

while B>maspo[j] do begin // сортировка отрицательных элементов

maspo [j+1]:=maspo[j];:=j-1;

end;

maspo [j+1]:=B;

end;;

begin

read(n);

for i:=1 to n do begin('введите элемент массива = '); // ввод элементов массива

read (mas[i]);

end;

for i:= 1 to n do begin mas[i]>0 then kol:=kol+1;

// подсчет количества отрицательных и положительных элементов массива

if mas[i]<0 then kolotr:=kolotr+1;

end;

sortp (mas, n, masp); // сортировка положительных элементов

sorto (mas, n, maso); // сортировка отрицательных элементов

k:=1;:=1;

for i:=1 to n do

begin mas[i]>0 then

begin

mas[i]:=masp [n-kol+k]; // вывод отсортированных положительных элементов на их относительное положение

k:=k+1;

end;

if mas[i]<0 then

begin

mas[i]:=maso [n-kolotr+p]; // вывод отсортированных отрицательных элементов на их относительное положение

p:=p+1;

end else if mas[i]=0 then mas[i]:=0;

end;

for i:=1 to n do begin(' ', mas[i]); // вывод массива

end;

writeln;

end.

 

3.4 Инструкция по эксплуатации программы

После запуска необходимо ввести размер массива «Введите n:». Далее необходимо ввести элементы массива. Размер массива должен быть не больше 100 элементов. Далее выполняется сама программа и отсортированный массив выводится на экран.

.5 Результаты проведенных расчетов и их анализ

Протестируем программу. Для этого введем размерность массива - 5. Введем поочередно элементы массива - 6, 1, -1, -7, 4. В результате получаем - 1, 4, -1, -7, 4. При тестировании программы ошибок обнаружено не было.

 


4. Постановка задачи и выбор метода обработки информации


Дан текст. Между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: перенести первую букву в конец слова. Результат вывести на экран и в текстовый файл.

.1 Математическая формулировка задачи и выбор метода обработки информации

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

.2 Форма представления исходных данных

Текст вводится пользователем с клавиатуры.

.3 Разработка алгоритма и его описание

Пользователь вводит текст. Проводится проверка на наличие точки в конце предложения. После этого весь текст делится на слова. Разделителем является пробел. Каждое слово заносится в массив. После этого идет сравнивание каждого слова с последним. Если они различны, то вырезается первая буква слова и добавляется в конец этого же слова. После выводятся слова отличные от последнего слова на экран.

4.4 Описание программы

program z412;

var

// раздел описания переменных

txt, word, tmp:string;

c:char;

i, j, k, post:integer;

mas: array [0..100] of string;:text;

begin

writeln ('Введите строку= '); // ввод строки

read(txt);

if txt [length(txt)]<>'.' then writeln ('Это не текст!') else

// проверка наличия точки в конце предложения

begin

:=1;

for i:=1 to length(txt) - 1 do // разбиение текста по словам

begin txt[i] = ' ' then

begin length(tmp) <> 0 then

begin

mas[j]:=tmp;:= j+1;:='';

end;begin

tmp:= tmp + txt[i];

if i=length(txt) - 1 then

if length(tmp) <> 0 then[j]:=tmp;

end;;

:=mas[j];

(f, 'tmp.txt'); // открытие текстового файла

rewrite(f);

for i:=1 to j-1 do

begin(mas[i] <> word) then // сравнивание слов с последним словом предложения

begin

c:=mas[i] [1];

// перемещение первого элемента слова в конец слова

write (mas[i]+' '); // вывод слов(f, mas[i]+' ');

end;;

close(f);

end;.

.5 Инструкция по эксплуатации программы

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

.6 Результаты проведенных расчетов и их анализ

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

5. Анализ исходных данных и поставленной задачи

 

.1 Анализ предметной области


Задачей курсового проектирования является решение задач и создание информационной базы данных «Студенты».

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

 

.2 Входная информация


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

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

 

.3 Выходная информация


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

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

 

.4 Постоянная информация


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

6. Математическая формулировка задачи и выбор метода обработки информации

 

.1 Математическая формулировка задачи


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

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

,

где k - количество оценок по экзаменам, а - оценка.

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

Для расчета среднего балла по группе использовалась следующая формула:

, где  - средний балл студента этой группы.

 

.2 Метод решения


Для расчета среднего балла по группам для начала необходимо найти студентов, которые непосредственно находятся в этой группе.

Производим сравнивание номера группы с введенным номером (if (s^.data.group=n) then). При нахождении таковых студентов, производим расчет среднего балла по экзаменам каждого из них.

for i:=1 to 5 do:=c+s^.data.ekzam[i];:=c div 5;

Для нахождения общего среднего балла группы складываем средние баллы каждого студента и делим на количество студентов в группе.

:=g div j;

После расчета выводим результат на экран.

 

.3 Выбор среды разработки


Язык Паскаль относится к процедурно-ориентированным языкам высокого уровня. Разработан американским ученым Никласом Виртом в 1971 г. в качестве языка для обучения программированию. Базой при разработке явился язык Алгол.

Достоинства языка Паскаль:

) относительная простота (т.к. разрабатывался с целью обучения программированию);

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

) гибкие возможности в отношении используемых структур данных;

) высокая эффективность программ;

) наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения.

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

Для разработки курсового проекта был выбрана среда разработки Pascal ABC.

7. Форма представления исходных данных


Для хранения исходных данных была выбрана структура данных стек, т.к. это указано в условии задачи.

Стек - структура данных с методом доступа к элементам LIFO.

Добавление элемента, называемое также проталкиванием (push), возможно только в вершину стека (добавленный элемент становится первым сверху). Удаление элемента, называемое также выталкивание (pop), возможно также только из вершины стека, при этом, второй сверху элемент становится верхним.

Стеки широко применяются в вычислительной технике - в частности, для отслеживания точек возврата из подпрограмм используется стек вызовов, который является неотъемлемой частью архитектуры большинства современных процессоров. Языки программирования также используют стек вызовов для передачи параметров при вызове процедур.

Информация в базе данных представлена в виде записей. Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа. Каждая запись в базе данных «Студенты» содержит поля: фамилия, имя, отчество, номер группы, оценки по экзаменам, зачеты.

В разрабатываемом проекте форма выдачи результата - текстовая.

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

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

 


8. Разработка алгоритма и его описание


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

 


9. Описание программы

 

.1 Структура


Программа на языке Паскаль состоит из заголовка программы и тела программы (блока), за которым следует точка - признак конца программы. База данных «Студенты» состоит из следующих разделов: раздел подключаемых модулей, раздел описания типов данных, раздел описания переменных, раздел описания подпрограмм и раздела операторов.

В разделе подключаемых модулей uses в программе используется модуль CRT.

В разделе описания типов данных type описывается такие типы данных как стек (pstack = ^tstack) и записи (tdata = record).

В разделе описания переменных var описана переменная стека - stack: pstack, записи - data: tdata, переменная для работы с текстовым меню - m:byte.

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

 

.2 Описание подпрограмм


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

-       procedure push (data: tdata; var stack: pstack); процедура добавления информации в стек;

-       procedure pop (var data: tdata; var stack: pstack); процедура изъятия информации из стека;

-       function stackDepth (stack:pstack):integer; функция определяющая глубину стека;

-       function get (stack:pstack; num:integer):pstack; функция получения количества элементов в стеке;

-       procedure fflush; процедура очистки буфера клавиатуры;

-       procedure kill (var stack:pstack); процедура уничтожения стека;

-       procedure inputData (var data:tdata); процедура ввода данных;

-       function menu:byte; меню программы;

-       procedure addNew; добавление записи в стек;

-       function zachet (z:byte):char; перевод информации в зачет / незачет;

-       procedure printLine (n:integer; data:tdata); процедура печати одной записи;

-       procedure printAll; вывод на экран все элементов стека;

-       procedure save (filename:string); процедура для сохранения базы данных в файл;

-       procedure load (filename:string); процедура загрузки базы данных из файла;

-       procedure saveBase; сохранение базы данных под именем;

-       procedure loadBase; загрузка базы данных по имени;

-       procedure deleteItem; процедура для удаления элемента из стека;

-       procedure Report; процедура для генерирования отчета, расчета среднего бала и вывода отчета на экран и в файл;

-       function compare (s1, s2:pstack; field:integer):boolean; функция сравнения при поиске;

-       procedure swap (s1, s2:pstack); процедура обмена;

-       procedure doSort (stack:pstack; field:integer); процедура для сортировки;

-       procedure sort; сортировка по полям записей;

-       procedure gen; процедура для генерирования случайных записей в базе данных;

 

.3 Описание переменных


сh:char; - переменная предназначенная для продолжения какого либо действия

stack: pstack; - переменная для инициализации стека: integer; - переменная для подсчета элементов в стеке: tdata; - переменная содержащая запись:char; - переменная для выбора строки меню

z:byte; - переменная для перевода цифр в зачеты:file of tdata; - файловая переменная для хранения записей:string; - переменная для имени файла базы данных:integer; - переменная для выбора номера элемента, который необходимо удалить.

 


10. Инструкция по эксплуатации программы


Для начала работы с программой необходимо запустить файл «base.exe» из корневого каталога программы. После запуска появится меню работы с программой (рисунок 1).

Главное меню программы

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

Для загрузки базы данных необходимо нажать 2 - после этого ввести название базы данных (по умолчанию base.db).

Для сохранения базы данных необходимо нажать на клавишу 3 = после нажатия ввести имя под которым будет сохранена база.

Для просмотра записей - клавиша 4. Информация будет введена на экран.

Для добавления записи вверх стека нажать - 5. После необходимо ввести информацию о студенте.

Клавиша 6 предназначена для удаления записи в стеке.

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

Для сортировки нужно нажать 8. Появится окно для работы с сортировкой (рисунок).

Форма для работы с сортировкой

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

Для генерирования отчета по неуспевающим студентам - клавиша 9. Отчет сохранится на жестком диске и выведется на экран.

Для выхода из программы необходимо нажать 0.

 


11. Результаты проведенных расчетов и их анализ


План тестирования базы данных включает в себя тестирование функций базы данных, таких как:

−        функция добавления данных;

−       функция удаления данных;

−       корректная работа главного меню;

−       функция загрузки базы данных из файла;

−       функция сохранения базы данных в файл;

−       функция поиска данных;

−       функция расчета среднего балла;

−       функция отображения отчета;

−       функция сохранения отчета;

−       функция сортировки по одному из полей записи;

−       закрытие приложения.

Тестовый вариант

Входные данные

Ожидаемый результат

Фактический результат

Результаты тестирования

Рекомендации к исправлению

Функция добавления данных

Файл базы данных

Добавление записи в базу данных

Добавление записи в базу данных

неуспешно


Функция удаления данных

Записи базы данных

Удаление записи из базы данных

Удаление записи из базы данных

неуспешно


Корректная работа главного меня


Корректная работа функций главного меню

Корректная работа функций главного меню

неуспешно


Функция сохранения базы данных в файл

Файл базы данных

Сохранение базы данных на жестком диске в виде файла

Сохранение базы данных на жестком диске в виде файла

неуспешно


Функция загрузки базы данных из файла

Файл базы данных

Отображение всех данных базы даны на экране

Отображение всех данных на экране

неуспешно


Поиск данных

Записи базы данных

Вывод записей по критерию поиска

неуспешно


Функция расчета среднего балла по группе

Записи базы данных

Расчет среднего балла и вывод результата на экран

Расчет среднего балла и вывод результата на экран

неуспешно


Отображение отчета

Записи базы данных

Отображение отчета на экране со необходимыми записями базы данных

Отображение отчета на экране со необходимыми записями базы данных

неуспешно


Сохранение отчета

Отчет с данными

Сохранение отчета в файл с расширением TXT

Файл сохранен на жестком диске с расширением TXT

неуспешно


Сортировка записей по одному из полей

Записи базы данных

Отсортированный набор записей по одному из полей

Отсортированный набор записей по одному из полей



Закрытие приложения


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

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

неуспешно



В ходе тестирования базы данных «Студенты» ошибок выявлено не было.

 


Заключение


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

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

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

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

Также был решен ряд задач на различные темы.

Были приобретены новые навыки в программировании, повысился уровень знаний.

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

 


Список использованной литературы


1. Turbo Pascal для студентов и школьников - СПб.: БЧВ - Петербург, 2004. - 352 с.: ил. (Г.Г. Рапаков, С.Ю. Ржеуцкая)

2.      Turbo Pascal для школьников. Версия 7.0. - М.: Финансы и статистика, 1996. - 446 с. (Попов В.Б.)

.        Turbo Pascal: Учись программировать. 2002. - 448 с.: ил. (Меженный О.А.)

.        Аляев Ю.А., Гладков В.П., Козлов О.А. Практикум по алгоритмизации и программированию на языке Паскаль: Учеб. пособие. - М.:Финансы и статистика, 2004.

.        Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров. - Мн.: Выш.шк.; БФ ГИТМ «НИКА», 1991.

.        Информатика, 7 - 11 класс. Киев, 2004. Гаевский А.Ю.

.        Кулагин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. - СПб.:BHV, 2000.

.        Кулагин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. - СПб.:BHV, 2000.

.        Мануйлов В.Г. Разработка программного обеспечения на Паскале. - М.: Приор, 1996.

.        О.А. Меженный: Turbo Pascal. Учитесь программировать. Санкт - Петербург, 2001 год.

.        Офицеров Д.В., Долгий А.Б., Старых В.А. Программирование на персональных ЭВМ: Практикум: Учеб.пособие. - Мн.: Выш.шк., 1993.

.        Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.: Наука, 1989.

.        Пильщиков В.Н. Сборник упражнений по языку Паскаль. М.: Наука, 1989.

.        Фаронов В.В. Практика программирования. М.: МВТУ-ФЕСТО ДИДАКТИК, 1993.

Похожие работы на - Основы алгоритмизации и программирования

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!