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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2008, 23:41   #1
Omarion72-1990
 
Регистрация: 02.06.2008
Сообщений: 3
По умолчанию Ребята помогите с парой программ!

У меня есть две задачи на экзамен....во я не знаю даже, как решать одну из них.
1 задача.
type complex=record re,im:real end;

coeff=record a,b,c : complex end ; "a" не должен быть равен нулю.

Описать процедуру value (p,x,y),которая вычисляет y-значение квадратного
трех-

члена а(х*х)+в*х+с с коэффициентами из р в комплексной точке х.

Составить алгоритм и программу с процедурой. (Пильщиков В.Н. , N13.17).

С записями использовать оператор WITH

2 задача.

Имеются метеоданные дневной температуры за месяц.Разрааботать алгоритм и
программу для определения наиболее теплой декады месяца и отклонения
среднемясячной температуры от средней многолетней для этого месяца.

Указания:

решить с использованием типа данных ЗАПИСЬ с полями:

-название месяца,

-дата,

-дневная температура.
Omarion72-1990 вне форума Ответить с цитированием
Старый 03.06.2008, 22:57   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Задачи легкие, но писанины много, вот никто за просто так и не хочет делать.
puporev вне форума Ответить с цитированием
Старый 03.06.2008, 23:02   #3
Omarion72-1990
 
Регистрация: 02.06.2008
Сообщений: 3
По умолчанию

ДА блин....я не новичок в паскале....вторую прогу в принципе я сам мог бы написать...натолкните на мысль, что нужно именно сделать в первой проге
Omarion72-1990 вне форума Ответить с цитированием
Старый 04.06.2008, 08:04   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Привожу код первой задачи, во вложении немного инфы по этому вопросу.
Код:
uses crt;
type complex=record  //тип запись описывает комплексное число
             re,im:real;
             end;
     coeff=record  //тип запись описывает коэффициенты трехчлена
           a,b,c:complex;
           end;
var q:coeff; //коэффициенты
    z,f:complex;//аргумент и функция(х и у)
procedure Value(p:coeff;x:complex;var y:complex);
//в процедуру передаем значения аргумента и коэффициентов, она выдает значение функции
var s1,s2,s3,s4:complex;
begin
with p do
   begin
     s1.re:=x.re*x.re-x.im*x.im;  {x^2}
     s1.im:=x.re*x.im+x.im*x.re;
     s2.re:=a.re*s1.re-a.im*s1.im; {a*x^2}
     s2.im:=a.re*s1.im+a.im*s1.re;
     s3.re:=b.re*x.re-b.im*x.im;  {b*x}
     s3.im:=b.re*x.im+b.im*x.re;
     y.re:=s2.re+s3.re+c.re;     {a*x^2+b*x+c}
     y.im:=s2.im+s3.im+c.im;
   end;
end;
begin
clrscr;
writeln('Vvedite deist. i mnim. chasti z:');
read(z.re,z.im);  //вводим два числа через пробел
readln;         //Enter
writeln('Vvedite deist. i mnim. chasti koeff:');
with q do
   begin
     read(a.re,a.im,b.re,b.im,c.re,c.im);//вводим 6 чисел через пробел
     readln;  //Enter
   end;
Value(q,z,f);  //вызываем процедуру
writeln('Rezultat:');//выводим результат
if f.im<0 then writeln(f.re:9:5,'-',-f.im:9:5,'i')
else writeln('f=',f.re:9:5,'+',f.im:9:5,'i');
readln
end.
Вложения
Тип файла: doc Комплексные числа.doc (46.0 Кб, 10 просмотров)
puporev вне форума Ответить с цитированием
Старый 04.06.2008, 11:44   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Решил и вторую задачу, хотя не очень нравится условие - зачем поле название месяца, если он всего один, пришлось выгибаться. Но думаю пойдет и так.
Код:
uses crt;
const mes:array[1..12]of string=('January','February','March','April','May',
                                 'June','Juli','August','September','October',
                                 'November','December');
//перечисляем все месяцы, чтобы потом определить кол-во дней
type Tmes=record
          nam:string[10];//
          dat:byte;
          tem:integer;
          end;
var dn:array[1..31]of Tmes;  //массив записей дат и температур, месяц не недо, он всего один
    srm,srmg,sr1,sr2,sr3,max:real;
    n,i,d:byte;
begin
clrscr;
write('Nazvanie mesjaca: ');readln(ms.nam);
for i:=1 to 12 do
if ms.nam=mes[i] then //находим наш месяц в массиве и по его номеру узнаем количество дней
    case i of
    1,3,5,7,8,10,12:n:=31;
    4,6,9,11:n:=30;
    2:n:=28;//т.к. год не указывается, примем не високосный
    end;
writeln('Kolichestvo dnej=',n);
for i:=1 to n do
  begin
    write('Data: ');readln(dn[i].dat); //вводим данные за каждый день
    write('Temperatura: ');readln(dn[i].tem);
  end;
writeln;
srm:=0;
for i:=1 to n do
srm:=srm+dn[i].tem/n ;//средняя за месяц
writeln('Srednemesjachnaja temperatura=',srm:2:1);
write('Mnogoletnjaja srednjaja temperature mesjaca: ');//ср.годовое значение
readln(srmg);
writeln('Otklonenie=',srm-srmg:2:1);//отклонение
writeln;
writeln('Srednjaja temperatura 1 dekady:');//находим среднее по декадам
sr1:=0;
for i:=1 to 10 do
sr1:=sr1+dn[i].tem/10 ;
writeln(sr1:2:1);
writeln;
writeln('Srednjaja temperatura 2 dekady:');
sr2:=0;
for i:=11 to 20 do
sr2:=sr2+dn[i].tem/10 ;
writeln(sr2:2:1);
writeln;
writeln('Srednjaja temperatura 3 dekady:');
sr3:=0;
for i:=11 to n do
sr3:=sr3+dn[i].tem/(n-20) ;
writeln(sr3:2:1);
writeln;
if (sr1>sr2)and(sr1>sr3) then 
   begin
    max:=sr1; //находим макс и номер декады
    d:=1;
   end
else if (sr2>sr1)and(sr2>sr3) then
   begin
   max:=sr2;
   d:=2;
   end
else if (sr3>sr1)and(sr3>sr2) then
   begin
    max:=sr3;
    d:=3;
   end;
writeln('Samaja teplaja dekada ',d);
readln
end.
puporev вне форума Ответить с цитированием
Старый 04.06.2008, 22:17   #6
Omarion72-1990
 
Регистрация: 02.06.2008
Сообщений: 3
По умолчанию огромное спасибо!!!!!!

Огромное спасибо, что оказали помощь с первой задачей....не мог понять, что нужно делать! благодарю!!!!!
Omarion72-1990 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята помогите Doctor_iZmail PHP 2 17.02.2008 23:01
Помогите с парой заданий по ассемблеру cL1zMa Помощь студентам 1 02.10.2007 23:38