• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal, задачи на записи и графические построения

Зюня0

Новые
Регистрация
29 Май 2014
Сообщения
14
Реакции
0
Баллы
0
Pascal, задачи на записи и графические построения

Здравствуйте! Помогите пожалуйста решить задачи на Pascal записи.Организовать ввод данных с клавиатуры. Работу с данными организовать с помощью меню.
1.На складе имеется товар различного вида. Составить базу данных, предусмотрев поля: наименование товара, цена единицы товара, количество. Составить программу, позволяющую вывести весь список товаров; самый дешевый и самый дорогой товар; общую стоимость всего товара.
ЗАДАЧА НА ГРАФИЧЕСКИЕ ПОСТРОЕНИЯ
1. Нарисовать равнобедренный прямоугольный треугольник, если радиус описанной окружности равен 45, треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот. (при необходимости координаты вершин рассчитываются).

Заранее огромное спасибо!!!

Тема перемещена в соответствующий раздел, будьте внимательнее. Ваш модерартор.
 
1.На складе имеется товар различного вида. Составить базу данных, предусмотрев поля: наименование товара, цена единицы товара, количество. Составить программу, позволяющую вывести весь список товаров; самый дешевый и самый дорогой товар; общую стоимость всего товара.
Идем в Поиск (в меню нашего форума), там забиваем "record" (без кавычек) и получаем кучу решенных задач на паскалевсие базы данных на основе записей. Находим наиболее близкую (коих полнО) и адаптируем к данной задаче.
ЗАДАЧА НА ГРАФИЧЕСКИЕ ПОСТРОЕНИЯ
Здесь АБСОЛЮТНО необходимо указать, каким именно Паскалем (с каким графпакетом) Вы пользуетесь. Turbo? ABC? Lazarus?
радиус описанной окружности равен 45
Не понял, какое значение для графики имеет указание размера в незнамо каких единицах.
треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот.
Это то есть как? Объясните, пожалуйста.
 
Спасибо за подсказку где искать!Я пробовала у меня не получилось найти)
Turbo Pascal,как я думаю это просто рассматривается частный случай других объяснений не знаю.Спасибо за ответ!
 
Спасибо за подсказку где искать!Я пробовала у меня не получилось найти)
Да любая, где есть решение, годится! И неважно, что там речь может идти о студентах, школьниках, спортсменах, автомобилях - принцип один и тот же.
Turbo Pascal,как я думаю это просто рассматривается частный случай других объяснений не знаю.Спасибо за ответ!
Ладно. Завтра попробую выбрать время.
 
Ладно, я сегодня с утра добрый.
Вот задача про товарный склад.
1. Скачайте файл Store.txt и поместите его в корневой каталог диска С:.
Посмотреть вложение store.txt
2. Оттранслируйте и запустите программу:
Код:
Type
 Things=Record
         Name:String[10];
         Amount:Word;
         Price:Word;
        End;

Var
 N,i,Item,Imin,Imax:Byte;
 Sum:LongInt;
 Min,Max:Word;
 f:Text;
 Goods:Array[1..100] of Things;

Begin
 Assign(f,'C:\Store.txt');
 Reset(f);
 N:=0;
 Repeat
  Inc(N);
  with Goods[N] do
   begin
    read(f,Name);
    read(f,Amount);
    readln(f,Price);
   end;
 Until EoF(f);
 Close(f);
 Repeat
  Writeln;
  Writeln('Show:');
  Writeln('   1 - full list of goods');
  Writeln('   2 - lowest anf highest price goods');
  Writeln('   3 - full price of all goods');
  Writeln('   4 - Exit');
  Readln(Item);
  Case Item of
   1: for i:=1 to N do writeln(Goods[i].Name);
   2: begin
       Min:=Goods[1].Price;
       Imin:=1;
       Max:=Goods[1].Price;
       Imax:=1;
       for i:=2 to N do
        begin
         if Goods[i].Price<Min then
          begin
           Min:=Goods[i].Price;
           Imin:=i;
          end;
         if Goods[i].Price>Max then
          begin
           Max:=Goods[i].Price;
           Imax:=i;
          end;
        end;
       Writeln('Minimal: ',Goods[Imin].Name,' (',Goods[Imin].Price,')');
       Writeln('Maximal: ',Goods[Imax].Name,' (',Goods[Imax].Price,')');
      end;
   3: begin
       Sum:=0;
       for i:=1 to N do Inc(Sum,Goods[i].Price*Goods[i].Amount);
       Writeln('Full price of all goods: ',Sum);
      end;
   else Item:=4;
  end;
 Until Item=4;
End.
 
Нарисовать равнобедренный прямоугольный треугольник, если радиус описанной окружности равен 45, треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот. (при необходимости координаты вершин рассчитываются).

Прежде всего, задание параметров инициализации графического режима Вам необходимо сделать самостоятельно. Просто потому, что для каждого компьютера это индивидуально (драйверы, их расположение и т.д.). Подробно этот вопрос рассмотрен, например, в теме http://www.tehnari.ru/f43/t95841/.
Далее, замечаем, что радиус описанной окружности в данном случае равен высоте треугольника, или половине основания (оно же - гипотенуза).
Вроде всё.
Код:
Uses CRT,Graph;

Const
 RC=45;

Var
 R,XA,XB,YA,YB,FClr,BClr,i,Xc,Yc:Word;
 Angle:Real;

Procedure Triang(Color:Word);
begin
 SetColor(Color);
 XA:=Xc+Round(R*Cos(Pi/4+Angle));
 YA:=Yc-Round(R*Sin(Pi/4+Angle));
 XB:=Xc+Round(R*Cos(-Pi/4+Angle));
 YB:=Yc-Round(R*Sin(-Pi/4+Angle));
 Line(Xc,Yc,XA,YA);
 Line(Xc,Yc,XB,YB);
 Line(XA,YA,XB,YB);
end;

Begin
 InitGraph(..., ..., ...); [COLOR=Red][B]{Тут - самостоятельно!}
[/B][/COLOR] SetLineStyle(SolidLn,0,ThickWidth);
 R:=Round(RC*Sqrt(2));
 Xc:=GetMaxX div 2;
 Yc:=GetMaxY div 2;
 FClr:=GetColor;
 BClr:=GetBkColor;
 for i:=0 to 24 do
  begin
   Angle:=Pi/12*i;
   Triang(FClr);
   if i<24 then
    begin
     Delay(1000);
     Triang(BClr);
    end;
  end;
 SetColor(FClr);
 SetTextJustify(CenterText,BottomText);
 OutTextXY(Xc,2*Yc-10,'Press any key to quit...');
 Readkey;
 CloseGraph;
End.
 

Вложения

  • FP01.webp
    FP01.webp
    2.2 KB · Просмотры: 48
  • FP02.webp
    FP02.webp
    2.5 KB · Просмотры: 58
  • FP03.webp
    FP03.webp
    2.6 KB · Просмотры: 42
  • FP04.webp
    FP04.webp
    3.3 KB · Просмотры: 48
Ого!!!Ничего себе!!!!Огромное спасибо!!!Что бы я без Вас делала!!!!!Еще раз спасибо!
 
Назад
Сверху