Materiały pomocnicze z Informatyki (zakres podstawowy) dla uczniów II i III klasy liceum

 

Python 3 (klasa 2):

 

Przydatne programy i aplikacje:

 

ZADANIE 2.21.

"Program powitalny" - Python 3

Napisz program powitalny w Python 3.

 

ZADANIE 2.22.

"F-C" - program przeliczający temperaturę ze skali Fahrenheita na skalę Celsjusza

Napisz program przeliczający temperaturę ze skali Fahrenheita na skalę Celsjusza.

 

ZADANIE 2.23.

"Skala Romera" - Python 3

Napisz program przeliczający temperaturę ze skali Rømera na skalę Delisle’a.



Ważne informacje:

Skala Rømera Ro (°Ro)
Skala Celsjusza C (°C)
Skala Fahrenheita F (°F)
Skala Kelvina K (K)
Skalę Rankine’a Ra (°Ra)
Skala Réaumure’a Re (°Re)
Skala Delisle’a D (°D)

7,5 zapisujemy 7.5
273,15 zapisujemy 273.15
491,67 zapisujemy 491.67

 

Grupa X. Y. Program przeliczający temperaturę ze skali Rømera na skalę Delisle’a:

 

Ćwiczenie 2.1.

Logowanie - Python 3

Program logujący.

 

ZADANIE 2.24.

"Trójkąt" - Python 3

Warunek istnienia trójkąta:

Napisz program, który wczytuje z klawiatury długości boków trójkąta, sprawdza, czy trójkąt istnieje i wyświetla na ekranie obwód trójkąta, lub informację, że trójkąt nie istnieje.

 

ZADANIE 2.25.

"Skok" - Python 3

Trener skoku w dal mierzy podczas treningu długość kolejnych skoków i wpisuje wyniki na bieżąco do programu komputerowego. Na koniec treningu program ma wyświetlić długość najdłuższego skoku. Wyniki podawane są w metrach z dokładnością do 1 cm (czyli 0.01 m). Nie wiadomo ile skoków lekkoatleta wykona podczas treningu.

Program komputerowy trzeba zaplanować tak, aby trener mógł zaznaczyć, że trening został zakończony. Jednym ze sposobów na zakończenie treningu jest wpisanie przez trenera cyfry 0, która zakończy ciąg podawanych liczb i wtedy program wyświetli długość najdłuższego skoku.

Napisz program, który rozwiązuje opisany problem.

 

Ćwiczenie 2.2.

Algorytmy

 

ZADANIE 2.26.

Algorytmy

Oblicz pierwiastek kwadratowy z liczby z użyciem algorytmu Herona.

Napisz program obliczający pierwiastek kwadratowy z liczby z użyciem algorytmu Herona (wg algorytmu powyżej).

 

ZADANIE 2.26.

"Pierwiastek" - Python 3

Napisz program obliczający pierwiastek kwadratowy z liczby z użyciem algorytmu Herona (wg algorytmu powyżej).

 

Ćwiczenie 2.3.

"Suma liczb naturalnych" - Python 3

Napisz program, który obliczy sumę n kolejnych liczb naturalnych.

 

ZADANIE 2.27.

"Suma liczb" - Python 3.

Napisz program, który obliczy sumę n kolejnych liczb...
Grupa A. parzystych
Grupa B. podzielnych przez trzy
Grupa C. podzielnych przez pięć
Grupa D. podzielnych przez siedem
Grupa E. podzielnych przez jedenaście

Grupa A.

 

 

 

ZADANIE 2.28.

"Skocznia" - Python 3.

Napisz program, który obliczy sumę punktów za skok w jednej serii podczas zawodów w skokach narciarskich
Grupa A. na skoczni normalnej w Oberstdorf (punkt K - 95m)
Grupa B. na skoczni mamuciej w Oberstdorf (punkt K - 200m)
Grupa C. na skoczni dużej w Oberstdorf (punkt K - 120m)

Grupa A.

 

ZADANIE 2.29.

"Funkcja - ResztaZDzielenia" - Python 3.

Napisz funkcję o nazwie ResztaZDzielenia sprawdzającą resztę z dzielenia liczby a przez liczbę b.

 

Write a function called DivisionRemainder.

 

ZADANIE 2.30.

"Funkcja - CzyPierwsza" - Python 3.

Napisz funkcję o nazwie CzyPierwsza sprawdzającą czy podana liczba jest liczbą pierwszą czy złożoną.

 

Write a function called IsPrime.

 

ZADANIE 2.31.

"Algorytm Euklidesa" - Python 3.

Napisz dwa programy wykorzystujące algorytm Euklidesa do obliczenia NWD (Największego Wspólnego Dzielnika) i NWW (Najmniejszej Wspólnej Wielokrotności) dwóch liczb.
Pierwszy program powinien wykorzystywać tradycyjny algorytm Euklidesa a drugi program algorytm Euklidesa w wersji z dzieleniem.

 

ZADANIE 2.32.

"Dodawanie ułamków" - Python 3.

Napisz programy obliczający sumę dwóch ułamków zwykłych doprowadzający otrzymany ułamek do postaci nieskracalnej.

 

 

 

 

Python 3 - zadania kontrolne (*):

Zadanie 2.41.1.

Napisz program, który obliczy pole powierzchni trapezu dla podanych długości podstaw oraz wysokości trapezu. Dane powinny być liczbami całkowitymi. Wynik zaokrąglij do części całkowitej.

 

Zadanie 2.41.2.

Napisz program, który przeliczy wartość podaną w bajtach na bity.

 

Zadanie 2.41.3.

Napisz program, który wartość prędkości podanej w km/h zapisze w m/s. Wartość powinna być wyznaczona z dokładnością do części całkowitych.

 

Zadanie 2.41.4.

Napisz program, który wczyta trzy liczby a następnie sprawdzi, czy były to liczby w porządku niemalejącym. Program powinien zwrócić odpowiedź „TAK” lub „NIE”.

 

Zadanie 2.41.5.

Napisz program, który wczyta dwie liczby a następnie wypisze większą z nich wraz z komunikatem „jest większa”. Jeśli liczby są równe, to program wypisze komunikat „liczby są równe”.

 

Zadanie 2.41.6.

Napisz program, który wczyta dwie różne liczby całkowite dodatnie, a następnie sprawdzi, ile razy mniejsza z nich mieści się w większej.

 

Python 3 (klasa 3):

 

 

Zadanie 3.02.

Rozmiar buta w Python 3.

Napisz program przeliczający rozmiar buta.

Grupa A: z cm na rozmiar EUR
Grupa B: z cm na rozmiar UK
Grupa C: z EUR na cm
Grupa D: z UK na cm
Grupa E: z UK na EUR
Grupa F: z EUR na UK

 

Zadanie 3.03.

Emoji w Python 3.

Napisz program wykorzystujący znaki emoji.

 

Kody znaków emoji (DEC): https://www.w3schools.com/charsets/ref_emoji.asp

 

fragment kodu:

 

Zadanie 3.04.

Wykres kolumnowy w Python 3.

Napisz program wyświetlający wykres kolumnowy.

IND: Sydney 2000
3AP: Salt Lake City 2002
3BP: Ateny 2004
3P1: Turyn 2006
3P2: Pekin 2008
3P3: Vancouver 2010
3P4: Londyn 2012
3P5 gr1: Soczi 2014
3P5 gr2: Rio de Janeiro 2016
3P6: Pjongczang 2018

kod podstawowy:

# źródło: https://matplotlib.org/stable/gallery/lines_bars_and_markers/barchart.html
import matplotlib.pyplot as plt
import numpy as np

labels = ['G1', 'G2', 'G3', 'G4', 'G5']
men_means = [20, 34, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]

x = np.arange(len(labels))
width = 0.35

fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, men_means, width, label='Men')
rects2 = ax.bar(x + width/2, women_means, width, label='Women')

ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(x)
ax.set_xticklabels(labels)
ax.legend()

plt.show()

fragment kodu:

wersja A

wersja B

tabela kolorów

 

Zadanie 3.05.

Szyfr Cezara w Python 3.

Napisz program deszyfrujący tekst zaszyfrowany metodą Cezara ze znaną wartością klucza.

Odszyfruj zakodowane teksty:
RSGNMTFCKOBWS GNMTFI QSNOFO NS NBOBMA YZIQNSA XSGH DFCGHS dla klucza 14
AV QLZA THSF RYVR KSH JGSVDPLRH HSL DPLSRP KSH SBKGRVZJP dla klucza 7

 

kod źródłowy programu Szyfr Cezara:

# Szyfr Cezara Anna Leśniak
def Cezar(klucz, tekst):
    napis = ""
    dl = len(tekst)

    for i in range(0, dl):
        if tekst[i] == " ":
            kod = ord(" ")
        else:
            kod = ord(tekst[i]) + klucz
            if (kod > ord("Z")):
                kod = kod - 26
        napis = napis + chr(kod)

    return napis

jawny = input("Podaj tekst: ")
klucz = int(input("Podaj klucz szyfrowania: "))

print("Kryptogram:", Cezar(klucz, jawny))

 

Zadanie 3.06.

PESEL i EAN-13 w Python 3.

Wersja A:
W Python3 napisz program, który po wczytaniu dowolnego numeru PESEL sprawdzi jego poprawność i jeśli ostatnia cyfra jest prawidłowa program wyświetli płeć jeśli nie - program wyświetli komunikat o błędzie. Zakładamy, że numer ma prawidłową długość (11 znaków).

Wersja B:
W Python3 napisz program, który po wczytaniu dowolnego numeru EAN-13 sprawdzi jego poprawność i jeśli ostatnia cyfra jest prawidłowa program wyświetli kraj pochodzenia produktu ("Polska" lub "inny kraj") jeśli nie - program wyświetli komunikat o błędzie. Zakładamy, że numer ma prawidłową długość (13 znaków).

 

Zadanie 3.07.

Moduł random w Python 3.

Wersja A:
W Python 3 napisz program, który po wylosowaniu liczby z przedziału od 0 do 100 pozwoli użytkownikowi na odgadnięcie wylosowanej liczby. Po każdej próbie odgadnięcia liczby program powinien wypisać jeden z komunikatów: "Za mała", "Za duża" lub "Brawo! Udało Ci się za x razem", gdzie x oznacza liczbę prób, które wykonał użytkownik.

Wersja B:
W Python 3 napisz program, który po wylosowaniu liczby oczek (od 1 do 6) wypisze odpowiedni wynik graficznie:

-------       -------       -------       -------       -------       -------
|     |       | o   |       | o   |       | o o |       | o o |       | o o |
|  o  |       |     |       |  o  |       |     |       |  o  |       | o o |
|     |       |   o |       |   o |       | o o |       | o o |       | o o |
-------       -------       -------       -------       -------       -------

Wersja C:
W Python 3 napisz program symulujący rzut monetą.

Wersja D:
W Python 3 napisz program losujący jedną kartę z talii 52 kart.

 

wskazówki:

import random

szukana = random.randrange(0, l01)

 

import random

liczba = random.randrange(1, 7)

 

import random

los = random.choice(["Orzeł", "Reszka"])

 

import random

kolor = random.randrange(1, 5)
karta = random.choice(["2", "3", "4", "5", "6", "7", "8", "9", "10", W", "D", K", "A"])