Вопрос № 107545: Здравствуйте Уважаемые Господа!
Я с Паскалем не работал, и мне нужна ваша помощь.
Мне на поскале нужно сделать так чтобы километры переводила на миллиметры.
Заранее спасибо!!...Вопрос № 107557: Доброго времени суток! Требуется помощь в решении задачи такого вида: ОДА+ДА=МОДА, где каждая буква - одна цифра. разные буквы - разные цифры.
Чисто в теории должен работать такой вариант решения, но не получается:
program blablabla; ...
Вопрос № 107.545
Здравствуйте Уважаемые Господа!
Я с Паскалем не работал, и мне нужна ваша помощь.
Мне на поскале нужно сделать так чтобы километры переводила на миллиметры.
Заранее спасибо!!
Отвечает: Pavl
Здравствуйте, Мадрахимов Данияр Бахтиярович!
1 км - это 1 000 000 мм.
Вот алгоритм.
writeln('Введите длину в километрах');
readln(a);
a:=a*1 000 000;
writeln(a);
Переменную a надо задать как переменную типа real.
Ответ отправил: Pavl (статус: 1-ый класс)
Ответ отправлен: 31.10.2007, 18:56
Отвечает: Форсман Павел Вячеславович
Здравствуйте, Мадрахимов Данияр Бахтиярович!
Текст!!!
Program T107545;
var
km,mm:Real;
begin
write('Введите число в километрах km=');
readln(km);
mm:=km*1000000;
writeln('В ',km:0:0,' километрах ',mm:0:0,' миллиметров.');
readln;
end.
--------- Научить нельзя, но можно попробовать научиться!!!
Доброго времени суток! Требуется помощь в решении задачи такого вида: ОДА+ДА=МОДА, где каждая буква - одна цифра. разные буквы - разные цифры.
Чисто в теории должен работать такой вариант решения, но не получается:
program blablabla;
var m,o,d,a,x,y,z:word;
begin
for m:=1 to 9 do
begin for o:=1 to 9 do
begin for d:=1 to 9 do
begin for a:=0 to 9 do
begin if (o<>d)and(m<>a)and(o<>a)and(o<>m)and(m<>d)and(d<>a) then
begin x:=100*o+10*d+a;
y:=10*d+a;
z:=1000*m+100*o+10*d+a;
if x+y=z then writeln(x,'+',y,'=',z);
end; end; end; end; end; end.
Реализация нужна именно через цикл с параметром.
И еще вопросик: возможно ли в цикле с параметром реализовать увеличение не на 1, а на другое число, т.е. будет ли работать такая конструкция(например: надо найти сумму нечетных чисел, границы предела неважны):
Отвечает: Verena
Здравствуйте, Work_stranger!
Ваш код вполне правильный, хоть это решение и не оптимальное. Только загвоздка в том, что ребус решения не имеет:
100о + 10 д + а + 10 д + а = 1000м + 100о + 10 д + а
10д + а = 1000м -> при обычных начальных условиях решения нет.
А по поводу цикла - ответ нет, в Паскале нельзя ни в коем случае менять значение параметра внутри цикла, поскольку как он, этот цикл, внутри устроен, мы как бы не знаем, и это может привести к непредсказуемому результату, например, к зацикливанию программы. Дело в том, что если крайнее значение параметра по каким-то причинам не будет получено, то цикл будет продолжать выполняться, сбросив параметр в минимальное значение типа integer.
Удачи!
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 31.10.2007, 22:14 Оценка за ответ: 5