Table of Contents

Cvičení 4: 1D pole

Úkol 1 Opakování funkce a for cykly

def a(x,y,z):
    return (x and y) or (not y and z)
 
def b(x,y,z):
    return x or z

Úkol 2 Najdi a změň

Úkol 3 Záměna slova

Načítání ze souboru

f=open('line.txt','r')
line = f.readline()
pole = list(map(int, line.split()))

pole=[]
f=open('pole.txt','r')
for line in f:
    pole.append(int(line))

for x in pole:
    print(x)

Úkol 4 funkce nalezení maxima

Úkol 5 funkce nalezení druhého největšího prvku v poli

Polynomy

Úkol 6 hezký výpis polynomu

Úkol 7 výpočet hodnoty polynomu

Domácí práce

Domácí úkol

Lehká varianta (max 1.5 bodu)

* výsledek je celočíselný polynom. Aby Vám výpočet vyšel, použijte vnitřní typ Fraction:

from fractions import Fraction

f = open(sys.argv[1],"r");
line = f.readline()
p1 = list(map(Fraction, line.split()))
line = f.readline()
p2 = list(map(Fraction, line.split()))
f.close()

python3 polynom.py soubor.txt

filename = sys.argv[1]   # tuto radku zakomentovat pro domácí ladeni
filename = "soubor.txt"  # tuto radku zakomentovat pro Bruta
f = open(filename, "r")

V následujících příkladech předpokládejte, že se program volá s argumentem, který definuje jméno vstupního souboru, např.:

python3 polynom.py soubor.txt

Pokud soubor.txt obsahuje:

0 12 -2 -4
3 -2

Výstup (stdout):

0 4 2
0

Komentář: neboť $(0 + 4x + 2x^2)(3-2x) = 0+ 12x -2x^2 -4x^3$.


Pokud soubor.txt obsahuje:

5 -3 6 2 -8
2 0 3 4

Výstup (stdout):

2 -2
1 1

Komentář: neboť $(2 - 2x)(2 +3x^2+4x^3)+(1+x) = 5 -3x +6x^2 +2x^3 -8x^4$, nebo $(2 - 2x)(2 +3x^2+4x^3) = (5 -3x +6x^2 +2x^3 -8x^4) - (1+x)$

Těžká varianta (3 body)


V následujících příkladech předpokládejte, že se program volá s argumenty, které definují jméno vstupních souborů, např.:

python3 fillword.py osm.txt czech.txt

Soubor czech.txt si můžete stáhnout na uvedém odkazu.

Předpokládejte, že soubor osm.txt obsahuje:

xxxxtbnxxxx
xnadgpenmen
xuebaturekt
ncnkbendx0x
apadzrzolxm
kalilabubxa
rlxxxxrebar
yseakirejcg
skok0soxneo
xosrozsevsr
xxxxkwexsnp

Výstup:

2 10 3 telurid


Pokud soubor osm.txt obsahuje:

xxisvachtaprrilidals
gstuonheldopennstcix
tnoxuovoliam0dxaxzzx
xreapokxxxxxjablkoux
reljablkoxxnurxxxbux
ebnisjalxxuotirgetni
peixpodaxgxdefmwxiix
ozlxxdudtsoxnxtcixgx
llpixcxuinkx0pulxxnx
aaetjehatzoraxiuxxex
rplaxovxueajmtxddixx
iykteluovdnxxsxavatx
zsdxnnxzaexeazorzizx
aeoazeberntnxiahnxax
csegxpantritubxexxdb
eenxtxaxxlxxaxlnnxpx
unobaxxkorunynxaleax
xavuxxbxaxxxexexxnxx
xdakacabonovalyzxsxx
kontrovanouxxxxxoxxx

pak je výstup:

10 12 0 magnetuje