Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Pascal: вывести результаты вычисления функции в таблице
 
 автор: nikolayers   (01.12.2011 в 00:26)   письмо автору
25.2 Кб
 
 

Помогите написать программу)
ее условия прикреплено в теме (png файл)

  Ответить  
 
 автор: cheops   (01.12.2011 в 01:29)   письмо автору
 
   для: nikolayers   (01.12.2011 в 00:26)
 

Меня хватило вот на это :))), табличку сами форматируйте (если никак не выходит, пишите - возможно кто-то другой отрисует или у меня время появится повозиться с задачей)
program funct;
Uses Crt;
Var
  X, Y, Xs, Xe, Step, Tan, CosX :Real;
  k :Integer;
begin
  {Начало интервала, требуем, чтобы был больше 1,
   чтобы предотвратить деление на 0}
  repeat
    Write('Xs (>1) = ');
    Readln(Xs);
  until(Xs > 1);
  {Конец интервала, требуем, чтобы был больше Xs}
  repeat
    Write('Xe (>Xs) = ');
    Readln(Xe);
  until(Xe > Xs);
  {Шаг, требуем, чтобы был больше 0}
  repeat
    Write('Step (>0) = ');
    Readln(Step);
  until(Step > 0);
  X := Xs;
  while X < Xe do
  begin
    Y := 0;
    {Ума-то хватит подобрать условия для pi/2 -
     пресекаем, чтобы предотвратить деление на 0}
    CosX := Cos(X);
    if CosX < 0.00001 Then CosX := 0.00001;
    {Тангенса нет, считаем его сами}
    Tan := Sin(X) / Cos(X);
    for k := 1 to 10 do
    begin
      Y := Y + (Tan / (k - 3)) / (1 - X);
    end;
    Writeln(X, ' - ', Y);
    X := X + Step;
  end;
end.

  Ответить  
 
 автор: cheops   (01.12.2011 в 01:36)   письмо автору
 
   для: nikolayers   (01.12.2011 в 00:26)
 

Кстати, у вас k пробегает значение от 1 до 10 с интервалом 1, а в знаменателе стоит k - 3 (при k = 3 получается 0). При случае, у того, кто вам дал задачу поинтересуйтесь не переборщил ли он с делением на 0 - это уж вообще ни в какие ворота. Ладно там ловушки с отрицательным шагом или косинус пи пополам... но тут просто не обойти никак, что шаг что-ли пропускать?

  Ответить  
 
 автор: nikolayers   (01.12.2011 в 23:14)   письмо автору
 
   для: cheops   (01.12.2011 в 01:36)
 

в случае ошибки в таблице должно выводится об ошибке,а так за написанное вами спасибо человеческое))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования