IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Циклическая программа на Паскаль, please HElp!!!
tonibis
сообщение 26.9.2009, 8:46
Сообщение #1


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



помогите пожалуйста нужен алгоритм и программа!
http://lampert.ya.ru/replies.xml?item_no=3


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 26.9.2009, 8:54
Сообщение #2


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



В чём проблема-то?Где собственные наработки?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 11:01
Сообщение #3


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



program my;
uses crt;
var t,x:real; k,m:integer;
begin readln(x);
k:=1; t:=0;
repeat
t:=t+((sin(x)/cos(x)+k)/2*k*x);
k:=k+1
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;
writeln('t=',t:10:5);
readln;
end. (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/unsure.gif)

Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.9.2009, 11:08
Сообщение #4


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(tonibis @ 26.9.2009, 14:01) *

t:=t+((sin(x)/cos(x)+k)/2*k*x);

Могу ошибаться, но это вы случайно не сумму пытаетесь сделать? У вас вроде произведение?!
Попробуйте вручную для k=1, k=2...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 12:15
Сообщение #5


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



program my;
uses crt;
var t,x:real; k,m:integer;
begin readln(x);
k:=1; t:=0;
repeat
t:=t*((sin(x)/cos(x)+k)/2*k*x);
k:=1,k:=2...k:=m
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;
writeln('t=',t:10:5);
readln;
end. (IMG:style_emoticons/default/smile.gif)
помогите пожалуйста я же девушка
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 26.9.2009, 12:17
Сообщение #6


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Цитата(tonibis @ 26.9.2009, 16:15) *

program my;
uses crt;
var t,x:real; k,m:integer;
begin readln(x);
k:=1; t:=01;
repeat
t:=t*((sin(x)/cos(x)+k)/2*k*x);
k:=1,k:=2...k:=m
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;
writeln('t=',t:10:5);
readln;
end. (IMG:style_emoticons/default/smile.gif)
помогите пожалуйста я же девушка

Зачем это?У Вас же теперь всё время ноль будет в итоге (IMG:style_emoticons/default/smile.gif)
Скорее,нужно задать t=1.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.9.2009, 12:19
Сообщение #7


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(tonibis @ 26.9.2009, 15:15) *

t:=t*((sin(x)/cos(x)+k)/2*k*x);

на первом шаге получим вроде 0.
Цитата
помогите пожалуйста я же девушка

Первый, кто скажет, что я мальчик, пусть бросит в меня камень. (IMG:style_emoticons/default/rolleyes.gif)

Цитата(граф Монте-Кристо @ 26.9.2009, 15:17) *

Скорее,нужно задать t=1.

Тоже так думаю. Ура, значит я права. (IMG:style_emoticons/default/clap.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 12:26
Сообщение #8


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



щас попробую (IMG:style_emoticons/default/cool.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 12:40
Сообщение #9


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



проверьте пожалуйста
program my;
uses crt;
var t,x:real; k,m:integer;
begin readln(x);
k:=1; t:=1;
repeat
t:=t*((sin(x)/cos(x)+k)/2*k*x);
k:=1; k:=2; k:=m
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;
writeln('t=',t:10:5);
readln;
end
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.9.2009, 12:42
Сообщение #10


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(tonibis @ 26.9.2009, 15:40) *

k:=1; k:=2; k:=m

это что?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 13:08
Сообщение #11


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



как же записать k:=k+1
пока k не будет равно m
или как быть с ручным вводом k:=1,k:=2...
что верно то... (IMG:style_emoticons/default/unsure.gif)
информатика только в школе была
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 26.9.2009, 13:32
Сообщение #12


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Ну так и запишите, k:=k+1.
А что это за число m,где оно у Вас вообще определено?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 14:29
Сообщение #13


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



program my;
uses crt;
var t,x:real; k,m:integer;
begin readln(x);
k:=1; t:=1;
repeat
t:=t*((sin(x)/cos(x)+k)/2*k*x);
k:=k+1
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;
writeln('t=',t:10:5);
readln;
end
так вроде?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 26.9.2009, 14:52
Сообщение #14


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Если я правильно понял условие, нужно найти произведение первых m множителей, так? Тогда, во-первых, число m нужно либо вводить с клавиатуры,либо оно должно быть задано в самОм коде программы. Во-вторых, у Вас неправильно записано условие, Вам же нужно,чтобы у Вас номер k-того множителя не превышал m, а в коде Вы сравниваете почему-то (k+1)-й множитель с m.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.9.2009, 14:53
Сообщение #15


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(tonibis @ 26.9.2009, 17:29) *

t:=t*((sin(x)/cos(x)+k)/(2*k*x));
так вроде?

ну я бы еще в знаменателе скобочки поставила. А тае\к не знаю правильно, но я бы сделала так.

П.С.
Цитата
until abs((sin(x)/cos(x)+k)/2*k*x)>=m;

Что такое m?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 15:04
Сообщение #16


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



цикл должен повторяться m раз вроде
и поэтому такое условие until модуль>=m
?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.9.2009, 15:05
Сообщение #17


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(tonibis @ 26.9.2009, 18:04) *

цикл должен повторяться m раз вроде
и поэтому такое условие until модуль>=m?

Могу ошибатся, но из условия я вижу, что k должно изменяться от одного до m, а при чем здесь модуль выражения не понятно.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 15:13
Сообщение #18


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



условием выхода из цикла является достижение заданной точности вычисления модуля постановленной задачи.
и как же условие тогда поставить?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tonibis
сообщение 26.9.2009, 15:37
Сообщение #19


Школьник
*

Группа: Продвинутые
Сообщений: 30
Регистрация: 26.9.2009
Город: кострома
Учебное заведение: КГТУ



может быть until abs(...) (IMG:style_emoticons/default/unsure.gif)
дальше пока не знаю
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 26.9.2009, 17:11
Сообщение #20


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



По-моему,проще сделать while'ом, примерно так:
k:=1;
t:=1;
while (k<=m) do
begin
t:=t*{...}
k:=k+1;
end;
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.3.2024, 12:14

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru