Помощь - Поиск - Пользователи - Календарь
Полная версия: задача на табулирование функции
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dorash87
Помогите с решением кто знает
Написать програму для табулирования функции y=cos2x на промежутке [0;3,14] с шагом 0,25 и найти количество и сумму значений что удолетворяют условие 0,5<y<1
Заранее спасибо
мисс_граффити
FAQ читал? Поиском пользовался?
Сам решать пробовал?
Что не получается?
Dorash87
мисс_граффити
я только начинаю изучать программирование поэтому не все понимаю если знаеш как решать помоги пожайлуста
Bokul
Делаешь цикл от 0 до 3,14 с шагом 0,25
Например так:

x:=0;
while x<=3.14 do begin
x:=x+0.25;
end;


В этом цикле на каждом шагу считаешь значение функции

y:=cos(2*x);


И сразу проверяешь входит ли y в заданное ограничение

if (y>0.5) and (y<1) then begin
end;


если да, то увеличиваешь счетчик на 1, а суму - на значение y -ка

num:=num+1;
sum:=sum+y;


незабываем перед циклом обнулить эти переменные.

num:=0;
sum:=0;

Dorash87
Bokul
спасибо большое но можеш просто написать решение мне так легче разобратся
Bokul
Конечно же нет! wink.gif Ты же сам сказал, что хочешь учится, так учись!
Dorash87
Bokul
иногда легче учится когда ты видиш что у тебя должно получится. Пожайлуста напиши очень надо
Bokul
no1.gif
Говорю же, так не пойдет. Все, что надо я написал. Осталось только внимательно прочитать. Могу ответить на конкретные непонятные вопросы, но конечного решения от меня не получишь!
Dorash87
Сам цыкл я сделал
program d;
var
x, y, xmax, xmin, dx: real;
begin
Writeln (.....);
xmin:=0;
xmax:=3.14;
dx:=0.25;
x:=xmin;
while x<xmax do begin
y:=cos(2*x);
writeln (x:6:3, e:6:3);
x:=x+dx;
end;
Кажется все
volvo
М
Dorash87
Теги для тебя что, не существуют? Тебе удобно читать свой же код? А вот другим - не очень... Ищи кнопку "Изменить" и добавляй теги...

Bokul
Dorash87, как только отредактируешь свой пост - покажу твой исправленный код (з другой темы)..
Dorash87
Bokul ну что правильное решение или нет? Если нет то в чем ошибка?
program d;
var
x, y, xmax, xmin, dx, num, sum : real;
begin
Writeln (.....);
xmin:=0;
xmax:=3.14;
dx:=0.25;
x:=xmin;
num:=0;
sum:=0;
while x<xmax do begin
y:=cos(2*x);
if (y>0,5) and (y<1) than begin
num:=num+1;
sum:=sum+y;
end;
writeln (x:6:3, e:6:3);
x:=x+dx;
end;
readln;
end.
Bokul
Dorash87, читай посты модераторов, а то легко и в бан уйти...

Цитата
Если нет то в чем ошибка?

Чуть-чуть отредактировал:

program d;
var x, y, xmax, xmin, dx, sum : real;
num:integer;
begin
writeln('.....');
xmin:=0;
xmax:=3.14;
dx:=0.25;
x:=xmin;
num:=0;
sum:=0;
while x<xmax do begin
y:=cos(2*x);
if (y>0.5) and (y<1) then begin
num:=num+1;
sum:=sum+y;
end;
writeln (x:6:3, y:6:3);
x:=x+dx;
end;
writeln('Sum : ',sum:0:2);
writeln('Number :',num);
readln;
end.


PS видишь как мой код обрамленный в рамочку? Это же просят и от тебя..
Dorash87
Bokul спасибо тебе огромное теперь разобрался
PS как код в рамочку запехнуть?
Bokul
Вот:
Выбираем в listbox интересующий нас язык
Нажмите для просмотра прикрепленного файла
Пишем что-то в появившимся окне, весь код сюда запихнуть далеко не всегда получается
Нажмите для просмотра прикрепленного файла
Получаем то, что написали, заключенное в тегах
Нажмите для просмотра прикрепленного файла
Если надо еще что-то написать - не беда
Нажмите для просмотра прикрепленного файла
Dorash87
Ещо раз спасибо
мисс_граффити
mad.gif а исправлять (доставлять теги) в сообщения кто будет?
опять модеры/админы?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.