Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 20.04.2010
Сообщений: 9

Определить перменную расписания,содержащую:день недели,количество пар в этот день,время начала и конца пары,название предмета,фамилию преподавателя

21.04.2010, 00:41. Показов 2710. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить перменную расписания,содержащую:
-день недели
-количество пар в этот день
-время начала и конца пары
-название предмета
-фамилию преподавателя
Вывести полную информацию о занятиях, относящихся к предметной области информатика

очень хотелось бы посмотреть реализацию на делфи и с комментариями если это возможно.Заранее спасибо большое!!!!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2010, 00:41
Ответы с готовыми решениями:

Ввести номер дня недели. Вывести его название, и количество пар в этот день
Ввести номер дня тижня. Вивести його назву і кількість пар (использовать switch case)

Ввести номер дня недели. Вывести количество пар в этот день
Задание 2: Предусмотреть ситуацию неправильного ввода исходных данных. 2) Ввести номер дня недели. Вывести количество пар в этот день.

Написать программу, которая по номеру дня недели (натуральному числу от 1 до 7) выдает в качестве результата количество пар в вашей группе в этот день
1. Написать программу, которая по номеру дня недели (натуральному числу от 1 до 7) выдает в качестве результата количество пар в вашей...

1
 Аватар для Ztrel
508 / 227 / 42
Регистрация: 14.11.2009
Сообщений: 371
21.04.2010, 18:51
Лучший ответ Сообщение было отмечено seifi как решение

Решение

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

Delphi
1
I: integer; // целое число.
Запись может содержать в себе все, что тебе захочется. То есть несколько типов данных в одном )

Создание такого типа данных происходит так:

Delphi
1
2
3
4
5
6
7
8
9
10
TYPE
 
имя_типа_переменной = RECORD
 
поле_1:  тип_данных1 ;
поле_2:  тип_данных2 ;
...
поле_N:  тип_данныхN ;
 
END;
Заметьте, что создание такого типа переменной должно происходить ДО объявления переменных в VAR.

Объявление такой переменной, происходит следующим образом:

Delphi
1
2
3
var
 
имя_переменной: имя_типа_переменной;
Также, можно легко сделать файлы, содержащие данные такого типа, или массивы:

Delphi
1
2
3
4
5
var
 
a: array of имя_типа_переменной;
 
F: file of имя_типа_переменной;
Заметьте, Создание и Объявление - это разные вещи ))

Обращение в программе к таким "переменным" происходит так:

Delphi
1
имя_типа_переменной.поле_N...
или для массива:

Delphi
1
A[i].поле_N...
На месте многоточия - обыкновенные действия, которые можно совершать с типом данных, которое имеет поле...

С теорией вроде все Объяснил как смог, не ругайте

Ну, а теперь - применим полученные знания к вашей программе.
Для примера я сделал программку, которая:

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

Delphi
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
77
78
79
// создаем тип расписания.
 
TYPE
 
Raspisanie = RECORD
 
denNedel: string[11];
// для дня недели. Почему 11 символов? Ну просто слово ВОСКРЕСЕНИЕ - 
// самое длинное из возможных
 
kolvopar: integer; // для количества пар в этот день.
 
vremia: string[13];
 // для времени начала и конца пары. С этим поподробней. Я считал, что время вводится 
// следующим образом -     14:02 - 21:53    - это тринадцать символов :))
 
Predmet,                 // для названия предмета 
Prepod: shortstring; // для имени учителя - строка длиной 255 символов. На всякий случай :)
 
END; // закончили создание типа.
 
// теперь объявляем его в var.
VAR
 
Rasp: array of raspisanie;
 // заметьте, я делаю массив. Для меня это просто удобно в данной ситуации. 
N, i: integer; 
// для количества дней, которые хочет заполнить пользователь и для пересчета элементов массива.
predmetPoisk: shortstring; // для будущего поиска предмета.
 
BEGIN
 
writeln ('N = '); readln(N); // ввели количество дней.
 
setlength(Rasp, N); // установили длину массива.
 
for i:= 1 to N do // от первого до последнего элемента массива делай...
begin
 
writeln('Vvedite den nedeli '); readln(a[i].denNedel); // ввели день недели.
writeln('Vvedite kolichestvo par '); readln(a[i].kolvopar); // ввели количество пар.
writeln('Vvedite vremia nachala i konsa pari '); readln(a[i].vremia); // ввели время начала и конца пары.
writeln('Vvedite nazvanie predmeta '); readln(a[i].predmet); // ввели название предмета.
writeln('Vvedite imia prepodavatelia '); readln(a[i].prepod); // ввели имя учителя.
writeln('________________'); // разделительная линия, а то и так неудобно смотреть будет.
writeln(''); // разделительная строка.
 
end;
 
// ввели все дни, которые захотели.
// Теперь, пусть пользователь введет название предмета, а мы уж его выведем потом.
 
Writeln(''); // пропустили строчку - для наглядности.
 
writeln('Kakoi predmet iskat ?');
readln(predmetPoisk); // ввели название предмета для поиска.
writeln(''); // опять разделили. 
 
// и поехали искать! :))
 
for i:= 1 to N do
if a[i].predmet = predmetPoisk then
begin
writeln(a[i].denNedel);
writeln(a[i].kolvopar);
writeln(a[i].vremia);
writeln(a[i].prepod);
 
// вывели всю информацию, кроме предмета. Я посчитал, то это ненужно, раз мы его искали, то
// название предмета уж точно нам известно.
 
writeln('__________________'); // разделительная линия.
writeln(''); // разделительная строка.
 
end; 
 
readln; 
 
END.
// Вот и вся программа )))

Вроде все правильно
Если есть вопросы - задавайте.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2010, 18:51
Помогаю со студенческими работами здесь

Ввести номер дня недели и вывести расписание пар в этот день
сабж нужно сделать условие через If, через switch сделал, а через if не могу нужно сделать типо такого понедельник - четверг - 4...

Определить день недели, на который приходится день с датой d (день), m (месяц)
Считая, что год не високосный и его 1 января приходится на день недели wd1, определиь wd -день недели, на который приходится день с датой...

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

Известна дата и день недели некоторого события. Определить, на какой день недели приходится начало года
Известна дата и день недели некоторого события. Определить, на какой день недели приходится начало года.

Определить, какой будет день недели через N дней, если сегодня день недели S
Вычисление с днями недели. Обозначим дни как 0 = воскресенье, 1 = понедельник, ..., 6 = суббота. Определите предикат p( +S, +N, -R),...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru