Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 10.10.2014, 20:14   #1 (permalink)
Зюня,0
Member
 
Регистрация: 29.05.2014
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Pascal, задачи на записи и графические построения

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

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

Тема перемещена в соответствующий раздел, будьте внимательнее. Ваш модерартор.
Зюня,0 вне форума   Ответить с цитированием

Старый 10.10.2014, 20:14
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

решение проблемы должно упроститься, если прочитать содержимое схожих тем

Практические задачи на языке Pascal
Решение задачи на Pascal
Pascal задачи
Задача. Записи Pascal

Старый 10.10.2014, 22:28   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
1.На складе имеется товар различного вида. Составить базу данных, предусмотрев поля: наименование товара, цена единицы товара, количество. Составить программу, позволяющую вывести весь список товаров; самый дешевый и самый дорогой товар; общую стоимость всего товара.
Идем в Поиск (в меню нашего форума), там забиваем "record" (без кавычек) и получаем кучу решенных задач на паскалевсие базы данных на основе записей. Находим наиболее близкую (коих полнО) и адаптируем к данной задаче.
Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
ЗАДАЧА НА ГРАФИЧЕСКИЕ ПОСТРОЕНИЯ
Здесь АБСОЛЮТНО необходимо указать, каким именно Паскалем (с каким графпакетом) Вы пользуетесь. Turbo? ABC? Lazarus?
Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
радиус описанной окружности равен 45
Не понял, какое значение для графики имеет указание размера в незнамо каких единицах.
Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот.
Это то есть как? Объясните, пожалуйста.
Vladimir_S вне форума   Ответить с цитированием
Старый 11.10.2014, 16:06   #3 (permalink)
Зюня,0
Member
 
Регистрация: 29.05.2014
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо за подсказку где искать!Я пробовала у меня не получилось найти)
Turbo Pascal,как я думаю это просто рассматривается частный случай других объяснений не знаю.Спасибо за ответ!
Зюня,0 вне форума   Ответить с цитированием
Старый 11.10.2014, 20:01   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
Спасибо за подсказку где искать!Я пробовала у меня не получилось найти)
Да любая, где есть решение, годится! И неважно, что там речь может идти о студентах, школьниках, спортсменах, автомобилях - принцип один и тот же.
Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
Turbo Pascal,как я думаю это просто рассматривается частный случай других объяснений не знаю.Спасибо за ответ!
Ладно. Завтра попробую выбрать время.
Vladimir_S вне форума   Ответить с цитированием
Старый 12.10.2014, 11:22   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ладно, я сегодня с утра добрый.
Вот задача про товарный склад.
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 12.10.2014, 12:27   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
Нарисовать равнобедренный прямоугольный треугольник, если радиус описанной окружности равен 45, треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот. (при необходимости координаты вершин рассчитываются).
Прежде всего, задание параметров инициализации графического режима Вам необходимо сделать самостоятельно. Просто потому, что для каждого компьютера это индивидуально (драйверы, их расположение и т.д.). Подробно этот вопрос рассмотрен, например, в теме Турбо Паскаль. Задание на анимацию.
Далее, замечаем, что радиус описанной окружности в данном случае равен высоте треугольника, или половине основания (оно же - гипотенуза).
Вроде всё.
Код:
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(..., ..., ...); {Тут - самостоятельно!}
 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.jpg   fp02.jpg   fp03.jpg   fp04.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 13.10.2014, 06:37   #7 (permalink)
Зюня,0
Member
 
Регистрация: 29.05.2014
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ого!!!Ничего себе!!!!Огромное спасибо!!!Что бы я без Вас делала!!!!!Еще раз спасибо!
Зюня,0 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:29.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.