IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Даны Z,X и Y. Вычислить R=max(x+y,z,y+z), если x>y. В противном случае R=x+y+z
9milesz
сообщение 22.12.2014 19:55
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Mihail

Репутация: -  0  +


Даны Z,X и Y. Вычислить R=max(x+y,z,y+z), если x>y. В противном случае R=x+y+z

не могу решить, прошу помощи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 22.12.2014 21:51
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


А что уже имеется кроме ничего?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
9milesz
сообщение 22.12.2014 22:40
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Mihail

Репутация: -  0  +


Цитата(Федосеев Павел @ 22.12.2014 21:51) *

А что уже имеется кроме ничего?


В том то и дело, что ничего.. Пробовал писать, ничего не получилось и не работало
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 22.12.2014 22:45
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


Ну вот попытки и приводи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
9milesz
сообщение 23.12.2014 4:35
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Mihail

Репутация: -  0  +


Цитата(Федосеев Павел @ 22.12.2014 22:45) *

Ну вот попытки и приводи.




var
z,x,y,r,max:real;
begin
writeln('Vvedite X');
readln(x);
writeln('Vvedite Y');
readln(y);
writeln('Vvedite Z');
readln(z);
if (x>y)
then
begin
if x+y>y+z and x+y>z then writeln('MAX=x+y',x+y);
if y+z>x+y and y+z>z then writeln('MAX=y+z',y+z);
if z>x+y and z>y+z then writeln('MAX=Z',z);
if x+y=y+z=z then writeln('MAX="="',z);
end.
else
r:=x+y+z;
writeln('R=',R);
end.



Я предполагаю, что здесь куча ошибок. Так же возможно, что я пошел вообще не тем путем. Задачу попросил сделать мой друг. Понятно, что надо бы ему самому разбираться, но что поделать, друг есть друг. Сам я паскаль не видел с 9 класса и вполне возможно, что "очевидные" для Вас вещи окажутся для меня вовсе не такими. Поэтому прошу, по мере возможности, подсказать максимально "понятнее", если так можно выразится.



Сообщение отредактировано: 9milesz - 23.12.2014 4:45
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 23.12.2014 6:43
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


В общих чертах

1. Определи Функцию Max(a,b)
2. Если ... то R:=x+y+z, иначе R:=Max(Max(x+y,z), y+z)
3. writeln('R=',R);

И доводи программу до уровня компиляции - кто будет расставлято скобки в условиях?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
9milesz
сообщение 23.12.2014 14:58
Сообщение #7





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Mihail

Репутация: -  0  +


Цитата(Федосеев Павел @ 23.12.2014 6:43) *

В общих чертах

1. Определи Функцию Max(a,b)
2. Если ... то R:=x+y+z, иначе R:=Max(Max(x+y,z), y+z)
3. writeln('R=',R);

И доводи программу до уровня компиляции - кто будет расставлято скобки в условиях?





begin
if x+y>y+z and x+y>z then writeln('MAX=x+y',x+y);
if y+z>x+y and y+z>z then writeln('MAX=y+z',y+z);
if z>x+y and z>y+z then writeln('MAX=Z',z);
if x+y=y+z=z then writeln('MAX="="',z);
end.


Эта часть вообще не нужна? я правильно понял?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 23.12.2014 21:39
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


Она делает тоже самое, но не очень наглядно и трудно проверить.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
9milesz
сообщение 24.12.2014 0:41
Сообщение #9





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Mihail

Репутация: -  0  +


 
var
z,x,y,r:real;
function max(x,y : real) : real;
begin
if (x > y) then max := x
else max := y;
end;
begin
writeln('Vvedite X');
readln(x);
writeln('Vvedite Y');
readln(y);
writeln('Vvedite Z');
readln(z);
if (x>y)
then
R:=max(max(x+y,z),y+z) else R:=x+y+z;
writeln('R=',R);
end.


Вот, вроде бы даже работает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 24.12.2014 9:41
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


Классно!!!

PS Обычно, как коммивояжёр, я ещё предлагаю "товар вдогонку" - форматтер исходного кода JCF - по этой и этой ссылкам. Очень удобно, да и преподавателю сдавать не стыдно (они обычно фыркают, если нет отступов).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 10.11.2024 15:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"