Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2016, 17:20   #1
Oleg7531
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 3
По умолчанию Задача из учебника 10 класс.

Помогите пожалуйста решить задачу)
Сведения об игрушках,хранящихся на складе детского магазина,следующие:название игрушки,ее стоимость в рублях и возрастные границы(например ,игрушка может предназначаться детям от 2-х до 5-ти лет).
1)Получить список наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более чем на 200руб.)
2)Определите стоимость всех кукол для детей шести лет.
Нужно создать папку,там будет текстовый файл с 10 игрушками и с заданными условиями(цена,возраст..).
Должна быть программа на Паскале ,данные после окончания работы программы должны выводиться на экран и в текстовый документ result.txt , который создаст сама программа.
Помогите пожалуйста!!
Oleg7531 вне форума Ответить с цитированием
Старый 16.05.2016, 18:24   #2
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Чем помочь то??
ВЫ что ни будь сами сделали??
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 16.05.2016, 19:12   #3
Oleg7531
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Dvoishnik Посмотреть сообщение
Чем помочь то??
ВЫ что ни будь сами сделали??
Создал файл txt с условиями:
Цена Возраст
Медведь 100 2

Заяц 106 6

Волк 300 3

Собака 114 1

Кошка 125 5

Машинка 148 4

Пазлы 130 6

Лиса 200 4

Птица 134 6

Паровоз 267 1
Я в информатике полный нуль(
Напишите пожалуйста программу)
Oleg7531 вне форума Ответить с цитированием
Старый 16.05.2016, 19:34   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

1. фигня твой файл: возрастных границ не вижу
2. структура файла toys.inp
Цитата:
Название1
цена1 младшийвозраст1 старшийвозраст1
.....
НазваниеN
ценаN младшийвозрастN старшийвозрастN
Код:
uses crt;
type Ttoy = record
     sku:string;
     pr:real;
     lb,ub:byte;
     end;
    tArr = array [1..50] of Ttoy;
var f:text;
N: integer;
a: tArr;
procedure readdata(fileInp : string; var ar:tArr;var nOut:integer);
var f:text;tmp:byte;
begin
    assign(f,fileInp);reset(f);
    while not (eof(f)) do
     begin
        inc(nOut);
        with ar[nOut] do
         begin
              readln(f,sku);
              readln(f,pr,lb,ub);
              if(lb>ub) then
                        begin
                          tmp:=ub;ub:=lb;lb:=tmp;
                        end;
         end;
     end;
    close(f);
end;

procedure outdata(ar:tArr; sze:integer);
var i:integer;
begin
  clrscr;
  for i:=1 to sze do
   with ar[i] do
   begin
        writeln('Toy #',i,': "',sku,'" RUB:',pr:2:2,'. Years:',lb,' to ',ub);
   end;
end;

function mostCostly(ar:tArr; size:integer):real;
var i:integer; tmp:real;
begin
  tmp:=ar[1].pr;
  for i:=2 to size do
   with ar[i] do
    begin
      if pr > tmp then tmp := pr
    end;
  mostCostly:=tmp;
end;
procedure task1(ar:tArr;size:integer;startPr:real);
var i:integer;f:text;
begin
    assign(f,'result.txt');rewrite(f);
    for i:=1 to size do
     with ar[i] do
      begin
        if abs(pr-startPr)<=200.0 then
         writeln(f,sku,' ',pr:4:3);
         writeln(sku,' ',pr:4:3);
      end;
    close(f);
end;
procedure task2(ar:tArr;size:integer);
var i:integer;f:text;tmp:real;
begin
    assign(f,'result.txt');append(f);
    tmp:=0;
    for i:=1 to size do
     with ar[i] do
      begin
         if (lb=6) or (ub=6) then tmp:=tmp+pr{// TODO придумай условие, плеать;}
      end;
    writeln(f,tmp:3:3);
    writeln(tmp:3:3);
    close(f);
end;

begin
readdata('toys.inp',a,n);
writeln(n);
outdata(a,n);
task1(a,n,mostCostly(a,n));
task2(a,n);
readln;
end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 16.05.2016 в 19:39.
Aleksandr H. вне форума Ответить с цитированием
Старый 16.05.2016, 20:34   #5
Oleg7531
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
1. фигня твой файл: возрастных границ не вижу
2. структура файла toys.inp

Код:
uses crt;
type Ttoy = record
     sku:string;
     pr:real;
     lb,ub:byte;
     end;
    tArr = array [1..50] of Ttoy;
var f:text;
N: integer;
a: tArr;
procedure readdata(fileInp : string; var ar:tArr;var nOut:integer);
var f:text;tmp:byte;
begin
    assign(f,fileInp);reset(f);
    while not (eof(f)) do
     begin
        inc(nOut);
        with ar[nOut] do
         begin
              readln(f,sku);
              readln(f,pr,lb,ub);
              if(lb>ub) then
                        begin
                          tmp:=ub;ub:=lb;lb:=tmp;
                        end;
         end;
     end;
    close(f);
end;

procedure outdata(ar:tArr; sze:integer);
var i:integer;
begin
  clrscr;
  for i:=1 to sze do
   with ar[i] do
   begin
        writeln('Toy #',i,': "',sku,'" RUB:',pr:2:2,'. Years:',lb,' to ',ub);
   end;
end;

function mostCostly(ar:tArr; size:integer):real;
var i:integer; tmp:real;
begin
  tmp:=ar[1].pr;
  for i:=2 to size do
   with ar[i] do
    begin
      if pr > tmp then tmp := pr
    end;
  mostCostly:=tmp;
end;
procedure task1(ar:tArr;size:integer;startPr:real);
var i:integer;f:text;
begin
    assign(f,'result.txt');rewrite(f);
    for i:=1 to size do
     with ar[i] do
      begin
        if abs(pr-startPr)<=200.0 then
         writeln(f,sku,' ',pr:4:3);
         writeln(sku,' ',pr:4:3);
      end;
    close(f);
end;
procedure task2(ar:tArr;size:integer);
var i:integer;f:text;tmp:real;
begin
    assign(f,'result.txt');append(f);
    tmp:=0;
    for i:=1 to size do
     with ar[i] do
      begin
         if (lb=6) or (ub=6) then tmp:=tmp+pr{// TODO придумай условие, плеать;}
      end;
    writeln(f,tmp:3:3);
    writeln(tmp:3:3);
    close(f);
end;

begin
readdata('toys.inp',a,n);
writeln(n);
outdata(a,n);
task1(a,n,mostCostly(a,n));
task2(a,n);
readln;
end.
Спасибо,а как создать файл .inp
И мне нужен в формате txt
Oleg7531 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по математике за 5 класс Qaliti Помощь студентам 3 20.03.2016 01:13
Задача по Паскалю 10 класс павел евгеньевик Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2012 15:42
Задача по информатике 9 класс. solovey.kurskiy Помощь студентам 18 28.10.2012 19:01
задача - определить Класс Andrew_s Visual C++ 2 13.12.2011 22:58
Задача exel 10 класс JDI Microsoft Office Excel 1 24.04.2011 17:31