- Fotók, videók mobillal
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S25 - végre van kicsi!
- Azonnali navigációs kérdések órája
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- A lengyeleknél már polcon volt a Motorola Edge 70
- Honor 200 Pro - mobilportré
- Mobil flották
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
[HUN]Zolee
őstag
válasz
zvaragabor #2217 üzenetére
Akkor nézd meg így.
/nincs pascalom, csak itt írom meg, ezért lehet hibás/
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,ossz,kor,i,felettidb:byte;
atlag:real;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
readln(vektor[i]);
felettidb:=0;
ossz:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then felettidb:=felettidb+1;
ossz:=ossz+(aktual-vektor[i]);
end;
atlag:=ossz/10;
write('18 ev felettiek szama: ',felettidb);
writeln('A tanulók átlag életkora: ',atlag);
end. -
cucka
addikt
válasz
zvaragabor #2217 üzenetére
a for i:=1 to 10 ciklus belsejében elindítani egy for i:=1 to 10 ciklust az helyből rossz.
A program lényegi része ennyi. Mi általános iskola nyolcadik osztályában csináltunk ennyire egyszerű feladatokat. Igen, jól látod, egyáltalán nem kell semmilyen tömbben eltárolni a sorozatban beérkező számokat ahhoz, hogy összeadd őket.
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
begin
readln(szul_evszam);
ossz:=ossz+10;
if (aktual-szul_evszam>18) then inc(felettidb);
end;
write('18 even feluliek: ',felettidb);
write('atlag: ',ossz/10;mod.
még egy javaslat: ha nem szeretnéd magad szivatni a jövőben (amikor nem 13 sor lesz a program), akkor igyekezz normális változóneveket kitalálni. Mindent nevezz el arról, amilyen adat van benne, pl. a vektort ne vektornak hívd, mert az nem mond semmit, helyette lehet a neve eletkorok, az aktualis évszámot hívhatod évszámnak, stb. -
zvaragabor
senior tag
válasz
zvaragabor #2216 üzenetére
Ezt megoldottam. Valamint a felettiek meghatározásánál volt még gond.Ügyküdtem, itt tartok:
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,ossz,kor,i,felettidb:byte;
atlag:real;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
readln(vektor[i]);
felettidb:=0;
atlag:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then felettidb:=felettidb+1;
ossz:=0;
for i:=1 to 10 do
begin
vektor[kor]:=aktual-vektor[i];
ossz:=ossz+vektor[kor];
end;
end;
atlag:=ossz/10;
write('18 ev felettiek szama: ',felettidb);
writeln('A tanulók átlag életkora: ',atlag);
end.Érdekes eredményeket kapok.
-
[HUN]Zolee
őstag
válasz
zvaragabor #2214 üzenetére
Nagyából megcsináltam, de nem biztos hogy hibátlan
. Ha teszel fel konkrét kérdést arra is választ kaphatsz. Üdv.
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,i,feletti: integer;
atlag : double;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét: ');
for i:=1 to 10 do
readln(vektor[i]);
feletti:=0;
atlag:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then (vektor[i]=feletti) feletti:=feletti+1;
atlag:=atlag+vektor[i];
end;
atlag:=atlag/10
writeln("18 ev felettiek szama:",feletti);
writeln("atlageletrko:",atlag:2:0);
end. -
[HUN]Zolee
őstag
válasz
zvaragabor #2180 üzenetére
ha a kiiratós rész if-hez egy else ágba odaírod hogy nem adott meg számokat, akkor még szép is, mert így most, ha kapsából 0 üttsz akkor kilépés nem ír ki semmit
-
RoyalFlush
őstag
válasz
zvaragabor #2177 üzenetére
0 megadását követően nem fut le többször az adott ciklus.
A fórumtárs által megírt kódba (de az enyémbe is) kezelve van, hogy nullával ne történjen osztás .. Magyarul ha már az első megadott szám a 0, nem fognak az adott programrészben található parancsok végrehajtódni. -
RoyalFlush
őstag
válasz
zvaragabor #2175 üzenetére
Meg van oldva a házi feladat is
-
[HUN]Zolee
őstag
válasz
zvaragabor #2167 üzenetére
Hát a tanár se akart túl jó progit írni, mert ha kapásból 0 ütsz be akkor szépen az átlagnál 0 val szeretne osztani, ami ugye még nem igazán megy
-
RoyalFlush
őstag
válasz
zvaragabor #2167 üzenetére
Az alsó vonalnak nincs különösebb szerepe, leginkább csak annyi hogy elválasztja a két szót, legkisebbdb helyett legkisebb_db.
-
RoyalFlush
őstag
válasz
zvaragabor #2159 üzenetére
A kód (bár lehet kissé túlbonyolítottam - vagy 6 éve nem programoztam Pascalban
- ettől függetlenül szerintem műxik):
program szamok;
uses crt;
var
szam, n, db, osszeg, legkisebb: integer;
atlag: real;
begin
clrscr;
szam := 0;
n := 0;
db := 0;
osszeg := 0;
legkisebb := 0;
repeat
write('Kerem a szamot: '); readln(szam);
osszeg := osszeg + szam;
if (n = 0) then
begin
legkisebb := szam;
db := 1;
end;
if (szam <> 0) and (n > 0) then
begin
if (szam < legkisebb) then
begin
legkisebb := szam;
db := n + 1;
end;
end;
n := n + 1;
until (szam = 0);
writeln;
writeln('Szamok osszege: ',osszeg);
writeln('Legkisebb a(z) ',legkisebb,', a(z) ',db,'. bekert szam volt.');
if (n <> 1) then
begin
atlag := osszeg / (n - 1);
writeln('Atlag: ',atlag);
end;
if (n = 1) then writeln('Atlag: Nem ertelmezheto!');
readln;
end. -
[HUN]Zolee
őstag
válasz
zvaragabor #2159 üzenetére
Az until és a db megnövelése közé.
Lehet nem pontosa a kód, mert már 1-2 éve nem láttam pascal-t
Amúgy ebbe a felállásba ahogy a txt van az átlag változód feleslegessé váltHibásan számolja az átlagot, ez így ki, mert ha 0-t ütsz akkor is megnöveli a db számot 1-el.
repeat
writeln('Kérem a számot: ');
read(n);
if n<>0 then
begin
osszeg:=osszeg+n;
db:=db+1;
if legkissebb>n then
begin
legkissebb=n ;
legkissebb_db=db;
end;
end;
until n=0;Valami ilyesmire gondoltam.
-
shev7
veterán
válasz
zvaragabor #2154 üzenetére
es atlagot sem igy szamolunk
hanem majd a vegen...
-
[HUN]Zolee
őstag
válasz
zvaragabor #2154 üzenetére
if legkissebb>n
then
begin
legkissebb=n ;
legkissebb_db=db; /ha a db változó megnövelése után írod be/
end; -
RoyalFlush
őstag
válasz
zvaragabor #2154 üzenetére
Ok, mindjárt megnézem (megírom), de én nem így csinálnám meg
-
zvaragabor
senior tag
válasz
zvaragabor #2111 üzenetére
Most veszem észre, hogy van FreePascal topik, bocsi, hogy ide írtam. Felteszem ott is a kérdést. A válaszokat/ötleteket oda (is) várom.
Köszi
Üdv.
-
Lortech
addikt
válasz
zvaragabor #2109 üzenetére
szerkesztve : Mégis van rá függvény Turbo Pascalban. Pi a neve.
Új hozzászólás Aktív témák
- MAKULÁTLAN! Dell Precision 7760 Tervező Vágó Laptop -70% 17,3" i7-11850H 32/1TB NVIDIA A3000 6GB FHD
- Kiwiears Astral
- SZÉP! Dell Precision 7760 Tervező Vágó Laptop -70% 17,3" i7-11850H 32/512GB NVIDIA A3000 6GB FHD
- Xiaomi Electric Scooter 5 Max tökéletes hibátlan eladó
- 4K Gamer PC Ryzen 9 5900X/RX 6900 XT 16Gb/32Gb DDR4/1Tb NVME M2 SSD/850W Bronz 6hó Gar
- Microsoft Surface Go 10.5" 8GB 128GB Pentium Gold 4415Y 1 év garancia
- BESZÁMÍTÁS! Asus A620M R5 7600X 64GB DDR5 1TB SSD RX 6900XT 16GB Zalman Z1 Plus Chieftec 850W
- Bomba ár! Dell Latitude E5520 - i5-2520M I 4GB I 250GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- Logitech Blue Yeti kondenzátoros asztali mikrofon
- Xiaomi Redmi Note 8T 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest