Помощь - Поиск - Пользователи - Календарь
Полная версия: Расчётная работа. Помогите
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
abv
Создать массив записей, содержащих сведения об игрушках в торговой базе.
- Название игрушки(кукла, конструктор, робот и т.п.)
-ее стоимость
- Возрастные граници ребёнка, для которого предназначена игрушка.
Предусмотреть выдачу сведений:
а) О цене самой дорогой игрушки;
б) Об игрушках цена которых не привышает заданную величину;
в) Название игрушек которые подходят детям от 4 до10 лет.

Вот такое непростое задание. Помогите плиз.
volvo
Значит, алгоритм такой:

1. Определяем массив записей для хранения данных:
Код

const
 n = 20; {количество игрушек}
type
 TItem = record
   title: string[30];  { название }
   price: real;  { цена }
   ages: byte;  { возраст }
 end;

var
 info: array[1 .. n] of TItem;


Затем проходим по этому массиву и смотрим, для каких записей выполняются приведенные выше условия... если условие выполняется - печатаем.

Если не срочно, завтра могу набросать исходник... ;)
GoodWind
abv, курсовик ?
Jahnerus
Ну вобщем в продолжение темы...
Код

uses crt;
type
 item = record
   title: string[30];{название}
   price: real;{цена}
   age_1,age_2: byte;{возраст}
 end;
var
 i,n:byte;
 maxp:real;
 info: array[1 .. 255] of item;
begin
clrscr;
{Ввод данных производится с клавы}
write('Введите количество товаров ');
readln(n);
for i:=1 to n do begin
 with info[i] do begin
   writeln('Введите данные для ',i,'-ой/ей игрушки :');
   write('Hазвание: ');
   readln(title);
   write('Цена: ');
   readln(price);
   if price>maxp then maxp:=price;
   write('Возростные границы (через пробел): ');
   readln(age_1,age_2);
 end;
end;
clrscr;
writeln('Цена самой дорогой игрушки ',maxp:4:2);
write('Введите величину ограничивающую стоимость ');
readln(maxp);
for i:=1 to n do begin
 with info[i] do begin
   if price<maxp then begin
     writeln('Hазвание: ',title);
     writeln('Цена: ',price:4:2);
     writeln('Возростные границы: от ',age_1,' до ',age_2);
     writeln('Hажмите клавишу для вывода информации о следующей игрушке ');
     readkey;
   end;
 end;
end;
writeln('Игрушек с ценой меньшей указанной вами больше нет');
writeln('Следующие игрушки подходят детям в возрасте от 4 до 10 лет');
for i:=1 to n do begin
 with info[i] do begin
   if (age_1>3) and (age_2<11) then writeln(title);
 end;
end;
readln;
end.

Надеюсь что првильно понял задание :p2:
Guest
Цитата(GoodWind @ 11.11.04 19:16)
abv, курсовик ?

да
abv
Цитата(Jahnerus @ 11.11.04 22:27)
Ну вобщем в продолжение темы...

Можешь, в коментаирях надписать, где указыать названия игрушек и их цену... Типа Кукла - 40 рублей, Конструктор -50 и т.п. Чтоб такое получить...
Jahnerus
Как и обещал теперь прога читает файл с данными
Код
uses crt;
type
item = record
  title: string[30];{название}
  price: real;{цена}
  age_1,age_2: byte;{возраст}
end;
var
 i,n:byte;
 maxp:real;
 info: array[1 .. 255] of item;
 s:string;
 f:text;
 er:integer;
begin
assign(f,'c:\data.txt');{c:\data.txt - путь к файлу с данными}
reset(f);
repeat
  n:=n+1;
  readln(f,info[i].title);
  readln(f,s);
  val(s,info[i].price,er);
  if info[i].price>maxp then maxp:=info[i].price;
  readln(f,s);
  val(s,info[i].age_1,er);
  readln(f,s);
  val(s,info[i].age_2,er);
until eof(f);
close(f);
clrscr;
writeln('Цена самой дорогой игрушки ',maxp:4:2);
write('Введите величину ограничивающую стоимость ');
readln(maxp);
for i:=1 to n do begin
with info[i] do begin
  if price<maxp then begin
    writeln('Hазвание: ',title);
    writeln('Цена: ',price:4:2);
    writeln('Возростные границы: от ',age_1,' до ',age_2);
    writeln('Hажмите клавишу для вывода информации о следующей игрушке ');
    readkey;
  end;
end;
end;
writeln('Игрушек с ценой меньшей указанной вами больше нет');
writeln('Следующие игрушки подходят детям в возрасте от 4 до 10 лет');
for i:=1 to n do begin
with info[i] do begin
  if (age_1>3) and (age_2<11) then writeln(title);
end;
end;
readln;
end.


Кажется должно работать, не уверен потому что правил прямо здесь! ;)
Файл который читается должен выглядеть примерно так
Код
Паровоз
34.56
5
8
Самокат
90
7
14

ну вобщем и так далее ...
avg
помогите мне у меня похожая задача)

Пусть дан массив, содержащий сведения об игрушках: указывается название игрушки (например, кукла, кубики, мяч, конструктор и т. д.), ее стоимость в рублях и возрастные границы детей, для которых игрушка предназначена (например, для детей от 2 до 5 лет).
Получите информацию:
1) О названии игрушек, цена которых не превышает 150 рублей и которые подходят до 5 лет;
2) Можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так, чтобы суммарная стоимость игрушек не превышала 200 рублей;
3) Имеется ли мяч, ценой 110 рублей, предназначенный детям от 3 до 8 лет, если да, то выведите сведения об этой игрушке.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.