Számítógépes Hálózatok. 1. gyakorlat

Hasonló dokumentumok
Számítógépes Hálózatok. 1. Gyakorlat

Számítógépes Hálózatok GY 1.hét

Imperatív programozás

Bevezetés a Python programozási nyelvbe

A Python programozási nyelv

PYTHON. Avagy hosszú az út a BioPythonig

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Imperatív programozás

Python tanfolyam Python bevezető I. rész

A Python programozási nyelv

Szkriptnyelvek. 1. UNIX shell

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

Smalltalk 2. Készítette: Szabó Éva

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

2018, Diszkrét matematika

2016, Diszkrét matematika

Hálózatok építése és üzemeltetése

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Gyakorló feladatok Gyakorló feladatok

Imperatív programozás

Programozási nyelvek Python

Java és web programozás

Python I. Vincze Dávid Miskolci Egyetem, IIT

Számítógépes Hálózatok. 8. gyakorlat

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

2018, Diszkrét matematika

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

Ismerkedés a Python programnyelvvel. és annak micropython változatával

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

Számítógépes Hálózatok

ANGOL NYELVI SZINTFELMÉRŐ 2014 A CSOPORT

Python bevezető foglalkozás Python bevezető foglalkozás

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

2018, Diszkrét matematika

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

Vezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok

2018, Diszkre t matematika. 8. elo ada s

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.

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

Bevezetés a Python programozási nyelvbe

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Számítógépes Hálózatok GY 8.hét

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

2018, Diszkrét matematika

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

2018, Diszkre t matematika. 10. elo ada s

1. Alapok. #!/bin/bash

Komputeralgebra Rendszerek

Szoftvertervezés és -fejlesztés I.

Gyakorló feladatok az 1. nagy zárthelyire

7. gyakorlat Sorozatok, Fájlkezelés

2016, Diszkrét matematika

2019, Diszkrét matematika. 1. el adás

2015, Diszkrét matematika

Változók és adattípusok Változók és adattípusok

Számítógépes Hálózatok GY 9.hét

2018, Diszkrét matematika

Matematikai alapok. Dr. Iványi Péter

Apple Swift kurzus 3. gyakorlat

Függvények Függvények

2016, Diszkrét matematika

A félév során előkerülő témakörök

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

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

ANGOL NYELVI SZINTFELMÉRŐ 2008 A CSOPORT

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ

2015, Diszkrét matematika

Objektum Orientált Programozás VII.

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

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

Mi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programok értelmezése

AWK programozás Bevezetés

Számítógépes Hálózatok GY 4.hét

Szoftvertechnológia alapjai Java előadások

Programozás II. 2. Dr. Iványi Péter


BASH SCRIPT SHELL JEGYZETEK

Listák, szótárak, fájlok Listák, szótárak, fájlok

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Előnyei. Helyi hálózatok tervezése és üzemeltetése 2

1. Alapok. Programozás II

Delphi programozás I.

Felhasználó által definiált adattípus

Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere

1. feladat: Hallgasd meg az angol szöveget, legalább egyszer.

Tájékoztató. Használható segédeszköz: számológép

PyS60....avagy Python a mobilon

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

Kifejezések. Kozsik Tamás. December 11, 2016

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

A JavaScript főbb tulajdonságai

Számítógépes Hálózatok GY 2.hét

INFORMATIKA javítókulcs 2016

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Webprogramozás szakkör

Térinformatikai programozás Pythonban

Átírás:

Számítógépes Hálózatok 1. gyakorlat

Elérhetőségek Gyak.vez: Gombos Gergő honlap: http://ggombos.web.elte.hu email: ggombos@inf.elte.hu szoba: D. 2-503 Számítógépes Hálózatok Gyakorlat 1 2

Követelmények Maximum 4 hiányzás Minden óra elején pár kérdéses teszt canvas.elte.hu Jegy összetétele: 40% SocketZH félév végén 25% Teszt óra elején (canvas) 10 kérdés az előző heti EA-ból 35% Órai feladatmegoldás / házi feladat Számítógépes Hálózatok Gyakorlat 1 3

Órai / Házi feladatok Órai feladatok: Gyakorlat idejében megoldani, bemutatni = 1 pont Következő órára befejezni = 0,5 pont Ezután = 0 pont Házi feladatok: Bemutatás következő órára = 1 pont 1 hét késés = 0,5 pont Ezután = 0 pont Számítógépes Hálózatok Gyakorlat 1 4

Óra elei teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 1 5

Ponthatárok Jegy= (szerzettteszt / maxteszt) *0,25 + (megoldotthf / maxhf) * 0,35 + (szerzettzh / maxzh ) * 0,4 Százalék Érdemjegy 0-49 % Elégtelen (1) 50-59 % Elégséges (2) 60-74 % Közepes (3) 75-84 % Jó (4) 85 100 % Jeles (5) Számítógépes Hálózatok Gyakorlat 1 6

Tematika 1. Bevezető, követelmények, Python alapok 2. Python alapok II. + hálózati karakterisztikák + Alapvető eszközök: traceroute, ping 3. Socket alapok I. 4. Socket alapok II. 5. Forgalom elemzés protocol reverese engineering 6. Routing 7. Erőforrás megosztás 8. Python Scapy 9. WiFi router placement 10. MiniNet bevezető 11. Iptables, NAT, Tunnel, portforwarding, fragmentació 12. Megbízható átvitelt lehetővé tevő saját protokoll fejlesztése UDP felett Számítógépes Hálózatok Gyakorlat 1 7

Python történelem Guido Van Rossum, 1989 karácsonya Van Rossum írta 96-ban: Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus). Számítógépes Hálózatok Gyakorlat 1 8

Python tulajdonságok Könnyű tanulásra lett tervezve Tiszta, egyszerű szintaxis, kevés kulcsszó Hordozható Majdnem minden elfut Szóközöket használ program blokkok elkülönítéséhez Egy jó programozó amúgy is használná, akkor a nyelv miért ne? A változókat nem szükséges deklarálni Ettől még nem típus-független nyelv! Számítógépes Hálózatok Gyakorlat 1 9

Python parancssor #python python> import this python> echo Hello world! python> user_name= Jozsi python> print Hello + user_name python> user_age=25 python> print You are + str(user_age) + years old. Számítógépes Hálózatok Gyakorlat 1 10

Egyszerű számítások Python>10+2 12 Python>2*2 4 Python>3**2 9 Python>10%2 0 Számítógépes Hálózatok Gyakorlat 1 11

Változók Python> a = 42 Python> b = 32 Python> c = a + b Python> print(c) 74 Python> c = valami Python> print(a+c) ERROR Számítógépes Hálózatok Gyakorlat 1 12

String műveletek Python>print 'alma'.upper() ALMA Python>print( "LO" in "Hello".upper() ) True Python>print "Decimal Number: %d, Float: %f, String: %s" % (12,33.4,"almafa") Decimal Number: 12, Float: 33.400000, String: almafa Számítógépes Hálózatok Gyakorlat 1 13

Listák Python> players = [12,31,27,'48',54] Python> print players [12, 31, 27, '48', 54] Python> players[0] 12 Python> players[-1] 54 Python> players + [22, 67] [12, 31, 27, '48', 54, 22, 67] Python> print len(players) 5 Számítógépes Hálózatok Gyakorlat 1 14

Listák Python> players = [12,31,27,'48',54] Python> players.append(89) Python> print len(players) 6 Python> players[2:] [27, 48, 54, 89] Számítógépes Hálózatok Gyakorlat 1 15

Halmazok Python> mylist = [8,3,2,3,2,4,6,8,2] Python> myset = set(mylist) Python> print mylist [8, 3, 2, 3, 2, 4, 6, 8, 2] Python> print myset set([8, 2, 3, 4, 6]) Python> mysortedlist = sorted(mylist) Python> print mysortedlist [2, 2, 2, 3, 3, 4, 6, 8, 8] Számítógépes Hálózatok Gyakorlat 1 16

Szótár Python> team = { 91: "Ayers, Robert", 13: "Beckham Jr,", 3: "Brown, Josh", 54: "Casillas, Jonathan", 21: "Collins, Landon } Python> len(team) 5 Python> team[3] = "Chihiro Python> print team.has_key(91) True Python> print team.has_key('alma') False Számítógépes Hálózatok Gyakorlat 1 17

Szótár Python> team = { 91: "Ayers, Robert", 13: "Beckham Jr,", 3: "Brown, Josh", 54: "Casillas, Jonathan", 21: "Collins, Landon } Python> print team.keys() [91,13,3,54,21] Python> print team.values() Számítógépes Hálózatok Gyakorlat 1 18

Elágazások if 100 in team: print 'Yes, 100 is in the team' elif 76 in team: print '100 is not in the team, but 76 is in it...' else: print 'Both 100 and 76 are not in the team' Számítógépes Hálózatok Gyakorlat 1 19

Ciklus mylist = [3,65,2,77,9,33] for i in mylist: print 'Element:', I Írassuk ki a számokat növekvő sorrendben kettesével! for i in xrange(2,10,2): #2-től 9-ig 2-esével print i Számítógépes Hálózatok Gyakorlat 1 20

Ciklus for i in range(5): print Number + str(i) # vs. xrange for (k,v) in team.iteritems(): print "Player name: %s; #: %d" % (v,k) Player name: Brown, Josh; #: 3 Player name: Nassib, Ryan; #: 12 i=1 while i<10: print i i+=1 Számítógépes Hálózatok Gyakorlat 1 21

File műveletek f = open("demofile.txt", "r") print(f.read()) print(f.readline()) for x in f: print(x) f = open("demofile.txt", "w") # w-write, a-append f.write( Bla Bla") Számítógépes Hálózatok Gyakorlat 1 22

Python script futtatása #vi test.py #!/usr/env/python x = 1 for i in range(1,5): x+=i print x,i,'alma', 'x*x = %d' % (x*x) print(str(i) + " alma") #python test.py Számítógépes Hálózatok Gyakorlat 1 23

Függvények #!/usr/bin/env python def is_even(num): if (i % 2) == 0: return True else: return False for i in range(1,10): if (is_even(i)): print("szam:"+str(i)) print("vege") Számítógépes Hálózatok Gyakorlat 1 24

Feladat 1. Írjunk függvényt ami megadja egy bemenetben kapott évszámról, hogy szökőév-e. Egy év szökőév ha osztható néggyel, de akkor nem ha osztható százzal, hacsak nem osztható négyszázzal. Példák: 1992,1996,2000,2400 szökőév, de 1993, 1900 nem. Számítógépes Hálózatok Gyakorlat 1 25

Feladat 2. írj scriptet, ami kiszámolja, hogy hány pont szükséges a zh-n, a jegyekhez. A bement egy file legyen, amely tartalmazza a maximális test pontot, az általad elért pontot, a maximális órai/házi pontot, és az általad elért pontot. A kimenet pedig az egyes érdemjegyekhez szükséges minimális pont. #input.txt 100,65 #maxtest, akttest 20,10 #maxhf, akthf 20 #maxzh #zhszamolo.py Eddigi: 0.3375 2 : 9.0 3 : 14.0 4 : Remenytelen 5 : Remenytelen Számítógépes Hálózatok Gyakorlat 1 26

Feladat 3. Írjunk függvényt ami megadja az n. fibonacci számot fibonacci(0) -> 0 fibonacci(1) -> 1 fibonacci(2) -> 1 fibonacci(3) -> 2 fibonacci(n) -> fibonacci(n-2) + fibonacci(n-1) Számítógépes Hálózatok Gyakorlat 1 27

VÉGE Számítógépes Hálózatok Gyakorlat 1 29