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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2009, 17:12   #1
Алена Захарова
 
Регистрация: 12.08.2009
Сообщений: 6
По умолчанию Две Задачи

Хочу обратиться с просбой помоч решить 2 задачи в программе Турбо паскаль, дело в том что я учусь на 3 курсе (на буджете, заочно, факультет информатики) в университете, ранее сдавала все хорошо, а сейчас появилась дочка 3 месяца, и времени катастрофически не хватает. Необходимо было решить 5 задач, 2,5 я решила сама, а еще на 2 времени уже нет сессия через неделю. помогите кто может, буду очень благодарна. Расчитываю на понимание.
задача 4
построить график следующих функций:
1) f(x)= sin(x)- cos (x)
2) e(x)= x*x -x при x > 0
достроить график этой функции при x<0 так, чтобы построенная линия была графиком четной функции.

задача 5
составить программу, которая бы проиллюстрировала с помощью гистограммы расходы по оплате коммунальных платежей за последние 4 месяца.

Заранее спасибо.
Алена Захарова вне форума Ответить с цитированием
Старый 12.08.2009, 18:18   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

построение графика функции
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 12.08.2009, 20:21   #3
Алена Захарова
 
Регистрация: 12.08.2009
Сообщений: 6
По умолчанию

Я помощь прошу, а не жалость и состранание.
Алена Захарова вне форума Ответить с цитированием
Старый 12.08.2009, 20:33   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

График sinx-cosx.
Код:
uses crt,graph;
const
x1=-2*pi;{начало и конец графика в реальных значениях}
x2=2*pi;
var
mx,my,a,x,dx,y1,y:real;
x0,y0,grD,px,py1,grM,i,k:integer;
s,s1:string;
begin
clrscr;
writeln('Grafik functii sin(x)-cos(x)');
readln;
grD:=detect;
initgraph(grD,grM,'');
X0:=getmaxX div 2;{начало координат в центре экрана}
Y0:=getmaxY div 2;
{коэффициенты по осям для перевода реальных координат в экранные}
mx:=620/(4*pi);{длина в пикселах по оси Х/реальная длина}
my:=460/4;{длина оси по У/(2*максимум функции(с небольшим запасом))}
SetBkColor(7); {цвет фона}
setlinestyle(0,0,1);{сплошная линия}
SetColor(1);{цвет линий осей}
line(10,y0,640,y0); {ось Х}
line(x0,480,x0,0); {ось У}
setlinestyle(1,0,0);  {пунктирная линия}
Setcolor(9);  {цвет сетки}
for i:=1 to 6 do   {максимальное количество засечек в одну сторону}
   begin
    line(10,y0-i*58,630,y0-i*58);     {засечки на оси У}
    line(10,y0+i*58,630,y0+i*58);
    line(x0+i*48,0,x0+i*48,480); {засечки на оси Х}
    line(x0-i*48,0,x0-i*48,480);
    {подпись оси У}
    k:=i div 2;
    str(k,s);
    if odd(i) then s:=s+'.5'
    else s:=s+'.0';
    outtextXY(x0+5,y0-i*58,s);{соответственно засечкам}
    outtextXY(x0+5,y0+i*58-10,'-'+s);
    {подпись оси Х}
    str(i,s);
    outtextXY(x0+i*48,y0+10,s);
    outtextXY(x0-i*48,y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0-10,10, 'Y');
dx:=0.001;
x:=x1;
while x<=x2 do
   begin
     px:=x0+round(x*mx); {изменение по оси Х}
     y1:=sin(x)-cos(x); {график в реальных координатах}
     py1:=y0-round(y1*my);{в экранных}
     putpixel(px,py1,12);
     x:=x+dx; {наращиваем х}
   end;
readln;
closegraph
end.
puporev вне форума Ответить с цитированием
Старый 12.08.2009, 20:34   #5
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Лови примерчик на Delphi. Там правда много того, что тебе не нужно, но разберёшься
2ОДИНОЧЕСТВО В СЕТИ Провокационная подпись
-----------------
Упс, сорри, не заметил что именно на TP надо
Вложения
Тип файла: rar graphbuilder.rar (10.2 Кб, 14 просмотров)
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 12.08.2009, 21:54   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

График x*x-x.
Код:
uses crt,graph;
const
x1=-6;{начало и конец графика в реальных значениях}
x2=6;
var
mx,my,a,x,dx,y:real;
x0,y0,grD,px,py,grM,i,k:integer;
s,s1:string;
begin
clrscr;
writeln('Grafik functii x*x-x pri x>1, dopolnenie pri x<0');
readln;
grD:=detect;
initgraph(grD,grM,'');
X0:=getmaxX div 2;{начало координат в центре экрана}
Y0:=420;
{коэффициенты по осям для перевода реальных координат в экранные}
mx:=620/14;{длина в пикселах по оси Х/реальная длина}
my:=420/30;{длина оси по У/(2*максимум функции)}
SetBkColor(7); {цвет фона}
setlinestyle(0,0,1);{сплошная линия}
SetColor(1);{цвет линий осей}
line(0,y0,640,y0); {ось Х}
line(x0,480,x0,0); {ось У}
setlinestyle(1,0,0);  {пунктирная линия}
Setcolor(9);  {цвет сетки}
for i:=1 to 7 do   {максимальное количество засечек в одну сторону}
   begin
    line(10,y0-i*140,630,y0-i*140);     {засечки на оси У}
    line(10,y0+i*140,630,y0+i*140);
    line(x0+i*44,0,x0+i*44,480); {засечки на оси Х}
    line(x0-i*44,0,x0-i*44,480);
    {подпись оси У}
    k:=i*10;
    str(k,s);
    outtextXY(x0+5,y0-i*140,s);{соответственно засечкам}
    {подпись оси Х}
    str(i,s);
    outtextXY(x0+i*44,y0+10,s);
    outtextXY(x0-i*44,y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0-10,10, 'Y');
dx:=0.001;
{основной график при х>0}
x:=dx;
while x<=x2 do
   begin
     px:=x0+round(x*mx); {изменение по оси Х}
     y:=x*x-x; {график в реальных координатах}
     py:=y0-round(y*my);{в экранных}
     putpixel(px,py,12);
     x:=x+dx; {наращиваем х}
   end;
{достраиваем симметрично при х<0}
x:=-dx;
while x>=x1 do
   begin
     px:=x0+round(x*mx);
     y:=x*x+x;
     py:=y0-round(y*my);
     putpixel(px,py,11);
     x:=x-dx;
   end;
readln;
closegraph
end.

Последний раз редактировалось puporev; 12.08.2009 в 22:08.
puporev вне форума Ответить с цитированием
Старый 12.08.2009, 22:10   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Платежи за месяц нужно суммарные, или по видам. Если по видам, то каким?
puporev вне форума Ответить с цитированием
Старый 13.08.2009, 08:47   #8
Алена Захарова
 
Регистрация: 12.08.2009
Сообщений: 6
По умолчанию

Огромное спасибо , платежи должны быть суммарные, е.т вцелом за месяц.
Алена Захарова вне форума Ответить с цитированием
Старый 13.08.2009, 09:09   #9
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
uses crt;
const n=4;
type Platez=record{представим платежи в виде записи}
            mes:string[15];{название месяца}
            sum:real;{сумма платежа}
            end;
var a:array[1..n] of Platez;{массив записей}
    i,j:integer;
begin
clrscr;
writeln('Введите данные о платежах за ',n,' месяцев');
for i:=1 to n do
 begin
  write('Месяц:');readln(a[i].mes);
  repeat
  write('Сумма платежа(2-5 тыс.)'); readln(a[i].sum);
  until(a[i].sum>=2000)and(a[i].sum<=5000);{ограничим диапазон, чтоб гистограмма нормально смотрелась}
 end;
clrscr;
for i:=1 to n do
 begin
  textcolor(i+10);{цвет от 11 до 14}
  write(a[i].mes);{выводим незвание месяца}
  gotoXY(15,whereY);{ставим курсор в текущей строке в позицию 15 от начала}
  for j:=1 to round(a[i].sum/100) do write(#219);{выводим в масштабе символы большого прямоугольника}
  write('  ',a[i].sum:0:2);{через 2 пробела выводим сумму}
  writeln;
 end;
readln
puporev вне форума Ответить с цитированием
Старый 13.08.2009, 10:35   #10
Алена Захарова
 
Регистрация: 12.08.2009
Сообщений: 6
По умолчанию

Спасибо большье, за помощь. Ну очень выручили. Здоровья и денег вам побольше
Алена Захарова вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две задачи на ассемблере stalker87 Помощь студентам 3 03.10.2010 13:31
Две задачи в Паскале Стасссс Помощь студентам 4 06.04.2009 16:06
две задачи!!! LOVELY Помощь студентам 2 30.01.2009 01:35
две задачи на С++ ELL Помощь студентам 0 01.06.2008 01:28