Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 3

Определить количество студентов, сдавших экзамен на 5 и 4

18.06.2013, 19:53. Показов 2153. Ответов 1

Студворк — интернет-сервис помощи студентам
Создать файл с именем STUD, состоящий из записей: порядковый номер, фамилия, номер группы, оценка по трем предметам.
Добавить в начало файла STUD три записи и вывести записи полученного файла. Нумерация должна быть сквозной.
Определить количество студентов, сдавших экзамен на 5 и 4. Вывести данные этих студентов.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Program RGR1.2;
Type exRecord =     Record
n: byte;
surname: string;
group: integer;
subject1: integer;
subject2: integer;
subject3: integer;
end;
Var stud,stud2: file of exRecord;
rec: exRecord;
i,k:byte;
begin
assign(stud, 'STUD.dat');
rewrite(stod);
for i:=1 to 4 do
with rec do
begin
n:=i;
writeln('Input surname ', i);
readln(surname);
writeln('Input group list number ', i);
readln(group);
writeln('Input subject1 list number ', i);
readln(subject1);
writeln('Input subject2 list number ', i);
readln(subject2);
writeln('Input subject3 list number ', i);
readln(subject3);
write(stud,rec);
end;
begin
assign(stud2, 'STUD2.dat');
rewrite(stud2);
for i:=1 to 3 do
with rec do
begin
n:=i;
writeln('Input surname ', i);
readln(surname);
writeln('Input group list number ', i);
readln(group);
writeln('Input subject1 list number ', i);
readln(subject1);
writeln('Input subject2 list number ', i);
readln(subject2);
writeln('Input subject3 list number ', i);
readln(subject3);
write(stud2,rec);
end;
begin
reset (stud);
while not eof (stud) do
begin
k:=filesize(stud2);
read (stud,rec);
rec.n:=k+1;
write(stud2,rec)
end;
close(stud);
erase (stud);
close(stud2);
rename(stud2,'stud.dat');
reset (stud2);
seek(stud2,0);
writeln;
while not EOF(stud2) do
begin
read(stud2,rec);
if (rec.subject1>=4) and (rec.subject2>=4)and(rec.subject3>=4)  then
writeln(rec.n,' ',rec.surname,' ',rec.group,' ',rec.subject1,' ',rec.subject2,' ',rec.subject3);
end;
readln;
end;
end;
end.
Начальные данные:

Фаил 1: 1 Ivanov 121 555
2 Petrov 122 343
3 Cidorov 123 434
4 Kozlov 121 454

Фаил 2: 1 Nemov 122 324
2 Alekceev 123 444
3 Zotov 121 333


Выдает ошибку, помогите исправить Типизированый файл не может содержать элементы такого типа указывая на exRecord = Record

Спасибо за помощь
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2013, 19:53
Ответы с готовыми решениями:

Каково наименьшее количество студентов, так и не сдавших зачёт?
Поток студентов сдавал один и тот же зачёт в течении 5 дней. Не сумевшие сдать приходили на следующий день. Каждый день успешно сдавали...

Нужно организовать заполнение массива случайными значениями от 2 до 5 и определить количество студентов, сдавших сессию без двоек
Помогите в написании кода Pascal. Массив хранит оценки сессии 5-ти студентов по 6-ти предметам. Нужно организовать заполнение массива...

Определить средний балл студентов, успешно сдавших сессию, используя двумерный массив
Помогите пожалуйста! Карма +100000. Задан двумерный числовой массив из 25 строк и 7 столбцов, в котором записаны оценки на сессии...

1
38 / 37 / 23
Регистрация: 01.06.2009
Сообщений: 59
19.06.2013, 11:06
Типизированный файл действительно не может содержать классы (а String в новых компиляторах, таких как FPC и PascalABC.NET - это именно класс). Исправь:

Pascal
1
2
3
4
5
6
7
8
Type exRecord = Record
n: byte;
surname: ShortString; // Вот такую строку типизированный файл умеет хранить
group: integer;
subject1: integer;
subject2: integer;
subject3: integer;
end;
, ну, и заодно - исправь опечатку:
Pascal
1
2
assign(stud, 'STUD.dat');
rewrite(stud); // <--- тут было stod
, тогда программа будет компилироваться. На работоспособность не проверял.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2013, 11:06
Помогаю со студенческими работами здесь

Выбрать студентов сдавших сессию только на удовлетворительно.
Тема этой программы: Динамические типы данных! Создать файл, содержащий сведения о студентах вашей группы (фамилию, имя, отчество,...

Определить количество абитуриентов, сдавших вступительные экзамены только на "отлично"
Добрый вечер! Появилась проблема с одной задачкой. Кому не сложно, прошу помочь. -\\-\\-\\-\\-\\- Результаты вступительных экзаменов...

Вывести средний балл каждого студента и номер студентов,не сдавших сессию
Задана матрица размерности н на м.н-количество студентов,м-количество сданных экзаменов. Каждый элемент матрицы-это оценка(0..5),полученная...

Вывести фамилии, имена и отчества всех студентов мужского пола, не сдавших более двух экзаменов
вывести фамилии, имена и отчества всех студентов мужского пола , не сдавших более двх экзаменов

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru