Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26

Работа с типом "запись"

10.11.2009, 22:56. Показов 1597. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть прога, которая по идее должна выводить список отличников:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
type student=record
   fio: array[1..10] of char;
   godroj: 1965..1975;
   godpost:1985..1995;
   ozenki: (alg, hist, comp):1..5;
   end;
var group:array[1..5] of student;
  s1:student;
  i,j:integer;
begin
   with s1 do begin
     for i:=1 to 5 do begin
        for j:=1 to 10 do read(fio[j]);
       readln(godroj,godpost);
       with ozenki do readln (alg, hist,comp);
     group[i]:=s1;
     end;
  end;
writeln('список отличников');
for i:=1 to 5 do with group[i],ozenki do
if ((alg=5) and (hist=5) and (comp=5)) then
writeln(fio,godroj,godpost);
end.
но она почему то не компилируется, пишет синтаксическую ошибку в 5 строке. Нужно её поправить, чтоб работала. Заранее спс.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2009, 22:56
Ответы с готовыми решениями:

Ошибка с типом Запись
Столкнулся с такой проблемой: Pascal ABC не может считать с файла строку размером 12. Вообщем вот код {2. Имеется файл...

Работа с файловым типом данных
Записать в файл f последовательного доступа N натуральных чисел. Получить в другом файле последовательного доступа все компоненты файла f,...

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

13
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
10.11.2009, 23:04
Цитата Сообщение от se0p Посмотреть сообщение
ozenki: (alg, hist, comp):1..5;
надо:
поле: тип;
у Вас:
поле: тип: тип;

- то есть: тип данных поля оzеnki указан неверно

Добавлено через 3 минуты
подберите иную структуру данных - например массив:
Pascal
1
ozenki: array[alg, hist, comp] of 1..5;
и используйте так:
Delphi
1
group[i].ozenki[hist] = 5
0
Тимуровец
 Аватар для Страдалецъ
445 / 285 / 50
Регистрация: 10.09.2009
Сообщений: 963
10.11.2009, 23:07
Pascal
1
ozenki: (alg, hist, comp):1..5;
Данная запись меня тоже в тупик поставила. Подразумевалось видимо так:
Code
1
Ocenki: record alg:1..5; hist:1..5; comp:1..5; end;
или что более правильно:
Pascal
1
2
3
4
TOcenka = 1..5;
...
Ocenki: record alg,hist,comp:TOcenka; end;
...
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
10.11.2009, 23:46  [ТС]
victor_g, Страдалецъ, спасибо, работает, а не могли бы вы подсказать, как бы исправить прогу, чтоб она упорядочивала студентов по среднему баллу. чёт не понимаю немного.
0
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
11.11.2009, 14:06
Цитата Сообщение от se0p Посмотреть сообщение
не могли бы вы подсказать, как бы исправить прогу, чтоб она упорядочивала студентов по среднему баллу
- у Вас вообще нет кода, которій бы что-то упорядочивал.
Алгоритм:
1) среди 1-го...N-го элементов - найти элемент с минимальным средним баллом
2) поменять его местами с первым элементом
3) среди 2-го...N-го элементов - найти элемент с минимальным средним баллом
4) поменять его местами с 2-м элементом
и т.д
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
11.11.2009, 22:06  [ТС]
victor_g, что-т я не улавливаю вашу мысль, вы не могли бы расширить её немножко?
0
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
11.11.2009, 22:11
вам необходимо упорядочить массв - так?
Вы просите "исправить" код, которого нет вообще! - или напишите свой вариант, и (если не будет работать) - просите исправить, или - просите НАПИСАТЬ!
Лучше, конечно, если Вы сами сначала попробуете.
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
11.11.2009, 22:24  [ТС]
victor_g, вы думаете я не пробовал?) бред просто получается, эх не понял я эти записи..
0
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
11.11.2009, 22:37
выложите свой код - и будем исправлять!
А что там понимать - запись - это совокупность значений Разных типов -vs- массив = совокупность значений одного и того же самого типа
спрашивайте, если когда!
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
11.11.2009, 23:55  [ТС]
в общем программа вводит информацию о пяти студентах: фамилию, год рождения, год поступления в техникум и оценки последней сессии.
Мне нужно упорядочить список студентов по среднему баллу и распечатать его.

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
type student=record
   fio: array[1..20] of char;
   godroj: 1965..1995;
   godpost:1985..2009;
   oc: record alg:1..5; hist:1..5; inf:1..5; end;
   sr_ball:real;
   end;
var group:array[1..5] of student;
 s,s1:student;
 i,j:integer;
begin
   with s1 do begin
    for j:=1 to 10 do read(fio[j]);
    writeln('god,godpost'); readln(godroj,godpost);
    sr_ball:=0;
     for i:=1 to 5 do begin
       with oc do readln (alg, hist,inf);
       sr_ball:=sr_ball+oc[i];
       group[i]:=s1;
     end;
  end;
writeln('сортировка по среднему баллу');
for i:=1 to 5 do with group[i],oc do
 if group[i].sr_ball>group[i+1].sr_ball then begin
 s:=group[i];
 group[i]:=group[i+1];
 group[i+1]:=s;
 writeln('fio,godrojd,godpost: ', fio ,godroj ,godpost );
readln;
end.
вот моя прога, которая даже не компилируется.

помогите исправить, что не так в ней
0
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
12.11.2009, 14:01
1) почему Вы вычисляете средний балл так:
Pascal
1
2
3
4
5
6
   sr_ball:=0;
     for i:=1 to 5 do begin
       with oc do readln (alg, hist,inf);
       sr_ball:=sr_ball+oc[i];
       group[i]:=s1;
     end;
вместо:
Pascal
1
sr_ball := (oc.alg + oc.hist + oc.inf)/3;
Кроме того, у Вас ошибки - 1) не закрыт цикл сортировки, 2) для сортировки необходимо 2 вложенных цикла
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
12.11.2009, 20:18  [ТС]
victor_g, о, уже компилируется..но вот что-то про вложенные циклы не всё понятно..
0
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
12.11.2009, 20:20
у Вас есть литература, где можно прочитать об алгоритмах сортировки (пузырьки, вставки и т.п.)?
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
12.11.2009, 23:37  [ТС]
Цитата Сообщение от victor_g Посмотреть сообщение
у Вас есть литература, где можно прочитать об алгоритмах сортировки (пузырьки, вставки и т.п.)?
ща погуглим..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2009, 23:37
Помогаю со студенческими работами здесь

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

Symfony2, работа с типом Collection, работа с базовой формой
Здравствуйте. Осваиваю создание CRUD приложения на Symfony 2, на примере. Однако, возникают ошибки: 1)При модификации шаблона...

Запись в поле с типом данных BLOB
а как можно записать запросом данные в поле с типом BLOB

знакомство со структурированным типом данных запись
Массив записей. Цель работы – знакомство со структурированным типом данных запись, изучить принципы и особенности работы с записями. с...

Запись в файл блоков с различным типом информации
Здравствуйте! Помогите решить такую проблему: На форме есть richTextBox и textBox (для примера). Мне необходимо уметь сохранить в...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru