Hogyan kell a következő 2 feladatot megoldani Free Pascalban csak tesztelős ciklussal?
1. Adja össze a számokat 1-től 100-ig tesztelős ciklus segítségével!
2. Szorozza össze az egész számokat 1-től 10-ig tesztelős ciklus segítségével!
Előre is köszönöm a válaszokat, én többször is próbálgattam, de helyes és a feladatnak megfelelő program sajnos nem lett belőle...
Erre jutottam, de eléggé beégetem magam gondolom ezzel... De hát kezdő vagyok, senki sem született profinak... :)
Uses Crt;
Var a,b:integer;
Begin
ClrScr;
a:=1;
Repeat
a:=a+1;
b:=a*(a+1);
Until a=4;
Writeln(b);
Readln;
End.
program project1;
uses Crt;
var novekmeny, osszeg: integer;
begin
ClrScr;
novekmeny := 1;
osszeg := 1;
repeat
osszeg := osszeg * novekmeny;
Inc(novekmeny);
until novekmeny > 10;
Writeln('Számok szorzata 10-ig - repeat - until - : ', osszeg);
novekmeny := 1;
osszeg := 1;
while novekmeny < 11 do
begin
osszeg := osszeg * novekmeny;
Inc(novekmeny);
end;
Writeln('Számok szorzata 10-ig - while - : ', osszeg);
novekmeny := 1;
osszeg := 0;
repeat
osszeg := osszeg + novekmeny;
Inc(novekmeny);
until novekmeny > 100;
Writeln('Számok összege 100-ig - repeat - until - : ', osszeg);
novekmeny := 1;
osszeg := 0;
while novekmeny < 101 do
begin
osszeg := osszeg + novekmeny;
Inc(novekmeny);
end;
Writeln('Számok összege 100-ig - while - : ', osszeg);
novekmeny := 1;
osszeg := 0;
while novekmeny < 101 do
begin
Inc(osszeg, novekmeny);
Inc(novekmeny);
end;
Writeln('Számok összege 100-ig - while és Inc - : ', osszeg);
Readln;
end.
... és hozzá: [link]
Megírtam Neked.
Biztos, hogy hátul tesztelős ciklusra gondolt a feladat?
A hátul tesztelős ciklusban 101 értékig kell menni.
Az "a := a +1" helyett az inc(a); hatékonyabb, bár ennél a feladatnál nincs jelentősége.
Az összeszorzás pedig nem tudom miként értendő...
1*2*3*4*5*6*7*8*9*10
Esetleg más módon, ahogy én megoldottam? ...
Egyáltalán nem biztos, hogy tökéletes.
Uses Crt;
Var
a, b, c : integer;
Begin
ClrScr;
a := 1;
b := 0;
Repeat
b := b + a;
a := a + 1;
Until (a = 101);
WriteLn('Összeadás eredménye : ',b);
a := 1;
c := 0;
repeat
b := a +1;
c := c+ a*b;
inc(a);
until(a = 11);
WriteLn('Szorzás eredménye : ',c);
ReadLn;
End.
Inc(osszeg, novekmeny); == osszeg := osszeg + novekmeny;
Inc(novekmeny); == novekmeny := novekmeny + 1;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!