Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Pascal(задача) помогите((

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Pascal(задача) помогите((
Имя
Сообщение << Старые топики   Новые топики >>
Pascal(задача) помогите(( - 2012-01-12 15:41:19.866666   
shinejke

Сообщений: 1
Оценки: 0
Присоединился: 2012-01-12 15:38:00.663333
Помогите с задачей очень прошу вас(((

Написать программу которая проверяет пройдёт ли кирпич (стороны a,b,c) в отверстие со сторонами (e,d).

в кирпиче есть:длина,ширина,высота (a,b,c) в отверстии:высота и ширина (d,e).
(В программе можно использовать:if,then,else,and,or(проходили только их)).
вот мое начало.. (думаю не правильно..)

quote:

program kurpuch;
var a,b,c,d,e:integer;
begin
readln(a);
writeln('Введите ширину Кирпича');
readln(b);
writeln('Введите длину Кирпича');
readln©;
writeln('Введите высоту Кирпича');
readln(d);
writeln('Введите высоту Отверстия');
readln(e);
writeln('Введите ширину Отверстия');

потом уже нужно условие… (if) помогите пожалуйста кто чем сможет(
Post #: 1
RE: Pascal(задача) помогите(( - 2012-01-12 16:12:33.050000   
unknownproject

Сообщений: 56
Оценки: 0
Присоединился: 2011-09-01 17:35:19.886666
if a=e and c=d //Если ширина кирпича равна ширине отверстия и высота кирпича равна высоте отверстия
then //тогда
begin
writeln('Кирпич поместился в отверстие') //Успех
end
else //иначе
begin
writeln('Размеры кирпича не совпадают с размерами отверстия'); //неудача
end;

Длина понятное дело, что не важна, потому что у отверстия известна высота и ширина, даже если кирпич торчит, то он в нее пролазит ((=


Второй вариант:
if a=e and b=e and c=d //Если ширина кирпича равна ширине отверстия или длина кирпича равна ширине отверстия (кирпич квадратный) и высота кирпича равна высоте отверстия
then //тогда
begin
writeln('Кирпич поместился в отверстие') //Успех
end
else //иначе
begin
writeln('Размеры кирпича не совпадают с размерами отверстия'); //неудача
end;

А тут длина = ширине.



Надеюсь, что я прав, если что, то поправь переменные в условии, ибо в условии задачи и коде у тебя некоторые различия (((=

Upd.Заключил в begin..end вывод сообщений (хотя это и не обязательно).
Post #: 2
RE: Pascal(задача) помогите(( - 2012-01-12 18:47:54.510000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333

quote:

ORIGINAL: unknownproject
Надеюсь, что я прав, если что, то поправь переменные в условии, ибо в условии задачи и коде у тебя некоторые различия (((=

Не прав, так как размеры стороны кирпича могут и не совпадать с размерами отверстия, а могут быть просто меньше - в этом случае кирпич тоже поместится в отверстие.

Автору: составь для начала условие, при котором кирпич пройдёт в отверстие, словами - а потом уже начинай программировать это условие.
Post #: 3
RE: Pascal(задача) помогите(( - 2012-01-12 19:04:31.560000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Как-то так, чтобы по-простому:
var a, b, c, d, e, t :integer; s1, s2 :integer; isOk :boolean; procedure lswap( var v1, v2 :integer ); var t :integer; begin if v1 &gt; v2 then begin t := v1; v1 := v2; v2 := t; end; end; function compare( v1, v2, d, e :integer ) :boolean; begin lswap( v1, v2 ); compare := ( s1 &lt;= d ) and ( s2 &lt;= e ); end; begin readln( a, b, c, d, e ); lswap( d, e ); isOk := compare( a, b, d, e ) or compare( b, c, d, e ) or compare( a, c, d, e ); if isOk then writeln( 'Success' ) else writeln( 'Fail' ); end.
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Pascal(задача) помогите((







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.