Вот одно решение для первой задачи, в котором каждый пункт в новом цикле
Code
program gektar;
uses crt;
var a,b,c,d:real;
i:integer;
begin
clrscr;
a:=100;
b:=20;
for i:=2 to 8 do
begin
c:=(b/100*2)+b;
b:=c;
writeln ('Urogainost za ',i,' god sostavlyaet ',c:3:2);
end;
b:=20;
d:=20;
for i:=1 to 5 do
begin
c:=(b/100*2)+b;
d:=d+c;
b:=c;
end;
writeln ('');
writeln ('Obshaya urogainost za 6 let ',d:3:4);
writeln ('');
for i:=4 to 7 do
begin
c:=(a/100*5)+a;
a:=c;
writeln ('Ploshad ychastka v ',i,' sostavlyaet ',c:4:2);
end;
readkey;
end.
Добавлено (03.12.10, 16:22)
---------------------------------------------
А вот решение для второй программы, при помощи case, как и просили
Code
program god;
uses crt;
var a,b,c,x:integer;
begin
clrscr;
writeln ('Vvedite den');
readln (a);
writeln ('vvedite mesyac');
readln (b);
writeln ('Vvedite god');
readln (c);
case b of
1 : x:=0;
2 : x:=31;
3 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=60 else x:=59;
4 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=91 else x:=90;
5 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=121 else x:=120;
6 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=152 else x:=151;
7 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=182 else x:=181;
8 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=213 else x:=212;
9 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=244 else x:=243;
10 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=274 else x:=273;
11 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=305 else x:=304;
12 : if (c mod 400=0) or ((c mod 100<>0) and (c mod 4=0)) then x:=335 else x:=334;
end;
c:=x+a;
writeln (' ');
writeln (c,' po schetu den v gody');
readkey;
end.