С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 23.12.2011
Сообщений: 31

Структурированные типы данных – записи

25.05.2012, 23:49. Показов 1525. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как это вообще?

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

Добавлено через 11 часов 58 минут
Подскажите...

Добавлено через 14 часов 0 минут
!!!!!!!!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2012, 23:49
Ответы с готовыми решениями:

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

Структурированные типы данных
Описать запись Homme, которая используется для описания человека (поля: Имя, Отчество, Фамилия, дата рождения, пол). Создать файл типа...

Структурированные типы данных
Доброго дня всем! Ребята, есть просьба, помогите мне пожалуйста. Очень вас прошу, кто может. Я буду очень благодарен, если найдется тот,...

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.05.2012, 12:48
Лучший ответ Сообщение было отмечено Рыжое Фее как решение

Решение

Можно например сделать так.

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
uses crt;
type menu=record
          naz:string[20];
          stm:integer;
          kal:integer;
          vyd:string[20];
          end;
const kmax=10;//максимальное количество каждого вида юлюд
var m:array[1..5*kmax] of menu;//массив блюд из расчета макс по 5 каждого
    n,k,i,j:byte; //количество, счетчик
    mn1,mx1,mn2,mx2,mnn,mxn:integer;//мин и макс стоимости по видам
    imn1,imx1,imn2,imx2,imnn,imxn:byte;//их номера
    mkh,mk1,mk2,mkd,mkn:integer; //минимальная калорийность по видам
    kh,k1,k2,kd,kn:byte; //их номера
begin
//введем все виды блюд, чтобы все было
n:=0;
repeat
write('Количество холодных закусок от 2 до ',kmax,' k=');
read(k);
until k in [2..kmax];
writeln('Введите сведения о холодных закусках:');
for i:=1 to k do
 begin
  writeln('Закуска ',i);
  n:=n+1;
  with m[n] do
   begin
    vyd:='холодные закуски';
    write('название: ');read(naz);
    write('стоимость:');read(stm);
    write('калорийность: ');read(kal);
   end;
  end;
mkh:=m[n].kal;
kh:=n;
repeat
write('Количество первых блюд от 2 до ',kmax,' k=');
read(k);
until k in [2..kmax];
writeln('Введите сведения о первых блюдах:');
for i:=1 to k do
 begin
  writeln('Блюдо ',i);
  n:=n+1;
  with m[n] do
   begin
    vyd:='первые блюда';
    write('название: ');read(naz);
    write('стоимость:');read(stm);
    write('калорийность: ');read(kal);
   end;
 end;
mn1:=m[n].stm;
mx1:=m[n].stm;
imn1:=n;
imx1:=n;
mk1:=m[n].kal;
k1:=n;
repeat
write('Количество вторых блюд от 2 до ',kmax,' k=');
read(k);
until k in [2..kmax];
writeln('Введите сведения о вторых блюдах:');
for i:=1 to k do
 begin
  writeln('Блюдо ',i);
  n:=n+1;
  with m[n] do
   begin
    vyd:='вторые блюда';
    write('название: ');read(naz);
    write('стоимость:');read(stm);
    write('калорийность: ');read(kal);
   end;
 end;
mn2:=m[n].stm;
mx2:=m[n].stm;
imn2:=n;
imx2:=n;
mk2:=m[n].kal;
k2:=n;
repeat
write('Количество десертов от 2 до ',kmax,' k=');
read(k);
until k in [2..kmax];
writeln('Введите сведения о десертах:');
for i:=1 to k do
 begin
  writeln('Десерт ',i);
  n:=n+1;
  with m[n] do
   begin
    vyd:='десерт';
    write('название: ');read(naz);
    write('стоимость:');read(stm);
    write('калорийность: ');read(kal);
   end;
 end;
mkd:=m[n].kal;
kd:=n;
repeat
write('Количество напитков от 2 до ',kmax,' k=');
read(k);
until k in [2..kmax];
writeln('Введите сведения о напитках:');
for i:=1 to k do
 begin
  writeln('Напиток ',i);
  n:=n+1;
  with m[n] do
   begin
    vyd:='напитки';
    write('название: ');read(naz);
    write('стоимость:');read(stm);
    write('калорийность: ');read(kal);
   end;
 end;
mnn:=m[n].stm;
mxn:=m[n].stm;
imnn:=n;
imxn:=n;
mkn:=m[n].kal;
kn:=n;
clrscr; //очистим экран и выведем меню
writeln('Меню:':25);
writeln('|----------------------------------------');
writeln('|            Холодные закуски           |');
writeln('|----------------------------------------');
writeln('| Название блюда |Стоимость|Калорийность|');
writeln('|----------------------------------------');
i:=1;
while m[i].vyd='холодные закуски' do
 begin
  with m[i] do
   begin
    gotoXY(1,whereY);write('| ',naz);
    gotoXY(18,whereY);write('|',stm:7);
    gotoXY(28,whereY);write('|',kal:9);
    gotoXY(41,whereY);writeln('|');
   end;
  i:=i+1;
 end;
writeln('|----------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
writeln('Меню:':25);
writeln('|----------------------------------------');
writeln('|             Первые блюда              |');
writeln('|----------------------------------------');
writeln('| Название блюда |Стоимость|Калорийность|');
writeln('|----------------------------------------');
while m[i].vyd='первые блюда' do
 begin
  with m[i] do
   begin
    gotoXY(1,whereY);write('| ',naz);
    gotoXY(18,whereY);write('|',stm:7);
    gotoXY(28,whereY);write('|',kal:9);
    gotoXY(41,whereY);writeln('|');
   end;
  i:=i+1;
 end;
writeln('|----------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
writeln('Меню:':25);
writeln('|----------------------------------------');
writeln('|             Вторые блюда              |');
writeln('|----------------------------------------');
writeln('| Название блюда |Стоимость|Калорийность|');
writeln('|----------------------------------------');
while m[i].vyd='вторые блюда' do
 begin
  with m[i] do
   begin
    gotoXY(1,whereY);write('| ',naz);
    gotoXY(18,whereY);write('|',stm:7);
    gotoXY(28,whereY);write('|',kal:9);
    gotoXY(41,whereY);writeln('|');
   end;
  i:=i+1;
 end;
writeln('|----------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
writeln('Меню:':25);
writeln('|----------------------------------------');
writeln('|                 Десерты               |');
writeln('|----------------------------------------');
writeln('| Название блюда |Стоимость|Калорийность|');
writeln('|----------------------------------------');
while m[i].vyd='десерт' do
 begin
  with m[i] do
   begin
    gotoXY(1,whereY);write('| ',naz);
    gotoXY(18,whereY);write('|',stm:7);
    gotoXY(28,whereY);write('|',kal:9);
    gotoXY(41,whereY);writeln('|');
   end;
  i:=i+1;
 end;
writeln('|----------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
writeln('Меню:':25);
writeln('|----------------------------------------');
writeln('|                 Напитки               |');
writeln('|----------------------------------------');
writeln('| Название блюда |Стоимость|Калорийность|');
writeln('|----------------------------------------');
while m[i].vyd='напитки' do
 begin
  with m[i] do
   begin
    gotoXY(1,whereY);write('| ',naz);
    gotoXY(18,whereY);write('|',stm:7);
    gotoXY(28,whereY);write('|',kal:9);
    gotoXY(41,whereY);writeln('|');
   end;
  i:=i+1;
 end;
writeln('|----------------------------------------');
//найдем все минимальные и иаксимальные
for i:=1 to n do
if m[i].vyd='холодные закуски'  then
 begin
  if m[i].kal<mkh then
   begin
    mkh:=m[i].kal;
    kh:=i;
   end;
end
else if m[i].vyd='первые блюда' then
 begin
  if m[i].stm<mn1 then
   begin
    mn1:=m[i].stm;
    imn1:=i;
   end;
 if m[i].stm>mx1 then
   begin
    mx1:=m[i].stm;
    imx1:=i;
   end;
 if m[i].kal<mk1 then
   begin
    mk1:=m[i].kal;
    k1:=i;
   end;
end
else if m[i].vyd='вторые блюда' then
 begin
  if m[i].stm<mn2 then
   begin
    mn2:=m[i].stm;
    imn2:=i;
   end;
 if m[i].stm>mx2 then
   begin
    mx2:=m[i].stm;
    imx2:=i;
   end;
 if m[i].kal<mk2 then
   begin
    mk2:=m[i].kal;
    k2:=i;
   end;
end
else if m[i].vyd='десерт' then
 begin
  if m[i].kal<mkd then
   begin
    mkd:=m[i].kal;
    kd:=i;
   end;
end
else if m[i].vyd='напитки' then
 begin
  if m[i].stm<mnn then
   begin
    mnn:=m[i].stm;
    imnn:=i;
   end;
 if m[i].stm>mxn then
   begin
    mxn:=m[i].stm;
    imxn:=i;
   end;
 if m[i].kal<mkn then
   begin
    mkn:=m[i].kal;
    kn:=i;
   end;
end;
writeln('Нажмите Enter для продолжения');
readln;
clrscr;
writeln('Самое дешевое меню:');
writeln(m[imn1].vyd,' ',m[imn1].naz,' ',m[imn1].stm);
writeln(m[imn2].vyd,' ',m[imn2].naz,' ',m[imn2].stm);
writeln(m[imnn].vyd,' ',m[imnn].naz,' ',m[imnn].stm);
writeln;
writeln('Самое дорогое меню:');
writeln(m[imx1].vyd,' ',m[imx1].naz,' ',m[imx1].stm);
writeln(m[imx2].vyd,' ',m[imx2].naz,' ',m[imx2].stm);
writeln(m[imxn].vyd,' ',m[imxn].naz,' ',m[imxn].stm);
writeln;
writeln('Самое низкокалорийное меню:');
writeln(m[kh].vyd,' ',m[kh].naz,' ',m[kh].kal);
writeln(m[k1].vyd,' ',m[k1].naz,' ',m[k1].kal);
writeln(m[k2].vyd,' ',m[k2].naz,' ',m[k2].kal);
writeln(m[kd].vyd,' ',m[kd].naz,' ',m[kd].kal);
writeln(m[kn].vyd,' ',m[kn].naz,' ',m[kn].kal);
end.
1
72 / 72 / 64
Регистрация: 30.04.2014
Сообщений: 214
13.11.2014, 20:51
Можно еще и таким образом сделать. Не так красиво и структурировано как у уважаемого мною Puporev. Но короче
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Type
Bludo=record
 name:string;
 pay:real;
 kal:integer;
 vid:string;
end;
Var a:array[1..100] of Bludo;
n,i,j:integer;
imin_1,imin_2,imin_nap:integer;
imax_zak,imax_1,imax_2,imax_des,imax_nap:integer;
iminkal_zak,iminkal_1,iminkal_2,iminkal_des,iminkal_nap:integer;
st1,st2,st3:real;
Begin
write('Введите количество наименований блюд: ');
readln(n);
for i:=1 to n do
With a[i] do
 begin
  writeln('Введите данные о ',i,' блюде:');
  write('Введите наименование: ');
  readln(name);
  write('Введите цену: ');
  readln(pay);
  write('Введите калорийность: ');
  readln(kal);
  writeln('Введите вид блюда: ');
  writeln('1: холодная закуска');
  writeln('2: первое блюдо');
  writeln('3: второе блюдо');
  writeln('4: десерт');
  writeln('5: напиток');
  readln(j);
  Case j of
   1: begin vid:='холодная закуска';imax_zak:=i;iminkal_zak:=i end;
   2: begin vid:='первое блюдо';imin_1:=i;imax_1:=i;iminkal_1:=i end;
   3: begin vid:='второе блюдо';imin_2:=i;imax_2:=i;iminkal_2:=i end;
   4: begin vid:='десерт';imax_des:=i;iminkal_des:=i end;
   5: begin vid:='напиток';imin_nap:=i;imax_nap:=i;iminkal_nap:=i end;
  end;
 
 end;
Writeln('                     П Е Р Е Ч Е Н Ь    Б Л Ю Д:');
writeln;
writeln('№  ','  НАИМЕНОВАНИЕ  ','    ЦЕНА  ','   КАЛОРИЙНОСТЬ','        ВИД        ');
for i:=1 to n do
With a[i] do
begin
writeln(i,'. ',name:13,pay:12:2,kal:10,vid:23);
end;
for i:=1 to n do
 begin
  if (a[i].vid='первое блюдо') and (a[i].pay<a[imin_1].pay) then imin_1:=i;
  if (a[i].vid='первое блюдо') and (a[i].pay>a[imax_1].pay) then imax_1:=i;
  if (a[i].vid='первое блюдо') and (a[i].kal<a[iminkal_1].kal) then iminkal_1:=i;
  if (a[i].vid='второе блюдо') and (a[i].pay<a[imin_2].pay) then imin_2:=i;
  if (a[i].vid='второе блюдо') and (a[i].pay>a[imax_2].pay) then imax_2:=i;
  if (a[i].vid='второе блюдо') and (a[i].kal<a[iminkal_2].pay) then iminkal_2:=i;
  if (a[i].vid='напиток') and (a[i].pay<a[imin_nap].pay) then imin_nap:=i;
  if (a[i].vid='напиток') and (a[i].pay>a[imax_nap].pay) then imax_nap:=i;
  if (a[i].vid='напиток') and (a[i].kal<a[iminkal_nap].kal) then iminkal_nap:=i;
  if (a[i].vid='десерт') and (a[i].pay>a[imax_des].pay) then imax_des:=i;
  if (a[i].vid='десерт') and (a[i].kal<a[iminkal_des].kal) then iminkal_des:=i;
  if (a[i].vid='холодная закуска') and (a[i].pay>a[imax_zak].pay) then imax_zak:=i;
  if (a[i].vid='холодная закуска') and (a[i].kal<a[iminkal_zak].kal) then iminkal_zak:=i;
 
 end;
st1:=a[imin_1].pay+a[imin_2].pay+a[imin_nap].pay;
st2:=a[imax_zak].pay+a[imax_1].pay+a[imax_2].pay+a[imax_des].pay+a[imax_nap].pay;
st3:=a[iminkal_zak].kal+a[iminkal_1].kal+a[iminkal_2].kal+a[iminkal_des].kal+a[iminkal_nap].kal;
writeln;
writeln('Самое дешевое меню:');
writeln('Первое блюдо: ',a[imin_1].name);
writeln('Второе блюдо: ',a[imin_2].name);
writeln('Напиток: ',a[imin_nap].name);
writeln('Общая стоимость: ',st1:0:2);
writeln;
writeln('Самое дорогое меню:');
writeln('Холодная закуска: ',a[imax_zak].name);
writeln('Первое блюдо: ',a[imax_1].name);
writeln('Второе блюдо: ',a[imax_2].name);
writeln('Десерт: ',a[imax_des].name);
writeln('Напиток: ',a[imax_nap].name);
writeln('Общая стоимость: ',st2:0:2);
writeln;
writeln('Самое низкокалорийное меню:');
writeln('Холодная закуска: ',a[iminkal_zak].name);
writeln('Первое блюдо: ',a[iminkal_1].name);
writeln('Второе блюдо: ',a[iminkal_2].name);
writeln('Десерт: ',a[iminkal_des].name);
writeln('Напиток: ',a[iminkal_nap].name);
writeln('Общее количество калорий: ',st3);
End.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2014, 20:51
Помогаю со студенческими работами здесь

Структурированные типы данных. Файлы
Записать в файл последовательного доступа N действительных чисел а1, а2, ..., an. Организовать новый файл последовательного доступа,...

Структурированные типы данных- записи
Написать программу: 1.После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, на какой основе...

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

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

Структурированные типы: записи.
Даны сведения о результатах соревнования по бегу на 100 метров: фамилия и имя спортсмена, спортивное общество, результат в секундах. Выдать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru