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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2013, 22:25   #1
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Сообщение Помогите написать проги + графические схемы к ним

Проги надо написать в в ЦИКЛАХ !
Изображения
Тип файла: jpg 3,1.jpg (8.7 Кб, 141 просмотров)
Тип файла: jpg 3,2.jpg (6.9 Кб, 137 просмотров)
Тип файла: jpg 3,3.jpg (8.6 Кб, 139 просмотров)
maksim97maksim вне форума Ответить с цитированием
Старый 05.12.2013, 23:17   #2
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Как писал один модератор- "включаю телепатор".
На каком языке хоть?
Artsiom вне форума Ответить с цитированием
Старый 06.12.2013, 01:15   #3
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
По умолчанию

На ABC Pascal
maksim97maksim вне форума Ответить с цитированием
Старый 06.12.2013, 03:22   #4
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Код:
 const
  min=-4;
  max=4;
  h=0.2;
 var
  x, z : real;

function arccos(q : real) : real;
 begin
  Result := 2*ArcTan(Sqrt((1 - q) / (1 + q)))
 end;

begin
 x := min;
  while x <= max do
  begin
   if x > 1 then
   z := Sqrt( Sqr(Ln(x)/Ln(10)) +1)
   else
    if x <= -2 then
    z := 1/x + Exp(2*x)
    else
     z := Sqr(arccos(0.5-x));

   writeln('X =', x:6:2, '; Z(x) =', z:6:2,';');
   x := x + h;
  end;
  readln;
end.
Сие задача №1.
То ли условие не корректно, то ли я чего не понял. При подсчете
Код:
z := Sqr(arccos(0.5-x));
программа закрывается. На простом калькуляторе обычно пишется 0Е.

Последний раз редактировалось Artsiom; 06.12.2013 в 03:52.
Artsiom вне форума Ответить с цитированием
Старый 06.12.2013, 03:35   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Artsiom, область определения арккосинуса [-1; 1], что, очевидно, не соблюдается в условии задачи. Чтобы программа не закрывалась, нужно добавить несколько проверок в функцию арккосинуса.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.12.2013, 03:38   #6
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Поиск выдал сей чудный вариант решения задачи №2
Код:
var a,b:integer;
    min,maxd,i:integer;
begin
  write('a=');
  readln(a);
  write('b=');
  readln(b);
   if (a=0) or (b=0) then
     begin
      write('Axtung! Zero vvodit nelzja!');
      readln;
      halt
     end;

    if a>b then
      min:=b
   else
     min:=a;

   maxd:=1;
      for i:=1 to min do
         if (a mod i = 0) and (b mod i = 0) then
              if i> maxd then
                 maxd:=i;

write('NOD hisel ',a,' and ',b,' raven: ',maxd);
readln;
end.
Artsiom вне форума Ответить с цитированием
Старый 06.12.2013, 03:47   #7
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Значит можно вывести 0 с чистым сердцем?
Решение №1
Код:
 const
  min=-4;
  max=4;
  h=0.2;
 var
  x, z : real;

function arccos(q : real) : real;
 begin
  if (q>=-1) and (q<=1) then
  Result := 2*ArcTan(Sqrt((1 - q) / (1 + q)))
  else
  Result := 0;
 end;

begin
 x := min;
  while x <= max do
  begin
   if x > 1 then
   z := Sqrt( Sqr(Ln(x)/Ln(10)) +1)
   else
    if x <= -2 then
    z := 1/x + Exp(2*x)
    else
     z := Sqr(arccos(0.5-x));

   writeln('X=', x:5:2, '; Z(x)=', z:5:2,';');
   x := x + h;
  end;
  readln;
end.
Artsiom вне форума Ответить с цитированием
Старый 06.12.2013, 04:10   #8
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Ну и задача №3
Код:
 var
  k, m, n : integer;
  x, s, q : real;
begin
 write('N=');
 readln(n);
 write('X=');
 readln(x);
 q:=1;
 for k := 1 to n do
 begin
  s:=0;
  for m := 1 to n do
  s := s + (x+k)/m;
  q := q * s*exp(ln(k)*3);
 end;
 writeln('Otvet ', q:6:2);
 readln;
end.
Artsiom вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста помогите написать программу на Pascal, не разу не сталкивался просто с ним. kolashik Помощь студентам 10 08.05.2010 14:02
помогите написать проги! срочно! asembler FiLLinG Помощь студентам 5 24.05.2007 16:19