IPB

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

 
Ответить в эту темуОткрыть новую тему
> циклический алгоритм в паскале
иван 23
сообщение 8.12.2009, 11:19
Сообщение #1


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



дано: E(эпсилон)=115В, r=29,7 Ом. формула P=R*SQR(E/R+r) при R=10,20,30,40,50,100,150,200,250,300


надо с while и repeat, в этом и возникли затруднения
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 8.12.2009, 11:26
Сообщение #2


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

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



Что конкретно не получается? Программа не запускается, или Вы не можете составить алгоритм?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
иван 23
сообщение 8.12.2009, 11:53
Сообщение #3


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



вот мои наработки:
const
E=115;
r=29.7;
var
RR,i:integer;
P:real;
begin
for i:=1 to 10 do
begin
if i<6 then RR:=i*10 else RR:=(i-5)*50+50;
P:=RR*SQR(E/RR+r);
write(P:10:2);
end;
readln;
end.
но поскольку это цикл с пост и предусловием, надо ведь while и repeat, вот я и не знаю куда их поставить и как записать

вот мои наработки:
const
E=115;
r=29.7;
var
RR,i:integer;
P:real;
begin
for i:=1 to 10 do
begin
if i<6 then RR:=i*10 else RR:=(i-5)*50+50;
P:=RR*SQR(E/RR+r);
write(P:10:2);
end;
readln;
end.
но поскольку это цикл с пост и предусловием, надо ведь while и repeat, вот я и не знаю куда их поставить и как записать
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 8.12.2009, 15:11
Сообщение #4


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



Цикл с предусловием используется, когда известно условие продолжения цикла. Пока при некоторых значениях входящих в условие перменных условие остается истинным, выполняется тело цикла. Как только условие стоновится ложным, работа оператора цикла прекращается.
Вам необходимо составить условие, при котором все описанные вами действия будут выполняться. Можно задействовать имеющуюся переменную i, добавить в программу всего 2 строчки и одну изменить. Не забывайте, что внутри цикла обязательно должен быть хотя бы один оператор, влияющий на условие продолжения цикла.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
иван 23
сообщение 9.12.2009, 8:35
Сообщение #5


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



вы бы могли помочь добавить эти строчки и изменить одну, нужно эту задачу решить именно через while, untill и repeat. а как это сделать я не понял
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 9.12.2009, 9:14
Сообщение #6


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



Вот ваше тело цикла:
begin
if i<6 then RR:=i*10 else RR:=(i-5)*50+50;
P:=RR*SQR(E/RR+r);
write(P:10:2);
end;
Выбор оператора цикла на него существенно не влияет.
На какую переменную, входящую в тело цикла, и какие ограничения можно наложить так, чтобы она удовлетворяла условиям задачи?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
иван 23
сообщение 9.12.2009, 9:28
Сообщение #7


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



на R можно наложить кажется. по-моему первый цикл должен R<RR как то, а второй R>RR.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 9.12.2009, 10:01
Сообщение #8


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



R у вас константа 29,7. Для того чтобы на входе в цикл проверить условие R<RR необходимо будет задать начальное значение переменной RR. Даже если вы возьмете значение заведомо большее 29,7, то уже при следующем проходе RR=10 окажется меньше 29,7, т.е.условие R<RR окажется ложным и цикл прекратит свою работу.
Попробуйте наложить ограничения на переменную i.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
иван 23
сообщение 9.12.2009, 10:44
Сообщение #9


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



покажите пожалуйста, ниче не получается у меня((
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 9.12.2009, 15:18
Сообщение #10


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



мда...условие-то элементарное i<=10
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
иван 23
сообщение 10.12.2009, 10:39
Сообщение #11


Школьник
*

Группа: Продвинутые
Сообщений: 32
Регистрация: 6.12.2009
Город: новосибирск



Юленька, а как в общем виде программа выглядеть будет тогда?) (IMG:style_emoticons/default/blush.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 11.12.2009, 6:54
Сообщение #12


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



const
E=115;
r=29.7;
var
RR,i:integer;
P:real;
begin
i:=1;
while i<=10 do
begin
if i<6 then RR:=i*10 else RR:=(i-5)*50+50;
P:=RR*SQR(E/RR+r);
write(P:10:2);
inc(i)
end;
readln;
end.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 



- Текстовая версия Сейчас: 29.4.2024, 4:18

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




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