Eszköztár
295 Kezdőlap - Vizsgafeladatok - Snooker világranglista
ujdomainek.hu

Snooker világranglista

Programozás vizsgafeladat

Feladat

Valósítsa meg az alábbi feladatot a tanult programozási nyelven:


Forrásfájl:


A feladat megoldására ajánlott időkeret:

40 perc
Ahhoz, hogy Ön ellenőrizni tudja munkaidejét, használhatja az itt található stoppert. Az órát Önnek kell elindítania, az idő számolását pedig szükség esetén bármikor szüneteltetheti. Az óra 40 perc után sem fog megállni - addig számol, amíg Ön le nem állítja. Viszont az idő 3/4 részének elteltekor diszkrét figyelmeztető hangjelzést fog adni, majd pedig az időkeret lejártával csipogni fog. A hangokat az alábbi hangszóró ikonokra kattintva előzetesen ki is próbálhatja.
  •   Figyelmeztető hang 30 perc után
  •   Csipogó hang az időkeret végén
Amennyiben nem szeretne hangjelzéseket hallani, akkor ezt kikapcsolhatja a stopperen.

előző oldal random oldal következő oldal


Eddig 7 hozzászólás van a témához:

2020-07-25 20:49 Englert Ervin Python megoldás:

https://github.com/englert/snooker

2021-02-01 10:51 Tom Megoldas C#-al:

https://github.com/meszyyy/progvizsga_Snooker.git

2021-03-25 16:32 madakelet Helló Tom!
Szerintem van egy kis hiba a Te megoldásodban az 5. feladathoz. Ha nem létezik olyan kínai játékos, akinek több a nyereménye, mint az első elemé, akkor hibás a végeredmény. A 6-os feladatnál, szerintem nem kell végigmenni a lista összes elemén, ha megtalálja az elsőt, akkor kiléphet, ezért én while ciklust használnék. A 7-es feladat, pedig Dictionary< >-t használva könnyebben megoldható :)

2022-02-22 20:16 Gávrás Dávid Patrik C# megoldás:

https://github.com/Dewyd/Feladatok/tree/main/C%23/Snooker%20vil%C3%A1granglista

2022-03-15 16:49 lacithelaci01 Python:
https://github.com/lacithelaci/okj-szoftverfejleszto-rendszeruzemeltetp-feladatok/blob/main/Snooker.py

2023-07-19 12:26 KozmaRóbert
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
 
namespace snooker
{
    class Program
    {
        struct snook
        {
            public int rajtszam;
            public string nev;
            public string orszag;
            public int penz;
        }

        static void p() { Console.ReadKey(); }
        static  void print(string p) { Console.WriteLine(p); }
        static void f(int s) { Console.WriteLine(s + ". Feladat."); }
        static void Main(string[] args)
        {

            List< snook> SL = new List< snook>();
            string[] betxt = File.ReadAllLines("snooker.txt", Encoding.UTF7);

            for (int i = 1; i <  betxt.Count(); i++)
            {
                if(betxt[i].Length>0)
                {
                    string[] sorok = betxt[i].Split(';');
                    snook uj = new snook();
                    uj.rajtszam=Convert.ToInt32((sorok[0]));//helyez
                    uj.nev= (sorok[1]);//nev
                    uj.orszag=(sorok[2]);//orszag
                    uj.penz=Convert.ToInt32(sorok[3]);//díj

                    SL.Add(uj);
                }
            }
            f(1);
            f(2);
            print("Adatok beolvasva és tárolva.");
            f(3);
            print(SL.Count () + " versenyző adatát tartalmazza az állomány.");
            f(4);
            int össz = 0;
            int ln = 0;
            bool norveg = false;
            int[] db = new int[5];
            for (int F = 0; F <  SL.Count; F++)
            {

                össz = SL[F].penz + össz;

                if ((SL[F].orszag == "Kína") && (SL[F].penz > SL[ln].penz)) { ln = F; }
            
                if(SL[F].orszag == "Norvégia") { norveg = true; }

                if (SL[F].orszag == "Skócia") { db[4]++; }
                if (SL[F].orszag == "Wales") { db[3]++; }
                if (SL[F].orszag == "Anglia") { db[2]++; }
                if (SL[F].orszag == "Kína") { db[1]++; }
            }
            Console.WriteLine("Az átlag díjérték :"+Convert.ToDouble(össz/SL.Count()));
            f(5);
            Console.WriteLine("A legjobban kereső  Kínai versenyző: ");
            Console.WriteLine("	Helyzés: "+SL[ln].rajtszam);
            Console.WriteLine("	Név: "+SL[ln].nev);
            Console.WriteLine("	Orszag: "+ SL[ln].orszag);
            Console.WriteLine("	Nyeremény összeg forintban: "+SL[ln].penz * 380);
            f(6);
            if (norveg == true){ print("Van Norvég versenyző."); }
            f(7);
            Console.WriteLine("Statisztika: ");
            Console.WriteLine("	Kína - " + db[1] + " fő.");
            Console.WriteLine("	Anglia - " + db[2] + " fő.");
            Console.WriteLine("	Wales - " + db[3] + " fő.");
            Console.WriteLine("	Skócia - " + db[4] + " fő.");
            p();
        }
    }
}


2023-07-19 13:52 KozmaRóbert
#Python
import math
adatok = open("snooker.txt", "r", encoding = 'utf-8')
elemek=adatok.readlines()
adatok.close()
hely=[]
nev=[]
orszag=[]
penz=[]
def f (x):
    print(x,". feladat.")
for i in range(1,len(elemek)):
              oszlop=elemek[i].split(';')
              hely.append(oszlop[0])
              nev.append(oszlop[1])
              orszag.append(oszlop[2])
              penz.append(oszlop[3])
f(1)
f(2)
print("Adatok beolvasva.")
f(3)
print("A listan ",len(nev)," versenyző szerepel.");
össz=0
lt=0
norveg="nincs"
A,K,S,W=0,0,0,0
for i in range(len(hely)):
    össz=int(penz[i])+össz
    if ((orszag[i]=="Kína") and int(penz[i])>int(penz[lt])):
         lt=i
    if (orszag[i]=="Norvégia"):
        norveg="van"
    if (orszag[i]=="Kína"):
        K=K+1
    if (orszag[i]=="Anglia"):
        A=A+1
    if (orszag[i]=="Wales"):
        W=W+1
    if (orszag[i]=="Skócia"):
        S=S+1
f(4)
print("Az díj értékek átlaga fontban: ", round((össz/len(penz))*100)*0.01)
f(5)
print("A legjobb Kínai versenyző adatai: ")
print("	Helyezés: ",hely[lt])
print("	Név: ",nev[lt])
print("	Ország: ",orszag[lt])
print("	Díj forintban: ",int(penz[lt])*380)        
f(6)
print("A versenyzők között ",norveg," Norvég.")
f(7)
print("Statisztika:")
print("	Kína   - ",K)
print("	Anglia - ",A)          
print("	Wales  - ",W)   
print("	Skócia - ",S)     





Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenhat + három?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2020. február