Operációs Rendszerek Gyakorlat Triviális segédfeladatok 2009. június 4. 1. PERL Tömbök és hashek Feladat: 2009. május 26-i beugró



Hasonló dokumentumok
BASH SCRIPT SHELL JEGYZETEK

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyak.

AWK programozás, minták, vezérlési szerkezetek

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

1. Alapok. #!/bin/bash

Operációs rendszerek gyak.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

AWK programozás Bevezetés

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Programozás I. zárthelyi dolgozat

Operációs rendszerek gyakorlat

Flex tutorial. Dévai Gergely

Java II. I A Java programozási nyelv alapelemei

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Operációs rendszerek 1.

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

S z á m í t ó g é p e s a l a p i s m e r e t e k

INFORMATIKA javítókulcs 2016

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Programozás I. házi feladat

BASH script programozás II. Vezérlési szerkezetek

7. gyakorlat Sorozatok, Fájlkezelés

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Bevezetés a programozásba I.

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Országzászlók (2015. május 27., Sz14)

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Adatbáziskezelés alapjai. jegyzet

Felvételi tematika INFORMATIKA

Operációs Rendszerek II. labor. 2. alkalom

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Microsoft Excel. Táblázatkezelés. Dr. Dienes Beatrix

Bevezetés a programozásba I.

Szoftvertervezés és -fejlesztés I.

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

Digitális technika (VIMIAA02) Laboratórium 1

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

Hardver leíró nyelvek (HDL)

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Digitális technika (VIMIAA02) Laboratórium 1

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Gyors tippek linuxra

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Adatok ábrázolása, adattípusok

Aritmetikai kifejezések lengyelformára hozása

Példatár a bevezetés a Matlab programozásába tárgyhoz

Excel Hivatkozások, függvények használata

Java II. I A Java programozási nyelv alapelemei

Programzás I gyakorlat

Excel Hivatkozások, függvények használata

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Operációs rendszerek I. IIII. gyakorlat

Bevezetés a programozásba I.

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

Operációs Rendszerek Gyakorlat

Programozási nyelvek Java

A 5-ös szorzó- és bennfoglalótábla

Negatív alapú számrendszerek

Webprogramozás szakkör

Táblázatkezelés. Táblázatkezelés célja. Alapfogalmak. Táblázatkezelık szolgáltatásai. Alapfogalmak. Alapfogalmak

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

6. BASH programozás I.

Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely

AWK programozás, minták, vezérlési szerkezetek

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

INFORMATIKAI ALAPISMERETEK

Tájékoztató. Használható segédeszköz: -

Globális operátor overloading

O er e á r ci c ós ó s R en e d n sz s er e e r k e I. G akorlá l s

3. modul - Szövegszerkesztés

INFORMATIKAI ALAPISMERETEK

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozási tételek. Dr. Iványi Péter

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Tájékoztató. Használható segédeszköz: -

ECDL Táblázatkezelés A táblázatkezelés első lépései Beállítások elvégzése

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Apple Swift kurzus 3. gyakorlat

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

az Excel for Windows programban

A feladat megoldása során a Microsoft Office Excel használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni:

Lekérdezések I. Egyszerű választó lekérdezések

Alkalmazói rendszerek ACCESS ZH - javítókulcs Informatika tanár MSC, levelező tagozat, január 06.

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

1. Feladatlap. Függvények. Mőveletek Matlab nyelvben. Példa inverz osztásra >>d=2\1 d= Információkérési lehetıségek help utasítás

Átírás:

Operációs Rendszerek Gyakorlat Triviális segédfeladatok 2009. június 4. Összeállította: Méreg Balázs (mbalazs@varfok.vein.hu) Külsı forrás: 2009. május 26-i beugró 1. PERL Tömbök és hashek Feladat: 2009. május 26-i beugró Írjunk perl scriptet atnevez.pl néven amely a standard inputról beolvassa a forrásfájl és a kimeıfájl nevét, majd a forrásfájlból átmásolja a benne található névsort a kimenı fájlba oly módon, hogy az azonos vezetéknevő embereket átkereszteli számok hozzáadásával. Például az elsı Kovács vezetéknevő Kovács1 lesz, a negyedik Kovács4, stb. Csak akkor szabad átkeresztelni, ha az adott névbıl több is van! Példa a mőködésre perl atnevez.pl bemenet: lista_nagy.txt kimenet: kimenet.txt A lista_kicsi.txt tartalma Tal Anett Pannonhalma 9090 06-20-958-2732 Sipos Anett Kisvejke 7183 06-20-781-2555 Tal Bela Kenez 9752 06-82-111-289 Sipos Gergely Gulacs 4842 06-82-217-675 Sipos Geza Felsodobsza 3847 06-82-217-657 A kimenet.txt tartalma Tal1 Anett Pannonhalma 9090 06-20-958-2732 Sipos1 Anett Kisvejke 7183 06-20-781-2555 Tal2 Bela Kenez 9752 06-82-111-289 Sipos2 Gergely Gulacs 4842 06-82-217-675 Sipos3 Geza Felsodobsza 3847 06-82-217-657

2. PERL Tömbök és rendezés Feladat: variáljuk a nevek sorrendjét! Írjunk perl scriptet rendez.pl néven amely a standard inputról beolvassa a forrásfájl és a kimenı fájl nevét, majd a forrásfájlból átmásolja a benne található névsort a kimenı fájlba oly módon, hogy a név oszlopában levı elemek sorrendjét megfordítja, tehát általában az így kapott sorokban az egyes emberek nem a saját adataikat kapják meg. Példa a mőködésre: perl rendez.pl bemenet: lista_nagy.txt kimenet: kimenet.txt A lista_kicsi.txt tartalma Tal Anett Pannonhalma 9090 06-20-958-2732 Sipos Anett Kisvejke 7183 06-20-781-2555 Tal Bela Kenez 9752 06-82-111-289 Sipos Gergely Gulacs 4842 06-82-217-675 Sipos Geza Felsodobsza 3847 06-82-217-657 A kimenet.txt tartalma Szasz Geza Pannonhalma 9090 06-20-958-2732 Sipos Geza Kisvejke 7183 06-20-781-2555 Sipos Gergely Kenez 9752 06-82-111-289 Tal Bela Gulacs 4842 06-82-217-675 Sipos Anett Felsodobsza 3847 06-82-217-657 Tal Anett Felsodobsza 3847 06-70-343-8915 Módosítsuk úgy a feladatot, hogy megfordítás helyett... rendezze ıket ABC-szerint növekvı sorrendbe Sipos Anett Pannonhalma 9090 06-20-958-2732 Sipos Gergely Kisvejke 7183 06-20-781-2555 Sipos Geza Kenez 9752 06-82-111-289 Szasz Geza Gulacs 4842 06-82-217-675 Tal Anett Felsodobsza 3847 06-82-217-657 Tal Bela Felsodobsza 3847 06-70-343-8915 rendezze ıket keresztnevük szerint ABC-szerint csökkenı sorrendbe Írjuk ki fordítva a vezetéknevet és a keresztnevet (mint a külföldi neveknél) annál, akinek a telefonszáma 4-nél több páratlan számot tartalmaz

3. PERL Reguláris kifejezések Feladat: szőrjünk! Írjunk perl scriptet, amely beolvassa a lista_nagy.txt-t, majd a kimenet.txt-be beleírja azon személyek nevét, amelyek vezetékneve és keresztneve azonos betővel kezdıdik. A feladatot reguláris kifejezéssel oldjuk meg! Példa a mőködésre: perl f3.pl A kimenet.txt tartalma: Maurer Matyas Csanadpalota 6913 06-84-315-164 Domjan David Tikos 8731 06-20-911-2686 Panyi Peter Merenye 7981 06-70-185-3550 Majer Marta Hajos 6344 06-85-127-305 Kovacs Karoly Markotabodoge 9164 06-84-180-306 Kristof Kitti Tyukod 4762 06-70-289-1391 Módosítsuk úgy a scriptet, hogy csak azokat a rekordokat írja ki, ahol a vezetéknév, keresztnév és település neve is azonos betővel kezdıdik. A kimenet.txt tartalma: Sike Soma Szerecseny 9125 06-70-151-1180 Kovesdi Kornel Kajarpec 9123 06-88-223-728 4. PERL Reguláris kifejezések Feladat: csere Írjunk perl scriptet, amely a standard bemenetrıl olvas be sorokat EOF-ig (Ctrl+D). Minden sorról döntse el, szerepel-e benne a kutya és a macska szó. Abban az esetben, ha mindkettı szerepel, cserélje meg ıket. Ha csak az egyik szerepel, azt cserélje ki a másikra. a kutyak az urak, a macskak csak vinnyognak a macskak az urak, a kutyak csak vinnyognak mico egy macska es nem eszi meg a kutyakat mico egy kutya es nem eszi meg a macskakat kutyabol nem lesz szalonna macskabol nem lesz szalonna a macskak whiskast vennenek a kutyak whiskast vennenek

5. PERL Csere reguláris kifejezéssel Feladat: bönészı Írjunk egy perl scriptet bongeszo.pl néven, amely egy leegyszerősített, kezdetleges web-böngészıt valósít meg. A programnak nem kell internetre kapcsolódnia, a bemenetet egy fájlból kapja, amelynek a nevét az alapértelmezett bemenetrıl kéri be. Ha nem létezik a fájl, dobjon hibaüzenetet és lépjen ki. Ha létezik, értelmezze a fájlban levı HTML kódot és írja ki úgy, hogy az könnyedén olvasható legyen. A következı HTML tag-eket kell figyelembevenni, minden más taget töröljünk (ne jelenjen meg a kimeneten)... KOMMENT <!-- <a href = --> <!-- akarmi --> Ha a program kommentet talál, azt semmiképp ne írja ki és ne is értelmezze, magyarul törölje a kimenetrıl. Figyeljünk a többszörözı operátorok mohóságára! TITLE <title>... valami szoveg... </title> <TITLE>... valami szoveg... </TITLE> Ha a program title taget talál, azt a következı formátumba jelenítse meg (végére tegyen sortörést, hogy elkülönüljön a többi szövegtıl): @@@@@@@@@@@@@@@... valami szoveg... @@@@@@@@@@@@@@@ HIVATKOZÁS <a href=i_nappali.html>op.rendszerek gyak hataridok (nappali)</a> <a href="e_nappali.html">op.rendszerek gyak eredmenyek (nappali)</a> <A HREF='readme.html'>Leiras a rendszer hasznalatahoz</a> Ha hivatkozás tag-et talál, a következıképpen jelenítse meg: Op.rendszerek gyak hataridok (nappali) [i_nappali.html] Op.rendszerek gyak eredmenyek (nappali) [e_nappali.html] Leiras a rendszer hasznalatahoz [readme.html] Tipp: behelyettesítı blokk, globális csere, kis- és nagybetőérzékeny kikapcsolása,? regex operátor (nullaszor vagy egyszer) Minden más itt nem felsorolt taget, tehát < és > között elhelyezkedı sztringet töröljön és ne jelenítsen meg a kimeneten! A HTML entitásokat (pl. é) NEM KELL dekódolni, ilyenek nincsenek a példában.

6. Bash szkriptelés Számológép Kulcsszavak: while, read, case, aritmetikai blokk behelyettesítése Írjunk olyan számológépet szamgep.sh néven bash-ben, amely képes értelmezni a négy alapmőveletet két operandussal. A program interaktív legyen és addig olvasson be a bemenetrıl kifejezéseket, amíg be nem írjuk az exit parancsot. Bontsuk három paraméterre a bekért sort úgy, hogy az elsı az elsı számot, a második a mőveletet (meg, bol, szor vagy szer, osztva, azaz összeadás, kivonás, szorzás, osztás), a harmadik a második számot jelentse, majd számoljuk ki az eredményt és írjuk ki a képernyıre az eredeti paraméterekkel együtt, de a mőveletet itt már mőveleti jellel jelöljük (pl. 5*5 = 25). Ügyeljünk arra, hogy szorzásnál mind a szor, mind a szer kifejezés érvényes mővelet legyen! Minimális, primitív hibakezelés: Ha nem definiált mőveletet írnak be, írjuk ki, hogy Ervenytelen muvelet! Ha három paraméternél kevesebbet olvasunk be, írjuk ki, hogy Hianyzo parameter! Példa a mőködésre chmod +x szamgep.sh./szamgep.sh 6 meg 6 6+6 = 12 12 szor 25 12*25 = 300 5 szor 5 5*5 = 25 40 szer 10 40*10 = 400 9 bol 6 9-6 = 3 nem tudom mivan Ervenytelen muvelet! para meter Hianyzo parameter! 5 szor Hianyzo parameter! exit