Вход на сайт
кто в ПАСКАЛЕ разбирается?
111
NEW 24.10.02 17:31
NEW 24.10.02 22:20
в ответ Niko13 24.10.02 17:31
Ты сам принцип нахождения этого кратного знаешь ? если да то напиши а я тебе постараюсь помочь. чтото давно я математикой не занимался тормозной стал ...
Всегда с приветом ...
-=Alex Den=-
Всегда с приветом ...
-=Alex Den=-
---(¿) ---
Стань карлсоном - купи себе вентилятор
Стань карлсоном - купи себе вентилятор
NEW 24.10.02 22:38
в ответ Niko13 24.10.02 17:31
Ладно не стал много думать решил в инете найти что это такое и заодно наткнулся на решение ... ой ленивый я стал :(((
Var n,m,nok:integer;
{Функция, определяющая НОД двух чисел:}
Function nod(m,n:integer):integer;
Var r:integer;
begin
while n>0 do begin
r:=m mod n;
m:=n;
n:=r
end;
nod:=m;
end;
BEGIN {Основной программы}
{Ввод значений n и m:}
while n<=0 do
begin
write('Введите число n ',0);readln(n,0);
if n<=0 then
writeln('Число n должно быть положительным!')
end;
while m<=0 do
begin
write('Введите число m ',0);readln(m,0);
if m<=0 then
writeln('Число m должно быть положительным!')
end;
{Определяем и печатаем значение nok:}
nok:=m*n div nod(m,n,0);
writeln('НОК чисел n и m равен ', nok)
END.
Всегда с приветом ...
-=Alex Den=-
Var n,m,nok:integer;
{Функция, определяющая НОД двух чисел:}
Function nod(m,n:integer):integer;
Var r:integer;
begin
while n>0 do begin
r:=m mod n;
m:=n;
n:=r
end;
nod:=m;
end;
BEGIN {Основной программы}
{Ввод значений n и m:}
while n<=0 do
begin
write('Введите число n ',0);readln(n,0);
if n<=0 then
writeln('Число n должно быть положительным!')
end;
while m<=0 do
begin
write('Введите число m ',0);readln(m,0);
if m<=0 then
writeln('Число m должно быть положительным!')
end;
{Определяем и печатаем значение nok:}
nok:=m*n div nod(m,n,0);
writeln('НОК чисел n и m равен ', nok)
END.
Всегда с приветом ...
-=Alex Den=-
---(¿) ---
Стань карлсоном - купи себе вентилятор
Стань карлсоном - купи себе вентилятор
NEW 24.10.02 22:55
в ответ Alexden 24.10.02 22:38
No body
---(¿) ---
Стань карлсоном - купи себе вентилятор
Стань карлсоном - купи себе вентилятор
NEW 25.10.02 15:03
в ответ Niko13 25.10.02 14:43
while b>0 do
Смотри к чему ты здесь стремишься ...
begin
o:=a mod b;
a:=b;
b:=o;
end;
а здесь ты умножаешь твое а на б которое равно нулю :) заведи еще переменную , даже две - для старых значений а и б ... а что тебе с функцией то не понравилось то ?
NOK:=a*b div NOD;
Всегда с приветом ...
-=Alex Den=-
Смотри к чему ты здесь стремишься ...
begin
o:=a mod b;
a:=b;
b:=o;
end;
а здесь ты умножаешь твое а на б которое равно нулю :) заведи еще переменную , даже две - для старых значений а и б ... а что тебе с функцией то не понравилось то ?
NOK:=a*b div NOD;
Всегда с приветом ...
-=Alex Den=-
---(¿) ---
Стань карлсоном - купи себе вентилятор
Стань карлсоном - купи себе вентилятор
NEW 25.10.02 18:51
в ответ Niko13 24.10.02 17:31
Я давно не программировал на Pascal, но думаю прога могла бы выглядеть так:
program n_o_k;
const
privet='*Данная программа вычисляет НОК двух целых положительнах чисел*'
question='Продолжить?(Y/N)'
foul='Число должно быть целым и положительным! Повторите ввод:'
var
a,b,result: integer;
stop: boolean;
function nod(a,b: integer): integer;
var
rest: integer;
begin
repeat
begin
rest:=a mod b;
a:=b;
b:=rest
end
until rest=0;
nod:=a
end;
function nok(a,b: integer): integer;
begin
nok:=a*b/nod(a,b)
end;
procedure eingabe;
begin
a=0; b=0;
while a<=0 do
begin
writeln('Введите первое число:',0);
readln(a,0);
if a<=0 then writeln (foul)
end;
while b<=0 do
begin
writeln('Введите второе число:',0);
readln(a,0);
if b<=0 then writeln (foul)
end
end;
procedure rechnung;
begin
result:=nok(a,b)
end;
procedure ausgabe;
begin
writeln ('НОК чисел ',a,' и ',b,' равен: ', result)
end.
begin {n_o_k}
ClrScr;
stop:=false;
writeln(privet,0);
repeat
begin
eingabe;
rechen;
ausgabe;
writeln(question,0);
if KeyPressed='Y' or KeyPressed='y' then stop:=true
end
until stop=true;
exit
end. {n_o_k}
Может быть, нужно ещ╦ какие-нибудь модули стандартные подключить, а также провести отладку, так как возможности откомпилировать и прогнать программу у меня нет.
Желаю удачи!!!
Если что пиши: teuter@germany.ru
program n_o_k;
const
privet='*Данная программа вычисляет НОК двух целых положительнах чисел*'
question='Продолжить?(Y/N)'
foul='Число должно быть целым и положительным! Повторите ввод:'
var
a,b,result: integer;
stop: boolean;
function nod(a,b: integer): integer;
var
rest: integer;
begin
repeat
begin
rest:=a mod b;
a:=b;
b:=rest
end
until rest=0;
nod:=a
end;
function nok(a,b: integer): integer;
begin
nok:=a*b/nod(a,b)
end;
procedure eingabe;
begin
a=0; b=0;
while a<=0 do
begin
writeln('Введите первое число:',0);
readln(a,0);
if a<=0 then writeln (foul)
end;
while b<=0 do
begin
writeln('Введите второе число:',0);
readln(a,0);
if b<=0 then writeln (foul)
end
end;
procedure rechnung;
begin
result:=nok(a,b)
end;
procedure ausgabe;
begin
writeln ('НОК чисел ',a,' и ',b,' равен: ', result)
end.
begin {n_o_k}
ClrScr;
stop:=false;
writeln(privet,0);
repeat
begin
eingabe;
rechen;
ausgabe;
writeln(question,0);
if KeyPressed='Y' or KeyPressed='y' then stop:=true
end
until stop=true;
exit
end. {n_o_k}
Может быть, нужно ещ╦ какие-нибудь модули стандартные подключить, а также провести отладку, так как возможности откомпилировать и прогнать программу у меня нет.
Желаю удачи!!!
Если что пиши: teuter@germany.ru