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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2010, 16:12   #1
enji4ka
Пользователь
 
Аватар для enji4ka
 
Регистрация: 22.01.2009
Сообщений: 45
По умолчанию Паскаль. Таблица со значениями функции.

Здравствуйте, очень нуждаюсь в вашей помощи. Мне нужно сделать в Паскале(не графический режим) таблицу со значениями функции. Значения Х в промежутке [-a,a] с шагом 0.5.Выводятся значения и Х, и У.
На экране должно быть так:
Х | Y X | Y
----|----- -----|------
-10 |... 0 |....
-9.5|... 0.5 |...
..... |... ......|....
-0.5|... 10 |....
Значения У считаются по формуле. Где Х=1 и -1 пишется, где У -нет.
Программа обязательно из циклов.Буду очень признательна, если кто-то откликнется и поможет...
enji4ka вне форума Ответить с цитированием
Старый 20.11.2010, 16:49   #2
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Цитата:
Значения У считаются по формуле. Где Х=1 и -1 пишется, где У -нет.
Что-то не совсем понятно, какая же формула для Y.
optimator вне форума Ответить с цитированием
Старый 20.11.2010, 16:52   #3
enji4ka
Пользователь
 
Аватар для enji4ka
 
Регистрация: 22.01.2009
Сообщений: 45
По умолчанию

Значения Х должны быть от -10 до 10 с шагом 0.5.
Сама функция Y=7/(x-1)-2/(1+X).
Выводятся значения Х и У , т.е. X|Y X|Y в столбиках
Там, где Х=-1 , 1 , в значениях У пишется - нет.
enji4ka вне форума Ответить с цитированием
Старый 20.11.2010, 17:14   #4
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Процедура, которая печатает значения функции
Код:
procedure print(left,right,step:real);

begin
   writeln( '     x    | x*y       |     y');
   while  left<=right do
   begin
   if abs(left)=1  then      writeln(left,'    |   no   |      no')
   else writeln(left,'    |      ',   7/(left-1)-2/(1+left)*left, '      |     ',7/(left-1)-2/(1+left));
   left:=left+step;
   end;

end;

в основной проге вызываемм ее с нужными параметрами
Код:
 print(-10,10,0.5);
optimator вне форума Ответить с цитированием
Старый 20.11.2010, 17:17   #5
enji4ka
Пользователь
 
Аватар для enji4ka
 
Регистрация: 22.01.2009
Сообщений: 45
По умолчанию

Спасибо большое, это уже большое продвижение.. А можно это сделать как-то без процедур? Дело в том, что мне только с циклами надо, никаких процедур, никаких массивов...((((
enji4ka вне форума Ответить с цитированием
Старый 20.11.2010, 17:22   #6
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

С процедурами вообщето красивее и правильнее. Но ладно:
Код:
program table;
var left,right, step: real;
   
   begin
   left:=-10;
   right:=10;
   step:=0.5;
   writeln( '     x    | x*y       |     y');
   while  left<=right do
   begin
   if abs(left)=1  then      writeln(left,'    |   no   |      no')
   else writeln(left,'    |      ',   7/(left-1)-2/(1+left)*left, '      |     ',7/(left-1)-2/(1+left));
   left:=left+step;
   end;


   end.
optimator вне форума Ответить с цитированием
Старый 20.11.2010, 17:40   #7
enji4ka
Пользователь
 
Аватар для enji4ka
 
Регистрация: 22.01.2009
Сообщений: 45
По умолчанию

Я всё написала, как надо, а у меня почему-то такое появляется(((А надо:
Изображения
Тип файла: jpg a.jpg (53.9 Кб, 129 просмотров)
Тип файла: png att9.png (7.9 Кб, 27 просмотров)
enji4ka вне форума Ответить с цитированием
Старый 20.11.2010, 18:01   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Форматирование вывода в паскале еще никто не отменял:
Код:
...
   writeln( 'x':5,'|':5,'x*y':7,'|':5,'y':5);
   while  left<=right do
   begin
   if abs(left)=1  then      writeln(left:5:1,'|':5,'no':7,'|':5,'no':7)
   else writeln(left:5:1,'|':5,7/(left-1)-2/(1+left)*left:7:3, '|':5,7/(left-1)-2/(1+left):7:3);
...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2010, 18:08   #9
enji4ka
Пользователь
 
Аватар для enji4ka
 
Регистрация: 22.01.2009
Сообщений: 45
По умолчанию

А вы не могли бы мне весь код от начала до конца написать?А то у меня действительно проблемы с программированием!Буду очень признательна!
enji4ka вне форума Ответить с цитированием
Старый 20.11.2010, 18:15   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А тут не нужно знать программирование.
Внимательно посмотри где и что я подправил - и подправь так же.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Таблица значений функции. MBelka Помощь студентам 3 21.10.2010 21:47
Таблица значений функции Alinochk@ Помощь студентам 8 20.10.2010 16:48
С++ >> Функции >> Обмен значениями Кирилл Юрьевич Общие вопросы C/C++ 2 08.09.2010 11:03
Паскаль. Линейная таблица. vadmaruschak Помощь студентам 1 08.12.2009 16:22