Kezdőoldal » Számítástechnika » Programozás » Hogyan kell a következő 2...

Hogyan kell a következő 2 feladatot megoldani Free Pascalban csak tesztelős ciklussal?

Figyelt kérdés

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...


2015. júl. 22. 23:33
 1/8 anonim ***** válasza:
Azért én szeretném látni, hogy próbálkoztál. :)
2015. júl. 22. 23:43
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

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.

2015. júl. 23. 00:01
 3/8 A kérdező kommentje:
jah igen elsőre csak 5-ig próbáltam, utána módosítottam volna 10-re...
2015. júl. 23. 00:14
 4/8 SimkoL ***** válasza:

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]

2015. júl. 23. 07:41
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

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.

2015. júl. 23. 07:42
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:
Még inc()-nél nem tartok. Tudom, hogy számlálós ciklussal gyerekjáték lenne mindkettő, de a feladat azt írja, hogy ezzel kell... vagy ha netán majd később vmi vizsgán csinálom, akkor minden a legeslegegyszerűbben próbáljam megoldani? :)
2015. júl. 23. 10:05
 7/8 A kérdező kommentje:
tehát olyan könyvből tanulok, amiben csak az előzetes ismereteket kell felhasználni és még nem volt benne in()... :)
2015. júl. 23. 10:06
 8/8 SimkoL ***** válasza:

Inc(osszeg, novekmeny); == osszeg := osszeg + novekmeny;

Inc(novekmeny); == novekmeny := novekmeny + 1;

2015. júl. 23. 10:12
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!