Страница 1 из 1
Помогите плз. решить задачку (pascal)
Добавлено: 25 дек 2006, 23:27
GieNa
Помогите плз. решить задачку (pascal)
Дан файл f, содержащий сведения об игрушках: указывается название игрушки(например, кукла, кубики,мяч,конструктор и т.д.), её стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двухз до пяти лет). Получить следующие сведения:
а) названия игрушек, цена которых не превышает 4 руб. и которые подходят детям 5 лет;
б) цену самого дорогого конструктора, оформленную по образцу ... руб. ... коп. ;
Re: Помогите плз. решить задачку (pascal)
Добавлено: 26 дек 2006, 02:18
Колядин Максим
Сколько игрушек должно быть?
Вот пример программы, где игрушка одна. (естественно второе условие здесь отбрасывается);
Код: Выделить всё
uses crt;
var f: text;
info: record
cost: integer;
name: string;
Bgra: integer;
Egra: integer;
end;
begin
assign(f,'a.txt'); {например}
reset(f);
readln(f,info.cost);
readln(f,info.name);
readln(f,info.Bgra);
readln(f,info.Egra);
clrscr;
if (info.cost<=4) then begin
if (info.Bgra>=1) and (info.Egra<=5) then begin
writeln('Имя игрушки, удовлетворяющей 1-му условию - "',info.name,'"');
writeln('Цена - ',info.cost,' коп.');
writeln('Возрастная категория от ',info.Bgra,' до ',info.Egra);
readkey;
exit;
end; end;
writeln('Нет игрушки, удовлетворяющей условию....');
readkey;
end.
Тут входной файл должен содержать:
1. Цена
2. Имя
3. Начало возр. границы
4. Её конец
Например
Re: Помогите плз. решить задачку (pascal)
Добавлено: 26 дек 2006, 08:53
somewhere
Допустим, Сost - цена в копейках и имеется не одна запись.
Код: Выделить всё
uses crt;
Type TInfo = record
cost: integer;
name: string;
Bgra: integer;
Egra: integer;
end;
var f: text;
info: TInfo;
MaxCostToy: TInfo;
function ReadRecord: TInfo;
begin
Readln(F, ReadRecord.Cost)
Readln(F, ReadRecord.Name)
Readln(F, ReadRecord.Bgra)
Readln(F, ReadRecord.Egra)
end;
begin
assign(f,'a.txt'); {например}
reset(f);
clrscr;
MaxCostToy.Cost := -1;
While not eof(F) do begin
Info := ReadRecord;
if (info.cost<=4) and ((info.Bgra>=1) and (info.Egra<=5)) then
begin
writeln('Имя игрушки, удовлетворяющей 1-му условию - "',info.name,'"');
writeln('Цена - ',info.cost,' коп.');
writeln('Возрастная категория от ',info.Bgra,' до ',info.Egra);
end;
If (Info.Name = 'Конструктор') and (Info.Cost > MaxCostToy.Cost) then MaxCostToy := Info;
end;
Writeln('Most priced constructor toy: ', (MaxCostToy.Cost div 100), ' r. ', (MaxCostToy.Cost mod 100), ' k.');
Readkey;
end.