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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 16:16   #1
Katrinna
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 15
Печаль Паскаль, задачи (

Привет всем! У меня опять проблемы
Помогите пожалуйста!


1) Составить программу для вычисления:
http://s60.radikal.ru/i170/1011/98/0858403de9b4.jpg


2) Составить программу, которая определяет, принадлежит ли точка с координатами (х , у) заштрихованной области. Координаты точки ввести с клавиатуры.
http://i037.radikal.ru/1011/ad/bad8cd39febe.jpg

3) Составить программу для вычисления таблицы значений функции
f(x) для x [a, b] с заданным шагом изменения x.

http://s19.radikal.ru/i192/1011/7f/59d11b9e7622.jpg

в 3 задании надо сделать программы ( for, while и repeat, т.е. 3 программы )
Сделала только вот это:
Код:
Program Lab6_91;
uses wincrt;
var
  i,n:integer;
  a,b,h,x,f:real;
begin
  write ('a=');read(a);
  write ('b=');read(b);
  write ('h=');read(h);
  n:=round((b-a)/n+1);
  x:=a;
  for i:=1 to n do
begin
  f:=(cos(ln(x*x)))+((exp(x))-(exp((-2)*x)))*((sin(x))/(cos(x)));
  writeln ('x=',x:4:2);
  writeln ('f=',f:4:2);
  x:=x+h;
 end;
end.
Но выдает ошибку


Помогите кто чем может! А то я вообще запуталась
Katrinna вне форума Ответить с цитированием
Старый 30.11.2010, 16:46   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
n:=round((b-a)/n+1);
Вас здесь ничего не смущает? ))
Предлагаю
Код:
n:=round((b-a)/h)+1;
Ну а почему проблемы с repeat while
Код:
repeat
[Ваш код]
until b>=x;
Код:
while x<=b do
 begin
 [Ваш код]
 end;
P.S. Остальные наработки тоже выложите, поможем.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 30.11.2010 в 16:52.
alex_fcsm вне форума Ответить с цитированием
Старый 30.11.2010, 16:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

попробовал - работает.
Только добавил
Код:
readln;
end.
Для выдержки на экране результата
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2010, 18:46   #4
Katrinna
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 15
По умолчанию

Для while вот так?

Код:
Program Lab6_92;
uses wincrt;
var
  i,n:integer;
  a,b,h,x,f:real;
begin
  write ('a=');read(a);
  write ('b=');read(b);
  write ('h=');read(h);
  n:=round((b-a)/h)+1;
  x:=a;
  while x<=b do
begin
  f:=(cos(ln(x*x)))+((exp(x))-(exp((-2)*x)))*((sin(x))/(cos(x)));
  writeln ('x=',x:4:2);
  writeln ('f=',f:4:2);
  x:=x+h;
 end;
end.
а для repeat:
Код:
Program Lab6_92;
uses wincrt;
var
  i,n:integer;
  a,b,h,x,f:real;
begin
  write ('a=');read(a);
  write ('b=');read(b);
  write ('h=');read(h);
  n:=round((b-a)/h)+1;
  x:=a;
begin
repeat
  f:=(cos(ln(x*x)))+((exp(x))-(exp((-2)*x)))*((sin(x))/(cos(x)));
  writeln ('x=',x:4:2);
  writeln ('f=',f:4:2);
  x:=x+h;
  until b>=x;
 end;
end.
Katrinna вне форума Ответить с цитированием
Старый 30.11.2010, 20:27   #5
Katrinna
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 15
По умолчанию

Хелп
Katrinna вне форума Ответить с цитированием
Старый 30.11.2010, 21:30   #6
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от Katrinna Посмотреть сообщение

2) Составить программу, которая определяет, принадлежит ли точка с координатами (х , у) заштрихованной области. Координаты точки ввести с клавиатуры.
http://i037.radikal.ru/1011/ad/bad8cd39febe.jpg
Если верхняя точка (0;1) и заштрихованая область это - та, что вне ромба, то программа для правой половины рисунка (x>=0) будет такой
Код:
var  x,y: real;
begin
  readln(x,y);
  if (x>=0) and (y<=-x+1) and (y>=x-1) then writeln ('Точка НЕ принадлежит') else writeln('Точка принадлежит');
  readln;
end.
для левой части сама додумай, надо просто условие дополнить (и удалив лишнее). Удачи!
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 30.11.2010, 23:06   #7
Katrinna
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 15
По умолчанию

что-то я не понимаю,
вот так может дописать?

Код:
if (x<=0) and (y<=x-1) and (y>=-x+1)
А то, что я наверху написала правильно?
Katrinna вне форума Ответить с цитированием
Старый 30.11.2010, 23:13   #8
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от Katrinna Посмотреть сообщение
что-то я не понимаю,
вот так может дописать?

Код:
if (x<=0) and (y<=x-1) and (y>=-x+1)
А то, что я наверху написала правильно?
Нет. Не правильно.
Подскажу лишь то, что можно удалить из моего условия х>=0 и добавить еще 2 на прямые. У тебя неправильно написаны уравнения прямых.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 30.11.2010, 23:27   #9
Katrinna
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 15
По умолчанию

(((( ну я не знаю
Katrinna вне форума Ответить с цитированием
Старый 01.12.2010, 00:06   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

2) Ток я не проверял
Код:
var
    tempy: real;
......
    Read (x, y);
    if x >= 0 and y >= 0 then
    begin
        tempy := (-1)*x + 1;
        if y > tempy then writeln ('лежит в заштрихованной облати')
        else writeln ('Не лежит');
    end;
    if x >= 0 and y <= 0 then
    begin
        tempy := x - 1;
        if y < tempy then writeln ('лежит в заштрихованной облати')
        else writeln ('Не лежит');
    end;
    if x <= 0 and y >= 0 then
    begin
        tempy := x + 1;
        if y > tempy then writeln ('лежит в заштрихованной облати')
        else writeln ('Не лежит');
    end;
    if x <= 0 and y <= 0 then
    begin
        tempy := (-1)*x - 1;
        if y < tempy then writeln ('лежит в заштрихованной облати')
        else writeln ('Не лежит');
    end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 01.12.2010 в 00:09.
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи Паскаль ЕленаКсен Паскаль, Turbo Pascal, PascalABC.NET 37 26.06.2010 11:44
Задачи (Паскаль) enigma011 Помощь студентам 3 05.07.2009 16:51
задачи по Паскаль... Вера123 Помощь студентам 3 19.06.2009 19:23
Задачи Паскаль !!! andrey2 Помощь студентам 4 08.02.2009 19:21
4 задачи, Паскаль VirtuozZz Помощь студентам 9 26.04.2007 22:41