Program za izračun geometrijskih karakteristik poligonalnih prerezov. Uporaba funkcij.

Povezave:

Izvorna koda

geokar.py

#! /usr/bin/env python

def geokar_Ax(n, x, y):
    Ax = 0.0
    for i in range(n):
        Ax = Ax + (x[i+1] + x[i]) * (y[i+1] - y[i])

    return 0.5 * Ax


def main():
    # Vnos podatkov
    print("Vnos podatkov ...")
    n = int(input("Podaj število točk: "))

    x = []
    y = []
    for i in range(n):
        # 1. primer: vsaka koordinata posebej
        # xi = float(input("x({}): ".format(i + 1)))
        # yi = float(input("y({}): ".format(i + 1)))
        # x.append(xi)
        # y.append(yi)

        # 2. primer: podajanje x in y koordinate točke skupaj
        vrstica = input("Točka {}: ".format(i + 1))
        besede = vrstica.split()
        x.append(float(besede[0]))
        y.append(float(besede[1]))

    x.append(x[0])
    y.append(y[0])

    # Izračun ploščine prereza
    print()
    print("Izračun ...")
    Ax = geokar_Ax(n, x, y)

    # Izpis rezultatov
    print()
    print("Izpis ...")
    print("Ax = {:.3f}".format(Ax))


if __name__ == "__main__": main()