Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # Rostás Balázs - Emelt informatika érettségi 2008 október - Robot
- def egyszerusitheto(szoveg):
- karakterek = szoveg[:2]
- if karakterek == "ED" or karakterek == "DE" or karakterek == "KN" or karakterek == "NK":
- return True
- if len(szoveg) <= 2:
- return False
- else:
- return egyszerusitheto(szoveg[2:])
- # 1. feladat:
- fajlBe = open("program.txt", "r")
- programSzam = int(fajlBe.readline())
- programok = [ program.strip() for program in fajlBe ]
- programok = [ list(program) for program in programok]
- fajlBe.close()
- print("1. feladat - program.txt beolvasása - KÉSZ!")
- # 2. feladat:
- # a.)
- utSzam = int(input("\n2. feladat - Kérem az utasítássor sorszámát: "))
- egyszProgram = ""
- for char in programok[utSzam-1]:
- egyszProgram += char
- if egyszerusitheto(egyszProgram):
- print("egyszerűsíthető")
- else:
- print("nem egyszerűsíthető")
- # b.)
- y = 0
- x = 0
- for utasitas in programok[utSzam-1]:
- if utasitas == "E":
- y += 1
- elif utasitas == "D":
- y -= 1
- elif utasitas == "N":
- x -= 1
- else:
- x += 1
- print(abs(y),"lépést kell tenni az ED,", abs(x), "lépést a KN tengely mentén.")
- # c.)
- y = 0
- x = 0
- tavok = []
- for utasitas in programok[utSzam-1]:
- if utasitas == "E":
- y += 1
- elif utasitas == "D":
- y -= 1
- elif utasitas == "N":
- x -= 1
- else:
- x += 1
- tav = (abs(y)**2 + abs(x)**2)**0.5
- tavok.append(tav)
- tav = max(tavok)
- sorszam = tavok.index(tav) + 1
- print(sorszam, "{0:.3f}cm".format(tav))
- # 3. feladat:
- print("\n3. feladat:")
- energia = 0
- for sorszam, program in enumerate(programok):
- for index in range(len(program)):
- energia += 1
- if index == 0:
- energia += 2
- elozoBetu = program[index]
- elif program[index] != elozoBetu:
- energia += 2
- elozoBetu = program[index]
- if energia <= 100:
- print(sorszam+1, energia)
- energia = 0
- # 4. feladat:
- fajlKi = open("ujprog.txt", "w")
- for program in programok:
- elozoBetu = program[0]
- tavolsag = 0
- program.append("0")
- for utasitas in program[1:]:
- tavolsag += 1
- if utasitas != elozoBetu:
- if tavolsag == 1:
- print(elozoBetu, end="", file=fajlKi)
- else:
- print(tavolsag, elozoBetu, sep="", end="", file=fajlKi)
- tavolsag = 0
- elozoBetu = utasitas
- print("\n", end="",file=fajlKi)
- fajlKi.close()
- print("\n4. feladat - ujprog.txt létrehozása - KÉSZ!")
- # 5. feladat:
- ujKod = input("\n5.feladat - Kérem adjon meg egy új formátumú utasítást, az átalakításhoz: ")
- kiirando = ""
- szam = ""
- szamVolt = False
- for char in ujKod:
- if char.isdecimal():
- szam += char
- szamVolt = True
- elif szamVolt:
- kiirando += int(szam)*char
- szam = ""
- szamVolt = False
- else:
- kiirando += char
- print(kiirando)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement