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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.02.2016
Размер файла 100,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

program z126;

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

e, sum, a, x:real;

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

begin

if n <= 1 then

fact:= 1

else

fact:= n * fact (n - 1)

end;

begin

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

read(x);

e:=0.0001; // устанавливаем точность

sum:=0;

i:=1;

a:=0;

while abs(a)<=e do begin

a:=power (-1, i+1)*(power (x, 2*i-1)*(2*i+x))/fact (2*i);

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

sum:=sum+a;

i:=i+1;

end;

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

end.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

program z215;

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

var n, i, j, min, max, tmp, xmax, xmin, ymax, ymin:integer;

mas:array [1..10, 1..10] of integer;

begin

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

read(n);

for i:=1 to n do

for j:=1 to n do begin

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

read (mas[i, j]);

end;

xmax:=1;

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

ymax:=1;

xmin:=1;

ymin:=1;

for i:=n downto 1 do begin

max:=mas [i, 1];

min:=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;

end;

writeln ('max=', max);

writeln ('min=', min);

tmp:=mas [xmax, ymax];

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

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

mas [xmin, ymin]:=tmp;

end;

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

for j:=1 to n do begin

write (' ', mas [i, j]);

end;

writeln;

end;

end.

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

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

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

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

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

Ответ: 3 2 1

6 5 4

9 8 7

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

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

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

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

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

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

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

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

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

program z31;

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

var n, i, k, p, kol, kolotr:integer;

mas:array [0..100] of integer;

masp:array [0..100] of integer;

maso: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:=k+1;

end;

end;

for i:=2 to kolvo do begin

b:=maspl[i]; // устанавливаем барьер

maspl[0]:=B;

j:=i-1;

while B<maspl[j] do begin

maspl [j+1]:=maspl[j]; // сортировка массива

j:=j-1;

end;

maspl [j+1]:=B;

end;

end;

procedure 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:=o+1;

end;

end;

for i:=2 to kolvo do begin

b:=maspo[i]; // установка барьера

maspo[0]:=B;

j:=i-1;

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

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

j:=j-1;

end;

maspo [j+1]:=B;

end;

end;

begin

writeln ('Введите n= '); // ввод количества элементов в массиве

read(n);

for i:=1 to n do begin

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

read (mas[i]);

end;

for i:= 1 to n do begin

if 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;

p:=1;

for i:=1 to n do

begin

if 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

write (' ', mas[i]); // вывод массива

end;

writeln;

end.

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

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

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

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

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

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

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

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

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

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

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

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

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

program z412;

var

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

txt, word, tmp:string;

c:char;

i, j, k, post:integer;

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

f:text;

begin

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

read(txt);

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

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

begin

j:=1;

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

begin

if txt[i] = ' ' then

begin

if length(tmp) <> 0 then

begin

mas[j]:=tmp;

j:= j+1;

tmp:='';

end;

end

else begin

tmp:= tmp + txt[i];

if i=length(txt) - 1 then

if length(tmp) <> 0 then

mas[j]:=tmp;

end;

end;

word:=mas[j];

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

rewrite(f);

for i:=1 to j-1 do

begin

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

begin

c:=mas[i] [1];

for k:=1 to length (mas[i]) - 1 do

mas[i] [k]:=mas[i] [k+1];

mas[i] [length (mas[i])]:=c;

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

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

write (f, mas[i]+' ');

end;

end;

close(f);

end;

end.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

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

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

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

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

6.2 Метод решения

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

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

for i:=1 to 5 do

c:=c+s^.data.ekzam[i];

c:=c div 5;

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

g:=g div j;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.1 Структура

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

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

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

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

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

9.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 search; процедура для поиска по всем полям базы данных;

- 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; процедура для генерирования случайных записей в базе данных;

9.3 Описание переменных

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

stack: pstack; - переменная для инициализации стека

l: integer; - переменная для подсчета элементов в стеке

d: tdata; - переменная содержащая запись

c:char; - переменная для выбора строки меню

z:byte; - переменная для перевода цифр в зачеты

f:file of tdata; - файловая переменная для хранения записей

s:string; - переменная для имени файла базы данных

num: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 с. (Попов В.Б.)

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

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

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

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

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

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

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

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

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

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

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

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

Размещено на Allbest.ru


Подобные документы

  • Приобретение теоретических и практических навыков программирования на языке Паскаль. Математическая формулировка задачи и выбор метода обработки информации. Разработка алгоритма и его описание. Описание программы. Форма представления исходных данных.

    курсовая работа [224,3 K], добавлен 11.02.2016

  • Язык Паскаль - процедурно-ориентированный язык высокого уровня, его основные достоинства. Разработка программ для решения задач. Выбор метода обработки информации. Форма представления исходных данных. Разработка алгоритма, его описание, листинг программы.

    курсовая работа [3,6 M], добавлен 17.02.2013

  • Формулировка, спецификация и математическая постановка задачи. Описание схемы алгоритма. Рассмотрение результата машинного тестирования программы. Получение на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.

    курсовая работа [268,2 K], добавлен 22.03.2015

  • Математическая постановка задачи для алгоритмизации, рекуррентная зависимость. Алгоритм решения задачи, блок-схема программы. Тестовые данные для тестирования программы. Результаты, соответствующие для первых вводимых данных и листинг программы.

    контрольная работа [27,0 K], добавлен 09.05.2012

  • Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.

    курсовая работа [2,4 M], добавлен 05.07.2015

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

    курсовая работа [488,7 K], добавлен 08.09.2010

  • Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.

    курсовая работа [69,8 K], добавлен 13.02.2012

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

    курсовая работа [353,1 K], добавлен 25.07.2012

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

    курсовая работа [88,9 K], добавлен 11.02.2011

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

    реферат [513,1 K], добавлен 22.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.