Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Informatika - Programozás

594
Kéne egy kis segítség. Az infóból kaptam két feladatot , hogy írjak egy programot de nem tudom, hogy hogyan kezdjek neki.

A feladatok:
Írj programot, ami bekér a felhasználótól két pozitív egész számot, majd kiírja, hogy a két szám relatív prím-e?
Készíts házi feladatot ellenőrző programot! (Az osztálylétszám alapján állítsunk elő 12 véletlen számot!) A program írja ki, hogy a névsor szerint mely sorszámú tanulóknak kell a házi feladatát ellenőrizni!

A segítséget előre is köszönöm!
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

2
Szia :)
Személy szerint nekem nem egyértelmű, hogy segítséget kérsz elindulásban, vagy teljes megoldásra vársz? :)

Kezdésnek először akkor egy kis útmutatást adnék, hogy miként állj neki.
Az első feladat esetében két számot kell bekérned a felhasználótól, amit egy-egy változóban eltárolsz. Mivel nem köti ki, hogy addig kell bekérni, ameddig fixen két pozitív számot ad meg a felhasználó, így én a további részével nem vesződnék.
Ha esetleg kiköti, hogy két pozitív egész számot kell mindenképp megadni, akkor én egy hátultesztelő ciklust csinálnék, aminek az a feltétele, hogy a két szám nagyobb nullánál, és egészek. Persze gondolom felmerül a kérdés, hogy hogyan ellenőrzöd azt, hogy egészek. Egyszerű arra is a megoldás. Hasonlítsd össze a lefele kerekített értékét az adott számnak a felfele kerekített értékével.
Így ha belegondolsz, egyértelműen kiderül, mivel az 1.1 lefele kerekítve 1, felfele 2, míg az 1 az lefele és felfele is csak 1.

Ezután következik annak a megállapítása, hogy a két szám relatív prím e. Ott én egy ilyen lnko (legnagyobb közös osztó) alapon indulnék el, hisz ha relatív prímek, akkor a legnagyobb közös osztójuk 1.
Ha ez teljesül, akkor már jó is vagy.
(kis tipp, hogy rekurzívan egész szépen megoldható az lnko számolás)

A második feladat könnyebb mint az első. Mivel nem tudom milyen nyelven kell írnod, és engedik-e, de egy egyszerű listát létrehozol. Ezután egy véletlen szám előállítására alkalmas random segítségével készítesz egy véletlen számot úgy, hogy a felső határ az osztály létszáma. Bizonyos Random típusoknál megadható a felső limit, de ha a te esetedben nem, akkor venni kell a osztálylétszám szerinti maradékát a random számnak. Erre a megfelelő operátor a modulo, azaz a %. Ezután a kapott értéket hozzáadod a listához és juhé, egy kész.
Na most ezt egy ciklus segítségével megismétled 12 alkalommal, és kész is vagy. :)
(Arra figyelj, hogy a limit és a maradék nézése esetén is 0 és a felső határ közé esik a kapott szám. Pl. 27-en vannak az osztályban, és erre csinálod meg, akkor [0;26] közötti számot kapsz, így ajánlott +1-et hozzáadni. Kivéve, ha van 0. sorszám a névsorban.)

Remélem így leírással tudtam neked segíteni. Ha esetleg elakadnál, akkor kérdezz nyugodtan. :)
Módosítva: 4 éve
0

A megoldást az alábbi linken megtalálod.
https://pastebin.com/Azr85nF6

Ha megfelel, kérlek jelöld meg megoldásként a válaszom.
0