Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Név;EHA;Nem;Programozás alapjai;SzámÃtógépes architektúrák;Kalkulus;Diszkrét matematika I.;SzámÃtógépes hálózatok;Programozás 1
- Balázs Eszter;BAEVAAT.SZE;lány;5;1;2;5;4;5
- Horváth Éva;HOEUAAT.SZE;lány;2;2;3;4;4;4
- Kiss János;KIJWAAT.SZE;fiú;1;1;1;2;2;3
- Kovács Bernadett;KOBVAAT.SZE;lány;5;1;3;5;5;5
- Kovács István;KOIWAAT.SZE;fiú;4;3;5;5;3;4
- Kovács Péter;KOPUAAT.SZE;fiú;4;4;4;4;2;3
- Lipták Atilla;LIAUAAT.SZE;fiú;3;1;5;2;4;4
- Mek Elek;MEEVAAT.SZE;fiú;3;2;2;3;3;4
- Mészáros Ildikó;MEIVAAT.SZE;lány;4;2;1;4;4;5
- Nagy Andrea;NAAWAAT.SZE;lány;5;1;4;4;4;5
- Novák Zsuzsanna;NOZUAAT.SZE;lány;1;1;2;4;3;4
- Seres Ilona;SEIWAAT.SZE;lány;5;1;1;4;4;5
- Szabó Gabriella;SZGVAAT.SZE;lány;3;2;5;4;3;4
- Tóth János;TOJWAAT.SZE;fiú;1;1;2;4;3;4
- ////////////////////////////////////////////////////////////////////////////////////////////////
- #! /usr/bin/awk -f
- # Kiírja mindenk hallgató nevét és átlagát.
- BEGIN {
- FS=";"
- }
- NR >= 2 {
- sum=0
- for (i=4; i<=9; i++) {
- sum+=$i
- }
- print $1, sum/6
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- #! /usr/bin/awk -f
- # Nemenként kiírja az átlagot.
- BEGIN {
- FS=";"
- }
- NR >= 2 {
- for (i=4; i<=9; i++) {
- sum[$3]+=$i
- count[$3]++
- }
- }
- END {
- print "Lányok átlaga:", sum["lány"]/count["lány"]
- print "Fiúk átlaga:", sum["fiú"]/count["fiú"]
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- #! /usr/bin/awk -f
- # Kiírja az összes hallgatóra számolt átlagot.
- BEGIN {
- FS=";"
- }
- NR >= 2 {
- for (i=4; i<=9; i++) {
- sum+=$i
- count++
- }
- }
- END {
- print "Átlag:", sum/count
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- #! /usr/bin/awk -f
- # Minden második sor kiíratása.
- NR % 2 == 0 {print $0}
- //////////////////////////////////////////////////////////////////////////////////////////////////
- GD09-W3C;50;51
- RH11-DH5;90;88
- AN77-4FG;110;142
- ABC-911;50;62
- ASD-123;130;126
- KN12-WER;50;54
- 123-4RF-ERF;50;47
- GD98-ASD;90;102
- GD14-LKZ;90;95
- RH88-DH4;130;115
- GD09-W3C;50;61
- 123-4RF-ERF;110;115
- GD14-LKZ;90;87
- GD09-W3C;50;57
- AN77-4FG;50;52
- ABC-911;90;99
- ASD-123;90;123
- GD09-W3C;50;57
- ABC-911;130;132
- RH11-DH5;50;49
- GD09-W3C;110;111
- ASD-123;90;100
- #! /usr/bin/awk -f
- Név;EHA;Nem;Programozás alapjai;SzámÃtógépes architektúrák;Kalkulus;Diszkrét matematika I.;SzámÃtógépes hálózatok;Programozás 1
- Balázs Eszter;BAEVAAT.SZE;lány;5;1;2;5;4;5
- Horváth Éva;HOEUAAT.SZE;lány;2;2;3;4;4;4
- Kiss János;KIJWAAT.SZE;fiú;1;1;1;2;2;3
- Kovács Bernadett;KOBVAAT.SZE;lány;5;1;3;5;5;5
- Kovács István;KOIWAAT.SZE;fiú;4;3;5;5;3;4
- Kovács Péter;KOPUAAT.SZE;fiú;4;4;4;4;2;3
- Lipták Atilla;LIAUAAT.SZE;fiú;3;1;5;2;4;4
- Mek Elek;MEEVAAT.SZE;fiú;3;2;2;3;3;4
- Mészáros Ildikó;MEIVAAT.SZE;lány;4;2;1;4;4;5
- Nagy Andrea;NAAWAAT.SZE;lány;5;1;4;4;4;5
- Novák Zsuzsanna;NOZUAAT.SZE;lány;1;1;2;4;3;4
- Seres Ilona;SEIWAAT.SZE;lány;5;1;1;4;4;5
- Szabó Gabriella;SZGVAAT.SZE;lány;3;2;5;4;3;4
- Tóth János;TOJWAAT.SZE;fiú;1;1;2;4;3;4
- # Fiktíviában a rendszámok az alábbi formátumra épülnek:
- # - 2 db nagybetű, ami a tartományt jelző,
- # - 2 db szám, ami a készítés évszámának utolsó két karaktere,
- # - ezeket követi egy kötőjel,
- # - 3 jegyű véletlen sorozat, amely tartalmazhat számokat és nagybetűket is.
- # Példa: GD09-W3C, mely egy 2009-es gondori autót azonosít.
- # A traffipax.csv fájl <rendszám>;<határ>;<mért érték> formában tartalmaz traffipax méréseket.
- # Büntetést abban az esetben küldenek ki, ha a megadott sebességhatárt legalább 10%-al túllépte az adott autó, kik kapnak büntetést, és hányat?
- # Melyik autóval szabálytalankodtak a legtöbbször?
- BEGIN {
- FS=";"
- }
- $2 * 1.1 < $3{
- fine[$1]++
- }
- END {
- for (ind in fine) {
- print ind, ":", fine[ind]
- if (fine[ind] > max_fine) {
- max_fine = fine[ind]
- max_fine_ind = ind
- }
- }
- print "A legtöbb büntetést a", max_fine_ind, "rendszámú autó kapta,", max_fine, "büntetést"
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- #! /usr/bin/awk -f
- # Bemenetként használja az osztalyzatok.csv fájl.
- # A program kiírja a hallgatók évfolyamonkénti átlagát.
- BEGIN {
- FS=";"
- }
- NR >= 2 {
- # Az évfolyamot jelző betű kivágása az EHA kódból
- year = substr($2, 4, 1)
- for (i=4; i<=9; i++) {
- sum[year] += $i
- count[year]++
- }
- }
- END {
- for (ind in sum) {
- avg = sum[ind]/count[ind]
- year = ind
- if (ind == "W") {
- year = 1
- } else if (ind == "V") {
- year = 2
- } else if (ind == "U") {
- year = 3
- }
- print year, "evfolyam atlaga", avg
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- GD09-W3C;50;51
- RH11-DH5;90;88
- AN77-4FG;110;142
- ABC-911;50;62
- ASD-123;130;126
- KN12-WER;50;54
- 123-4RF-ERF;50;47
- GD98-ASD;90;102
- GD14-LKZ;90;95
- RH88-DH4;130;115
- GD09-W3C;50;61
- 123-4RF-ERF;110;115
- GD14-LKZ;90;87
- GD09-W3C;50;57
- AN77-4FG;50;52
- ABC-911;90;99
- ASD-123;90;123
- GD09-W3C;50;57
- ABC-911;130;132
- RH11-DH5;50;49
- GD09-W3C;110;111
- ASD-123;90;100
- #! /usr/bin/awk -f
- # Fiktíviában a rendszámok az alábbi formátumra épülnek:
- # - 2 db nagybetű, ami a tartományt jelző,
- # - 2 db szám, ami a készítés évszámának utolsó két karaktere,
- # - ezeket követi egy kötőjel,
- # - 3 jegyű véletlen sorozat, amely tartalmazhat számokat és nagybetűket is.
- # Példa: GD09-W3C, mely egy 2009-es gondori autót azonosít.
- # A traffipax.csv fájl <rendszám>;<határ>;<mért érték> formában tartalmaz traffipax méréseket.
- # Határozza meg hányszor mértek külföldi autót (a rendszám formailag nem felel meg az ország rendszám szabályainak)?
- ## Az Ubuntu alatt alapértelmezettként fent lévő mawk eltérően kezeli a reguláris kifejezéseket, gyakorláshoz ajánlott a gawk telepítése.
- ## Ez a "sudo apt-get install gawk" paranccsal tehető meg, ezekután az egyetemen is használt gawk lesz az alapértelmezett.
- BEGIN {
- FS=";"
- }
- $1 !~ /^[A-Z]{2}[0-9]{2}-[0-9A-Z]{3}$/ {
- foreign_num++
- }
- END {
- print foreign_num, "alkalommal mértek külföldi autót"
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
- Balázs Eszter;1988;PC-bolt;20000;Vegyesbolt;2300;Tecsó;5200;PC-bolt;300;Tecsó;2200
- Horváth Éva;1965;Vegyesbolt;2300;Vegyesbolt;2700;Vegyesbolt;1700
- Kiss János;1994;PC-bolt;23000;Tecsó;2900;Tecsó;1300;Tecsó;1100
- Kovács Bernadett;1997;PC-bolt;1700;PC-bolt;12000
- Kovács István;1977;Vegyesbolt;6000;Vegyesbolt;1200;Vegyesbolt;1500
- Kovács Péter;1992;PC-bolt;10000;PC-bolt;10000
- Lipták Atilla;1976;Vegyesbolt;1200;Tecsó;7200;Vegyesbolt;1500
- #! /usr/bin/awk -f
- # A vasarlas.csv személyek bankkártyás vásárlásait tartalmazza.
- # Az első oszlopban az egyes személyek nevei találhatók, a másodikban a születési évük, a további oszlopokban pedig vásárlások találhatók. Egy vásárlás leírásához két oszlopra van szükség, az elsőben a bolt van megadva, ahol vásároltak, a másodikban pedig az összeg, amennyit vásároltak.
- # Minden személynek tetszőleges mennyiségű vásárlása lehet.
- # Ki milyen összegben vásárolt?
- BEGIN {
- FS=";"
- }
- {
- sum=0
- for (i=3; i<=NF; i+=2) {
- sum+=$(i+1)
- }
- print $1, sum
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement