Автор работы: Пользователь скрыл имя, 29 Октября 2013 в 15:08, курсовая работа
Массив - упорядоченные данные одного типа. Массивом часто обозначают характеристики объектов одного типа, имеющих одинаковые единицы измерения. Массив состоит из элементов, имеющих порядковые номера, т. е. элементы массива упорядочены. Таким образом, если объекты одного типа обозначить именем, например "A", то элементы объекта будут A[1], A[2] и т. д. В квадратных скобках указан номер элемента
I ЧАСТЬ
• Теоретический материал по теме: «Массивы»………………………………………
• Постановка задачи…………………………………………………………………….
• Таблица соответствия обозначений………………………………………………….
• Построение алгоритма. Схема алгоритма главной программы и подпрограммы..
• Описание программы…………………………………………………………………
• Процедуры и функции языка программирования Паскаль, используемые
в программе……………………………………………………………………………
•Программа на языке Паскаль…………………………………………………………
• Тестирование и отладка программы………………………………………………….
II ЧАСТЬ
• Теоретический материал по теме: «Записи и файлы»……………………………….
• Таблицу соответствия полей записи………………………………………………….
• Таблица с исходными данными……………………………………………………….
• Схему алгоритма создания файла……………………………………………………..
• Таблицу с исходными данными для создания файла………………………………..
• Программы создания файла……………………………………………………………
• Схему алгоритма обработки файла……………………………………………………
• Программу обработки файла…………………………………………………………..
• Таблицу с результатами обработки файла……………………………………………
• Список литературы………………………………
СХЕМА АЛГОРИТМА СОЗДАНИЯ ФАЙЛА
На рисунке 3 приведена схема алгоритма создания файла. В схеме сначала выполняется открытие файла. Затем организуется цикл ввода 30 записей. В этом цикле вводятся поля записи, которые, в свою очередь, записываются в файл. После выхода из цикла файл закрывается.
Рисунок. 3. Схема алгоритма создания файла
ПРОГРАММА СОЗДАНИЯ ФАЙЛА
PROGRAM sozdan_16_2;
TYPE
zap=record
indgr:integer;
famstud:string [20];
oc1,oc2,oc3,oc4,oc5,rabota:
end;
VAR f:file of zap; x:zap; I:integer;
BEGIN
ASSIGN(f,'stud.dat');
REWRITE(f);
WRITELN('Введите сведения о 30 студентах:');
FOR I:=1 TO 30 DO
BEGIN
WRITE ('Индекс группы=');
READLN (x.indgr);
WRITE ('Фамилия студента=');
READLN (x.famstud);
WRITE ('оценка 1-ый предмет=');
READLN (x.oc1);
WRITE ('оценка 2-ой предмет=');
READLN (x.oc2);
WRITE ('оценка 3-ий предмет=');
READLN (x.oc3);
WRITE ('оценка 4-ый предмет=');
READLN (x.oc4);
WRITE ('оценка 5-ый предмет=');
READLN (x.oc5);
WRITE ('Участие в общественной работе=');
READLN(x.rabota);
WRITE (f,x);
END;
CLOSE (f);
END.
СХЕМА АЛГОРИТМА ОБРАБОТКИ ДАННЫХ
По индивидуальному заданию требуется начислить студентам всех трех групп по ведомости стипендию и вывести эти ведомости. Студент, получивший все оценки «5» и активно участвующий в общественной работе, получает повышенную стипендию- доплата 50 %, не активно участвует – 25 %. Студенты , получившие «4» и «5» , зачисляются на обычную стипендию. Студент получивший одну оценку «3», но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится. Определить группу , получающую в сумме максимальную стипендию.
Алгоритм представлен на рисунке 4.
Рисунок. 4. Алгоритм программы обработки данных
ПРОГРАММА ОБРАБОТКИ ФАЙЛА
PROGRAM obrab_16_2;
USES crt;
TYPE
zap = record
indgr:integer;
famstud:string[20];
oc1,oc2,oc3,oc4,oc5,rabota:
end;
mas=array[1..3] of real;
VAR
F:file of zap; C:mas; i:integer; y:zap; step,gr1,gr2,gr3,k1:integer;
k,max:real; bul1,bul2:boolean;
BEGIN
ASSIGN (f,'stud.dat');
RESET (f);
step:=1500;
C[1]:=0;
C[2]:=0;
C[3]:=0;
WRITELN ('Ведомость на степендию:');
WRITELN (' ______________________________
WRITELN ('|Индекс группы | Фамилия студента | стипендия|');
WHILE not eof (f) DO
BEGIN
READ(f,y);
if (y.oc1=5) and (y.oc2=5) and (y.oc3=5) and (y.oc4=5) and (y.oc1=5) and (y.rabota=1)
THEN BEGIN
k:=step*0.5;
WRITELN ('|', y.indgr,'|', y.famstud,'|', k,'|');
end;
if (y.oc1=5) and (y.oc2=5) and (y.oc3=5) and (y.oc4=5) and (y.oc1=5) and (y.rabota=0)
THEN BEGIN
k:=step*0.25;
WRITELN ('|', y.indgr,'|', y.famstud,'|', k,'|');
end;
bul1:=((y.oc1=5) or (y.oc1=4)) and ((y.oc2=5) or (y.oc2=4));
bul2:=((y.oc3=5) or (y.oc3=4)) and ((y.oc4=5) or (y.oc4=4)) and ((y.oc5=5) or (y.oc5=4));
if (bul1 and bul2) or (((y.oc1=3) or (y.oc2=3) or (y.oc3=3) or (y.oc4=3) or (y.oc5=3)) and (y.rabota=1))
THEN BEGIN
k:=step;
WRITELN ('|', y.indgr,'|', y.famstud,'|', k,'|');
end;
if y.indgr=1
then C[1]:=C[1]+k;
if y.indgr=2
then C[2]:=C[2]+k;
if y.indgr=3
then C[3]:=C[3]+k;
END;
WRITELN ('|___________________________
max:=C[1];
for i:=1 to 3 do
begin
if C[i]>max
then begin
max:=C[i];
k1:=i;
end;
end;
WRITELN ('Группа с максимальной
степендией:',k,'Размер
CLOSE (f);
END.
Результаты обработки для рабочих цеха №1 и №2 приведены в Таблице 4.
ТАБЛИЦА 4. РЕЗУЛЬТАТЫ ОБРАБОТКИ ФАЙЛА
Фамилия студента |
Индекс группы |
Оценка I – ый предмет |
Оценка II – ый предмет |
Оценка III – ый предмет |
Оценка IV – ый предмет |
Оценка V – ый предмет |
Rabota |
Стипендия |
Андреев А.А. |
1 |
3 |
4 |
5 |
5 |
5 |
1 |
1500 |
Афанасьев А.В. |
1 |
4 |
4 |
4 |
4 |
4 |
1 |
1500 |
Воробьёв И.А. |
1 |
3 |
4 |
4 |
5 |
5 |
1 |
1500 |
Загузин Н.В. |
1 |
4 |
5 |
4 |
5 |
4 |
0 |
1500 |
Иванов Н.В. |
1 |
5 |
5 |
5 |
5 |
4 |
0 |
1875 |
Каперский Е.О. |
1 |
4 |
4 |
4 |
4 |
4 |
0 |
1500 |
Коноваленко Е.П. |
2 |
3 |
3 |
3 |
3 |
3 |
0 |
1500 |
Михайлов Н.В. |
2 |
3 |
4 |
4 |
5 |
5 |
0 |
1500 |
Петренко А.Б. |
2 |
3 |
4 |
5 |
5 |
5 |
1 |
1500 |
Пержаков Д.Б. |
2 |
4 |
4 |
4 |
4 |
4 |
1 |
1500 |
Савельев В.Н. |
2 |
3 |
4 |
4 |
5 |
5 |
0 |
1500 |
Табутаров Н.Г. |
3 |
4 |
5 |
4 |
5 |
4 |
0 |
1500 |
Хандиров С.Ю. |
3 |
4 |
4 |
4 |
5 |
5 |
0 |
1500 |
Цыремпилов Б.Ц. |
3 |
4 |
4 |
4 |
4 |
4 |
0 |
1500 |
Группа с максимальной стипендией: 1; Размер стипендии: 1562
Информация о работе Теоретический материал по теме: «Массивы»