По Object Pascal хэлпните пожалуйста

собственно сабж
есть 2 задачки на object pascal (среда разработки - delphi 7)
реализовано с использованием подпрограмм
а их быть не должно. поэтому и надо их переделать
:-)
помогите пожалуйста :-)

Задача 1:
Найти все простые несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают n (дробь задается двумя натуральными числами - числителем и знаменателем).

program z32;

{$APPTYPE CONSOLE}

uses
SysUtils;

function r1 (n,m:integer):integer;
var p:integer;
begin
p:=n mod m;
while (p <> 0) do
begin
n:=m;
m:=p;
p:=n mod m;
end;
r1:=m;
end;

var
n:integer;
w1,w2:integer;
begin
writeln('Vvedite N:');
read(n);
for w2:=2 to n do
begin
writeln;
for w1:=1 to w2 - 1 do
begin
if r1(w2, w1) = 1 then
begin
write(w1, ' / ', w2, ' ');
end;
end;
end;
readln;
readln;
end.


Задача 2:
Пусть значение некоторой функции f(n) равно количеству букв в записи числа n русскими словами:
f(1)=4 (один), f(3)=3 (три), f(42)=8 (сорок два) и т.п.
Напечатать все натуральные числа n, меньшие 100, для которых f(n)=n

program z37;

{$APPTYPE CONSOLE}

uses
SysUtils;

function n(i: Integer): String;
var
s, si: String;
begin

i:= abs(i);
si:= inttostr(i);

if (length (si) > 1) and (si[1] = '1') then
begin
case strtoint(si) of
10: s:=s + 'десять';
11: s:=s + 'одиннадцать';
12: s:=s + 'двенадцать';
13: s:=s + 'тринадцать';
14: s:=s + 'четырнадцать';
15: s:=s + 'пятнадцать';
16: s:=s + 'шестнадцать';
17: s:=s + 'семнадцать';
18: s:=s + 'восемнадцать';
19: s:=s + 'девятнадцать';
end;
Result:= s;
exit;
end;

if (length (si) > 1) then
case si[1] of
'2': s:=s + 'двадцать';
'3': s:=s + 'тридцать';
'4': s:=s + 'сорок';
'5': s:=s + 'пятьдесят';
'6': s:=s + 'шестьдесят';
'7': s:=s + 'семьдесят';
'8': s:=s + 'восемьдесят';
'9': s:=s + 'девяносто';
end;
if (length(si) > 1) and (si[length(si)]<>'0') then s:= s+ ' ';
case si[length(si)] of
'1': s:=s + 'один';
'2': s:=s + 'два';
'3': s:=s + 'три';
'4': s:=s + 'четыре';
'5': s:=s + 'пять';
'6': s:=s + 'шесть';
'7': s:=s + 'семь';
'8': s:=s + 'восемь';
'9': s:=s + 'девять';
'0': if length(si) = 1 then s:=s + 'ноль'
else s:=s + '';
end;

Result:=s;

end;

var a: Integer;
S:String;
begin

for a:=1 to 99 do
begin
S:= n(a);
if length(S) = a then Writeln (a);
end;

readln;

end.
0 / 4
кошмар, скока многа букав.........................
1 / 0
От пользователя Пiнгвiнятко
реализовано с использованием подпрограмм
а их быть не должно. поэтому и надо их переделать

заведи класс и используй методы класса, что уж проще ;-)
0
От пользователя Пiнгвiнятко
(среда разработки - delphi 7)


От пользователя Пiнгвiнятко
readln;


это не делфи 7 :-)
0
От пользователя Тузя
это не делфи 7

точно, это 3-й турбо паскаль. помню зеленое свечение мониторов Роботронов 1715. ;-)
0
Народу мало и музыка не очень
страшные люди ))
1 / 0
Пiнгвiнятко
От пользователя Тузя
это не делфи 7

я указал всего лишь где сам пишу...


От пользователя афтаклубчег
заведи класс и используй методы класса, что уж проще

нельзя использовать((((
не проходили еще
0
ну так че
убери функцию
и каждый раз вместо вызова функции тупо пропиши саму функцию :-)
0
Тема автоматически закрыта.
0
Обсуждение этой темы закрыто модератором форума.