WPROWADZENIE
Wymień 5 etapów programowania
1.postawienie problemu, 2. zdefiniowanie zadania (cel działania programu), 3. projektowanie algorytmów i podstawowych struktur danych, 4. kodowanie 9zapis programu w jego docelowej postaci), 5. Testowanie.
Wymień i objaśnij 4 cechy algorytmu.
uniwersalność( zapewnienie rozwiązania każdego typu zadań należącego do określonego typu zadań) jednoznaczność (możliwość przedstawienia sposobu postępowania w postaci skończonej listy prostych i jednoznacznych rozkazów) zbieżność( dla każdego zbioru danych początkowych liczba operacji prowadzących do poszukiwanego wyniku jest skończona) powtarzalność(wielokrotnie wykonamy ten algorytm na tych samych danych wejściowych otrzymamy za każdym razem te same dane wyjściowe)
jakie trzy role mogą pełnić dane w programie
opis problemu, rozwiązanie problemu, wykorzystanie przez algorytm.
czym jest typ danych i jakie znasz ich rodzaje
typ-> charakteryzuje zbiór dopuszczalnych wartości , rozmiar danych ilośc pamięci potrzebną do zapamiętania a także decyduje o operacjach jakie można na tych danych wykonać. (prosty, złożony) albo abstrakcyjny, logiczny
wymień trzy podstawowe jednostki pamięci
bit bajt nibbel
jakie znasz paradygmaty programowania? Czym się od siebie różnią
deklaracyjny, funkcjonalny, imperatywny
czym są makroinstrukcje i czym się różnią od pod programów
zlepek instrukcji programowania, nie można powracać skraca kod źródłowy ale nie wynikowy
wymień elementy architektury Von Neumana
urządzenia wejścia i wyjścia, jednostka centralna(procesor(jednostka sterująca, jednostka arytmetyczno logiczna), pamięć operacyjna)
wymień 3 rodzaje rozkazów procesora. Podaj przykład operacji dla każdego z nich
przetwarzanie danych, przesyłanie danych, sterowanie
Jakie znasz rodzaje pamięci? Do czego służą?
pamięć dynamiczna(DRAM) pamięć statyczna(SRAM) pamięc tylko do odczytu ROM.
Wyjaśnij pojęcia partycja i macierz dyskowa
partycja(podzielony dysk fizyczny kilka dysków logicznych) macierz dyskowa (kila dysków fizycznych w jeden)
na czym polega buforowanie danych
przechowywanie w wydzielonej części pamieci danych potrzebnych do działania programu. Dzięki czemu może on działać szybciej
Jaki język programowania jest naturalny dla komputera
kod maszynowy (0,1)
co to są mnemoniki i jaki język się nimi posługuje.
mnemoniki krótkie wyrazy znacznie bardziej zrozumiałe dla człowieka zastępujące kod maszynowy. Korzysta z nich asembler
wymień przynajmniej 4 znane ci języki wysokiego poziomu
BASIC, Pascal , C, pyton,
czym charakteryzują się języki o mocnych typach
Ograniczony stopien swobody danych jakimi program operuje, bardzo sformalizowany ciężko się pisze ale łatwo wykryć błędy.
na jakie dwa sposoby może przebiegać translacja . omów ich wady i zalety
zamiana języka na kod maszynowy, kompilacja albo interpretacja, kompilacja działa raz a dobrze i nie trzeba więcej kompilować ale przy wprowadzaniu nowego kodu trzeba to zrobić jeszcze raz. Interpretacja natomiast zawsze tłumaczy program przez co jest on wolniejszy ale zmiany wprowadzone są na bieżąco widoczne i wpływają na działanie.
Co to jest maszyna wirtualna
program stymulujący komputer którego językiem jest bytecode
wymień i krótko scharakteryzuj przynajmniej 5 znanych ci metod specyfikacji algorytmów
opis słowny, pseudokod, schemat blokowy, strukturogram, tablica decyzyjna.
omów wady i zalety pseudokodu.
większa przejrzystość łatwość do odczytania przez człowieka, podstawową wadą jest niemożność zamienienia tego kodu na kod maszynowy od razu.
PIERWSZE KROKI.
jak nazywa się twórca pytona
Guido van Rossum.
co to jest idle
zintegrowane środowisko programistyczne pythona
wymień operacje arytmetyczne i sposoby ich oznaczania w pytonie
dodawanie (+) odejmowanie (-) mnożenie (*) dzielenie(/) dzielenie całkowite(//) potęga(**) reszta z dzielenia (%) rozdzielenie dwóch poleceń (;) mniejszy(<) większy(>) mniejszy równy(<=) większy równy(>=) nierówny (!=, <>)
wymień 4 typy liczbowe dostępne w pytonie
liczby całkowite, długie liczby całkowite, liczby rzeczywiste, liczby zespolone.
jak oznaczamy napisy w pytonie?
Cudzysłów (” ”) Apostrof(`') Potrójny cudzysłów(””” ”””, wiele linii)
jaki znak pozwala kontynuować napis w kolejnej linii
(\)
z jakich znaków składa się sekwencja sterująca oznaczająca koniec linii
(\n)
jakie są ograniczenia w tworzeniu nazw obiektów w pytonie
nie można im nadawać nazw zastrzeżonych dla słów kluczowych języka pyton. Np. try, print, import.
jakie polecenie pytona kasuje obiekt o podanej nazwie
del
czy pytonie można przeliczać wartości między różnymi typami? Podaj przykład jak.
tak używając funkcji: int (x), long(x), float(x) complex(x)
jakie rozszerzenia mają nazwy plików zawierające kod źródłowy
.py
jak w pytonie oznaczamy komentarz?
#
Która instrukcja pytona służy do wyświetlania tekstu.
która instrukcja służy w pytonie do wczytywania tekstu?
Raw_input
Co umieszczamy w wywołaniu funkcji po jej nazwie ?
w nawiasie okrągłym podajemy listę jej parametrów
Jakie są możliwe rezultaty operacji porównania?
False/true
na czym polega różnica między operatorem równości a instrukcją przypisania
Operator równości(= =) sprawdza czy po obu stronach są takie same wartości. Instrukcja przypisania(=) nadaje zmiennej znajdującej się po lewej stronie wartość wyrażenia po prawej stronie
Jakie są w pytonie zasady porównywania napisów
kryterium porównania jest kolejność leksykograficzna (liter w alfabecie) np. A<B albo C<F, jeżeli pierwsze się zgadzają pyton porównuje następne, jeżeli one się zgadzają następne itp., to krótsze napisy są mniejsze od dłuższych. Mniejsze litery są większe od Dużych.
jaka jest składnia instrukcji warunkowej w pytonie?
if 2!=2: print „dziwne” poniżej może być drugi warunek jeżeli funkcja niespełna pierwszego elif i ten warunek może być powtórzony nieskończoną liczbę razy. Na samym końcu znajduje się else który jest wykonywany dopiero jak wszystkie poprzednie się nie zgadzają.
Jakie znaczenie ma w pytonie wcięcie fragmentu kodu źródłowego.
Wcięcie czyli przesunięcie w prawo o jeden (TAB) wpływa na przepływ sterowania w programie. Zmienia kolejność wykonywanych funkcji. Tworzy coś na styl lity wielopoziomowe.
ELEMENTY PROGRAMU
Jak w jednej linii można zawrzeć więcej niż jedną instrukcję prostą?
Rozdzielając je między sobą znakiem ; (średnikiem)
Co zaliczamy do podstawowych typów elementów (tokenów) języka Python?
linie mogą być puste, zwykle jednak zawierają tekst będący ciągiem tokenów. Tokeny w linii rozdzielone są między sobą odstępami. Odstępem może być znak biały (spacja lub tabulator) lub ich wielokrotność. Odstęp pomiędzy dwoma tokenami jest konieczny tylko wtedy, gdy ich połączenie mogłoby zostać zinterpretowane jako inny token, na przykład if1 to jeden token, ale if 1 to dwa tokeny (odstęp konieczny); natomiast 2+3 to to samo co 2 + 3 (odstęp niekonieczny).
Jakie znasz operatory logiczne?
Or - logiczne LUB
And - logiczne I
Not x - logiczne NIE
In - przynależność
Not In - brak przynależności
Is - tożsamość
Is not - brak tożsamości
Jakie wyróżniamy rodzaje instrukcji prostych?
Instrukcję pustą
Instrukcje przypisania
Instrukcje modyfikacji
Instrukcje wyświetlania
Skoki bezwarunkowe
Wywołania podprogramów
Na czym polegają i jak są zapisywane instrukcje modyfikacji?
Służą do zmiany wartości istniejących zmiennych, ale nie do tworzenia nowych zmiennych. Instrukcje modyfikacji mają postać: zmienna ?= wyrażenie, gdzie ? oznacza operator arytmetyczny lub bitowy, na przykład +,-, *. Instrukcje modyfikacji wprowadzono dla wygody programisty, każdą instrukcję modyfikacji można zapisać jako instrukcje przypisania.
Przykład:
Instrukcja |
Wynik |
Odpowiednik |
a+=1 |
Zwiększy a o 1 |
a=a+1 |
b-=a |
Odejmie od a zawartość b |
b=b-a |
a+=input() |
Doda do a wartość wczytaną z klawiatury |
a=a+input() |
Do czego służy instrukcja return?
Instrukcja ta, użyta w podprogramie wychodzi z niego.
Czym są funkcje wbudowane? Podaj cztery przykłady takich funkcji.
Funkcje wbudowane są zdefiniowane przez twórców Pythona.
Przykłady:
funkcja |
Opis |
abs(i) |
Zwróci wartość absolutną i |
chr(i) |
Zwróci znak o kodzie ASCII równym i |
float(i) |
Zwróci wartość i w postaci liczby zmiennopozycyjnej |
hex(i) |
Zwróci wartość i w postaci szesnastkowej |
id(v) |
Zwróci wartość zmiennej v w pamięci |
input(s) |
Wyświetli s, wczyta wyrażenie z klawiatury, i zwróci jego wartość |
int(x) |
Zwróci wartość całkowitą (podłogę) x |
len(s) |
Zwróci długość ciągu s |
oct(i) |
Zwróci wartość i w postaci ósemkowej |
ord(c ) |
Zwróci kod ASCII znaku c |
raw_input(s) |
Wyświetli s, wczyta napis z klawiatury, i zwróci go |
round(f) |
Zwróci wartość całkowitą (zaokrągloną) f |
str(x) |
Zwróci napis przedstawiający wartość x |
Jakie znasz trzy rodzaje instrukcji złożonych?
Sekwencji - ciąg instrukcji wykonywany zawsze tylko jeden raz, niezależnie od sytuacji
Wyboru - ciąg instrukcji, zależnie od sytuacji wykonywany tylko jeden raz lub wcale
Pętli - ciąg instrukcji, wykonywany nieznaną liczbę razy
Jakie znasz trzy rodzaje wyborów? Objaśnij.
Wybór prosty - polega na wykonaniu instrukcji tylko przy spełnieniu podanego warunku.
Wybór pełny - polega na wykonaniu przy spełnieniu podanego warunku instrukcji A, a przy jego niespełnieniu instrukcji B.
Wybór wielokrotny - polega na wykonaniu przy spełnieniu podanego warunku - instrukcji A, przy spełnieniu innego podanego warunku - instrukcji B, …, a przy niespełnieniu żadnego z podanych warunków - instrukcji Z.
Jakie dwa rodzaje pętli dostępne są w Pythonie?
Pętla z testem na początku cyklu (typu while)
Pętla z testem na końcu cyklu (typu repeat until)
Jakie wymagania na podprogramy nakłada programowanie strukturalne?
Podprogramy mają tylko jedno wejście i jedno wyjście
Mogą zawierać własne dane (zmienne lokalne)
Stanowią niezależne całości: podprogram nie powinien używać zmiennych globalnych (danych zdefiniowanych na zewnątrz podprogramu) poza
Danymi wejściowymi, otrzymanymi jako parametry
Danymi wyjściowym, zwracanymi jako rezultat
Są przejrzyste:
Krótkie: powinny mieścić się na 1-2 ekranach tekstowych
Nieskomplikowane: liczba zmiennych lokalnych jest ograniczona do kilku
Z czego składa się definicja funkcji?
Nagłówek funkcji obejmujący:
Słowo kluczowe def
Nazwę funkcji, która pozwoli zidentyfikować funkcję w pozostałej części programu
Ujęta w nawiasy okrągłe listę argumentów (parametrów), które funkcja otrzymuje na początku swego działania z zewnątrz
Dwukropek
Ciało funkcji zawierające instrukcje, które zostaną wykonane w momencie wywołania(użycia) funkcji:
Jeżeli funkcja ma zwracać jakiś rezultat, musi zawierać instrukcję return z odpowiednim argumentem
Co to są parametry formalne i aktualne funkcji?
Parametr formalny - reprezentuje wartość przekazaną przy wywołaniu funkcji
Parametr aktualny - wartość faktycznie przekazana do funkcji. Nie musi być nim stała, może być nim zmienna lub dowolne wyrażenie, którego rezultat ma typ zgodny z typem parametru formalnego.
Jak podajemy wartości domyślne parametrów funkcji?
Zostaną one użyte, jeżeli przy wywołaniu nie zostanie nadana parametrowi inna wartość. Przykładowo możemy przyjąć, że najczęściej potrzebnym znacznikiem jest gwiazdka w liczbie 10. Zapiszemy to następująco:
>>> def znaczkogwiazdki(ile=10, czego=”*”):
print ile*czego
możemy teraz łatwo otrzymać 10 gwaizdek:
>>> znaczkogwiazdki()
**********
Co to są zmienne lokalne i globalne?
Zmienne lokalne - są to parametry formalne, w istocie wszystkie zmienne stworzone wewnątrz funkcji.
Zmienne globalne - istnieją poza funkcją
Jakie znasz własności danych w programie? Objaśnij.
Zakres - wyznacza on tę część kodu źródłowego, w której można się posługiwać określonym obiektem. Zakres zaczyna się w punkcie zdefiniowania zmiennej (nadania jej początkowej wartości), kończy się zaś w punkcie skasowania zmiennej lub na końcu pliku (w przypadku zmiennych globalnych) albo definicji funkcji(w przypadku zmiennych lokalnych)
Czas życia - określa on momenty w trakcie wykonywania programu, w których dana jest tworzona i niszczona.
Jak modyfikujemy zmienne globalne wewnątrz funkcji?
Będzie to możliwe dopiero wtedy, gdy oznaczymy modyfikowaną zmienną jako globalną przy użyciu słowa kluczowego global:
>>> def zwieksza():
global a
a+1=1
Wynik:
>>> a=3
>>> zwieksza()
>>> a
4
Na czym polega rekurencja? Jakie znasz jej rodzaje?
Podprogramy rekurencyjne to takie, które wywołują same siebie. Stosowanie rekurencji pozwala uniknąć jawnego stosowania pętli, z tego powodu jest użyteczne szczególnie w funkcjonalnym paradygmacie programowania.
Rekurencja bezpośrednia
Rekurencja pośrednia
W jaki sposób importujemy całe moduły, a w jaki pojedyncze funkcje z nich?
Cale moduły - uda nam się to dzięki temu, że aktualny katalog (po uruchomieniu programu) to ten sam, w którym zapisano moduł (w końcu jest to ten sam plik). Python poszukuje plików modułów, prócz aktualnego katalogu, w kilku innych, przede wszystkim w katalog, w którym został zainstalowany - i tam właśnie należałoby umieścić plik modułu, gdyby zależało nam na tym, by umożliwić doń dostęp z innych programów. (import m1)
Pojedyncze funkcje - importujemy je poleceniem, w którym nazwy funkcji zastępujemy gwiazdką (from m1 import *)
Co to są moduły standardowe Pythona? Wymień cztery z nich.
Moduły standardowe - dołączone są do wersji dystrybucyjnej, zawierają funkcje, które używane są często, jednak tylko w programach z określonego obszaru tematycznego. Pisząc program z danego obszaru, wystarczy zaimportować odpowiadający mu tematycznie moduł standardowy, unikając w ten sposób konieczności samodzielnego tworzenia podstawowych dla danego zagadnienia funkcji.
array - obsługa tablic statystycznych
cmath - funkcje matematyczne na liczbach zespolonych
copy - kopiowanie sekwencji
curses - obsługa konsoli tekstowej
math - funkcje matematyczne na liczbach rzeczywistych
os - funkcje systemu operacyjnego
pickle - serializacja obiektów
random - funkcje pseudolosowe
re - wyrażenia regularne
shelve - obsługa prostej bazy danych
socket - obsługa sieci
string - operacje na napisach
sys - operacje systemowe
time - pomiar czasu
Tkinter - tworzenie graficznego interfejsu użytkownika
turtle - grafika żółwia
webbrowser - obsługa przeglądarek internetowych
4.ZŁOŻONE TYPY DANYCH
Obiekt , grupy obiektów:
Obiekt ma przypisane pewne właściwości (atrybuty) czyli dane oraz pewne metody czyli algorytmy do przetwarzania tych danych
obiekty grupuje się w klasy ( zbiór obiektów o tych samych właściwościach i metodach.)
Cechy podejścia obiektowego:
enkapsulacja - to jest łączenie w całość danych i procedur które na nich operują
hermetyzacja - to jest zabezpieczenie wewnętrznej budowy obiektu
dziedziczenie - to jest możliwości łatwego tworzenia nowych klas obiektów
polimorfizm - to jest automatyczny dobór właściwych algorytmów do danych faktycznie przechowywanych w obiekcie.
Zalety programowania obiektowego :
łatwe wykrywanie błędów
łatwe powtórne użycie kodu
rozszerzalność kodu
łatwośc modyfikacji programu
Klasy w Python:
Własne klasy definiuje się w Pytonie przy użyciu instrukcji złożonej class
class nazwa_klasy:
konstruktor
lista_metod
Konstruktor :
to podprogram który zostanie wykonany w momencie gdy stworzymy nowy obiekt tej klasy :
nazwa konstruktora jest identyczna jak nazwa klasy
może zawierać inicjalizację wartości wybranych atrybutów obiektów.
Rekord :
jest to klas nie posiadająca metod jest niczym więcej jak złożonym typem danych
składa się z pól rekordu
jak ograniczyć napis ciągnący się przez wiele lini?
(””” ”””)
Wycięcie części napisu:
osiągniemy to używając notacji wykrojenia w postaci początek : koniec gdzie początek oznacza indeks pierwszego znaku wycięcia a koniec indeks pierwszego znaku za wycinkiem
Zmienne , Niezmienne typy danych , napisy :
Niezmienne - napisy są typu niezmiennego oznacza to że po stworzeniu napisu nie możemy zmieniać jego zawartości, możemy zmieniać napis w całości
zmienne - możemy zmieniać - zawartość też
Operator formatowania napisów:
Operator formatowania % służy do podmiany sekwencji formatowania występujących w napisie na odpowiednio sformatowane dane
„Join” napisów:
Metoda „Join” łączy wszystkie elementy sekwencji podanej jako parametr w pojedynczy napis wstawiając pomiędzy nie napis.
Listy wielopoziomowe:
Listy mogą być wielopoziomowe , możliwy jest dostęp do poszczególnych elementów list podrzędnych poprzez użycie dwóch indeksów jako pierwszy zawsze podajemy indeks listy wyższego rzędu.
Parametry i funkcje Range :
służy do szybkiego tworzenia list których elementy należą do ciągu arytmetycznego, ( początek koniec krok ) range generuje liczby z zakresu [początek koniec) z których każda kolejna większa jest o krok. Ujemna wartość parametru krok pozwala odwrócić kolejność liczb na liście.
Kopiowanie jednej listy do drugiej ( z odwołaniem do kolejnej ) :
Jeżeli chcemy skopiować zawartość jednej listy do drugiej używamy zapisu wycinkowego Np. lista5 = lista1 [:]
Jeżeli utworzono z innych list listę główną to każda zmiana ich wartości będzie przenoszona na listę nadrzędną , tak samo zmiana wartości listy nadrzędnej będzie przenoszona listę podrzędną można też skopiować listy poprzez użycie funkcji deepcopy.
Metoda Index :
Metoda index znajduje pierwszą pozycję listy na której występuje wartość w
Różnica pomiędzy listą a krotką :
Krotki w odróżnieniu od list nalezą do typów niezmiennych co powoduje różnice w sposobie użycia - krotki tworzymy używając nawiasów okrągłych a ich elementy rozdzielamy przecinkami , przy czym nawiasy okrągłe można pomijać
Krotki zero , jedno i wieloelementowe:
Zero elementowe (krotka_pusta = () )
Jednoelementowe ( krotka_jednoelementowa = (1,)
Wieloelementowe ( krotka_wieloelementowa = 1,2,3)
Słownik :
Słownik składa się ze zbioru kluczy i zbioru wartości, gdzie każdemu kluczowi przypisana jest pojedyncza wartość. Zależność pomiędzy kluczem a wartością nazywana bywa odwzorowaniem
W słowniku dostęp do dowolnej w nim wartości możliwy jest poprzez podanie klucza a w listach trzeba podać konkretną pozycję lub wartość
Zbiory :
zbiór jest nieuporządkowaną kolekcją obiektów zwanych elementami zbioru. Elementy zbioru identyfikowane są poprzez swoją wartośc. Nie możemy zatem określić pozycji elementu w zbiorze, możemy jedyni sprawdzić czy dana wartośc do zbioru należy.
Zbiory tworzy się używając funkcji o takiej samej nazwie jak typ zbioru jako parametr podając sekwencje zawierającą elementy zbioru.
Operacje na zbiorach :
łączenie zbiorów ( d = a | b )
dodawanie innego zbioru ( c | = d )
określanie części wspólnej ( E = A & B)
różnica zbioru ( A-B )
różnica symetryczna zbioru ( f = a ^ b )
5.PRAKTYKA TWORZENIA PROGRAMÓW
Co to jest licznik pętli?
(for a in range (1,7))zmienna a jest licznikiem pętli, gdyż przyjmuje za sprawą instrukcji for kolejne wartości z listy od 1 do 6
Kiedy wykonywane są instrukcje umieszczone w bloku else po pętli i w połączeniu z jaką inną funkcją takich bloków się zwykle używa?
Instrukcja wykona się wtedy, gdy pętla nie została przerwana instrukcją break. Takich bloków używa się połączeniu z funkcją for.
Jaką funkcję nazwiemy opakowującą?
Funkcja, która opiera się na innej funkcji, zmieniając jedynie sposób jej działania a czasem tylko wywoływania.
Wymień i podaj przykłady użycia przynajmniej dwóch parametrów metody sort list.
Parametr key to sortowanie liczb zapisanych jako napisy. Przykład:
>>> L=[`Ala', `Ola', `pies', `dziadek', `Tola', `smyk']
>>> L.sort(key=str,lower)
>>> L
[`Ala', `dziadek', `Ola', `pies', `smyk', `Tola']
Parametr cmp pozwala podmienić cała funkcję wykonującą porównanie.
>>> cmp (1,2)
-1
Do czego służy i jaką ma składnię wyrażenie lambda?
Do unikania definicji funkcji jednorazowego użytku. Ma postać lambda argumenty: wyrażenie. Jego rezultatem jest anonimowa funkcja.
Na jakiej zasadzie odbywa się porównywanie sekwencji?
Porównywanie sekwencji polega na porównaniu miedzy sobą pierwszych ich elementów, tylko gdy są równe- drugich itd.
Jak wyodrębnić z sekwencji listę parametrów funkcji?
Należy rozpakować elementy sekwencji przy użyciu *, dopiero można je przekazać jako argumenty funkcji.
Jak przekazać do funkcji nieznaną liczbę parametrów w postaci listy?
Jeżeli w momencie definiowania funkcji nie jesteśmy w stanie określić liczby argumentów, które będą do niej przekazywane, poprzedzamy nazwę parametru formalnego oznaczającego wszystkie pozostałe argumenty funkcji gwiazdką.
Jak przekazać do funkcji nieznaną liczbę parametrów w postaci słownika?
Podwójna gwiazdka umożliwia przekazywanie do funkcji dowolnej liczby nazwanych parametrów w postaci słownika.
Czym jest zarodek dla generatora liczb pseudolosowych?
Pozawala na otrzymanie takiej samej sekwencji wylosowanych liczb.
Jak otrzymać losową liczbę rzeczywistą z podanego przedziału?
Przy użyciu funkcji random.
Omów cztery przykładowe funkcje modułu math.
Funkcja ceil(x) zwraca sufit liczy rzeczywistej x (najmniejszą liczbę całkowitą nie mniejszą niż x). Funkcja floor(x) zwraca podłogę liczby rzeczywistej x (najwększą liczbę całkowitą nie wiekszą niż x). Funkcja log(x) zwarac logarytm naturalny z x. Funkcja exp(x) zwraca ex.
Jaka funkcja zwraca aktualny czas systemowy?
Funkcja asctime().
Jakie są trzy główne rodzaje błędów popełnianych przez programistów, podaj po jednym przykładzie.
Błędy składniowe(wykorzystanie kluczowych słów języka Python jako zmiennych ) Błędy wykonania (na przykład próba dzielenia przez zero). Błędy semantyczne (na przykład program sumuje liczby, ale wynik równi się od prawidłowego).
Jakie czynności obejmuje testowanie?
Fazy testowania to: 1.obmyslenie planu testów, 2.przygotowanie danych testowych, 3.sprawdzenie danych testowych, 4.wykonanie testu.
W przypadku błędu, następuje: a)zlokalizowanie fragmentu programu, który powoduje błąd, b)znalezienie przyczyny błędu, c)rozwiązanie problemu, d)poprawienie programu.
Omów statyczne metody testowania.
Metody bez użycia komputera: dowodzenie: badanie poprawności programu na podstawie praw logiki i matematyki; suchy przebieg: opierając się na kodzie źródłowym programista stara się wykonywać program tak, jakby robił to komputer.
Wymień dynamiczne metody testowania.
Testowanie na danych spreparowanych i rzeczywistych, symulacja działania, tworzenie logów, użycie narzędzi, testowanie zdalne, wersja beta.
Co to jest debugger i jakie są jego podstawowe funkcje?
Wbudowany w powłokę IDLE, pozwala odnaleźć błędna linię, umożliwia podgląd i sterowanie wykonywaniem programu.
Wyjaśnij pojęcia: raportowanie, „rusztowanie”, asercje.
Raportowanie: polega na wyświetlaniu przez program komunikatów informujących o właśnie wykonanej operacji. Rusztowania: fragmenty kodu źródłowego wprowadzane do programu w trakcie jego pisania i testowania, niemające wpływu na sposób działania jego właściwego algorytmu i usuwane z wersji dystrybucyjnej. Asercje: służą do przerwania programu w przypadku wystąpienia niespodziewanych wartości danych.
W jaki sposób program może przejąć kontrolę nad obsługa wyjątków?
Jest to możliwe dzięki konstrukcji try..except.
6.PRZECHOWYWANIE I PRZETWARZANIE DANYCH.
Czym różnią się pliki binarne od tekstowych?
Pliki binarne są sekwencjami bajtów, pliki tekstowe są sekwencjami znaków. Znaki w pewnych kodach ASCII maja w plikach tekstowych specjalne znaczenie . Aby uniknąć niepotrzebnych problemów w wątpliwych systemach, najlepiej używać plików binarnych, nawet jeżeli zapisujemy tekst.
Omów 3 podstawowe sposoby organizacji plików.
Plik sekwencyjny- może znajdować się w jednym z dwóch stanów. - 1)czytania w którym może być poddany następującym operacjom - inicjowanie procesów czytania z pliku. - przeczytanie aktualnego elementu i przejście do następnego. 2) pisania w którym może być poddany następującym operacjom : - inicjowanie procesu konstruowania plików(stworzenie pustego pliku) - wydłużenie pliku o nowy element.
Plik o dostępie swobodnym- znacznie poszerzenie listę dostępnych operacji, pozwalają na przejście do dowolnego elementu pliku, modyfikacje dowolnego elementu pliku oraz skracanie pliku w dowolnym miejscu. Plik sekwencyjny a plik o swobodnym dostępie rozumianą się jedynie zaimplantowanym przez programistę sposobem obsługi
Pliki o organizacji indeksowo-sekwencyjnej- zawierają sekwencje rekordów, uporządkowanych według pewnego klucza, Każdy rekord w pliku ma określoną wartość klucza. Klucz określa kolejność w jakiej odczytywane są dane.. Pliki te reprezentują się jako parę plików; pliki indeksowane, pliki indeksujące. Wady pliku IS- maja zwiększone zapotrzebowanie na pojemność nośnika, oraz konieczność ich okresowej reorganizacji.
Jakie zadanie realizuje metoda plików flush?
Zapisuje dane bufora do pliku. Np. f1.flush
Jak ustawić pozycje pliku na podana? Jak odczytać aktualna pozycje pliku?
Za pomocą seek ustawia pozycje pliku za podaną, a odczytujemy aktualna pozycje pliku poprzez f1.seek(-14,1)
Jak sprawdzić czy plik jest dołączony do urządzenia terminalowego?
Za pomocą metody isatty -zwraca true jeżeli plik jest dołączony do urządzenia terminalowego, jeśli nie jest dołączony zwraca folse.
Na czym polega serializacja obiektu?
Serializacja obiektu polega na przekształcaniu danych go opisujących w ciąg bajtów( f . Dumas) z którego można później odtworzyć taki sam obiekt(f. loads)
W jaki sposób standaryzuje się obiekty w PYTHONIE?
Standaryzuje się za pomocą pikle, za pomocą funkcji dumpls, oraz funkcji loads.
Jaki moduł standardowy Pytona zawiera najprostszy motor bazy danych?
Shelve posługuje się lepszym niż dumbdbm motorem bazy danych a mianowicie dbhash(który z kolei opiera się na motorze BSD. Nadal jest to motor który nie pozwala na obsługę dużych baz danych. W przypadku takiej konieczność właściwym rozwiązaniem jest podłączenie Pythona do zew. Bazy danych, co również jest czynnością prosta , jednak z pewnością wykraczająca poza podstawy programowania.
Do czego służy moduł shelve? Jak korzysta się z niego?
Obsługujemy tak jak słownik, a wiec dostępne są wszelkie operacje i metody działające dla prawdziwych słowników. Moduł shelve oferuje analogiczny sposób dostępu do danych umożliwiając jednak zachowanie obiektów danego typu.
Wymień postać wytworników list?
Wytworniki dostępne sa w 5 postaciach; prostej, prostej warunkowej, rozszerzonej, rozszerzonej z jednym warunkiem, rozszerzonej z wieloma warunkami.
Na czym polega filtrowanie danych. Jak można łatwo przeprowadzić je w pytonie?
Postać prosta warunkową pozwala umieszczać na liście tylko takie elementy, które spełniają pewien warunek(operacje usuwania z listy elementów niespełniających określonego warunku nazywamy filtrowaniem danych. Ma następująca składnie: wyrażenie for zmienna In sekwencja if warunek)
Na czym polega konsolidacja danych? jak można łatwo przeprowadzić je w pytonie?
Funkcja zip , jest to operacja łącząca kilku list w jedna, w której wartość pojedynczego elementu listy wynikowej zależy od wartości pojedynczych elementów list źródłowych. Np. zip(`abcdef',[1,2,3,4,5,6]-> (`a',1)itd.
Jak działa i do czego służy funkcja reduce?
Funkcja ta służy do agregowania danych, obliczania pojedynczego wyrażenia zależnego od wszystkich elementów listy źródłowej. Funkcja ta przyjmuje jako parametry funkcje oraz sekwencje, zwraca pojedynczą wartość. np.; suma elementów reduce(lambda x,y:x+y,[1,2,3]
Do czego służy i co dokładnie zwraca funkcja serach modułu Re?
Wyszukuje w napisie podany wzorzec i zwraca obiekt klasy MatchObject
Do czego służy i co dokładnie zwraca funkcja findall modułu Re?
Pozwala znalesc wszystkie występowania wzorca w tekście i zwraca ich listę.
Co oznaczają znaki +,*i | w wyrażeniach regularnych?
*-akceptuje dowolna liczbę powtórzeń od zera do nieskończoności,+- jeśli chcemy móc by akceptowano dowolna liczbę powtórzeń ale większa od zera. |-pozwala podać alternatywne wzorce do wyszukiwania
co oznaczają w wyrażeniach regularnych sekwencje znaków'(?=…)'i'(?<=…)'
`(?=…)'pozwala znaleźć takie ciągi po których następuje podany ciąg, `(?<=..)' pozwala znalesc takie ciągi które poprzedza podany ciąg.
jakie sekwencje znaków w wyrażeniach regularnych oznaczają :
Znaki białe- `\s', granica słów- '\B'- dwie cyfry-znak inny niż `a'
W jaki sposób tworzy się grupy w wyrażeniach regularnych? Jak odwołać się do poszczególnych grup w rezultacie funkcji serach modułu Re?
Metoda start i end zwracając poczatek i koniec pasującego do wzorca fragmentu napisu który z kolei zwracany jest przez metodę group wywołana z parametrem 0(kolejne liczby naturalne zwracają kolejne grupy wyrażenia regularnego)
7.WYKORZYSTANIE MOŻLIWOŚCI SYTEMU OPERACYJNEGO:
Jak ustalić i jak zmienić aktualny katalog dyskowy
Aby sprawdzić w jakim działamy obecnie katalogu dyskowym używamy funkcji getcwd() , aby zmienić bieżący katalog dyskowy na inny używamy funkcji chdir(nowy katalog).
Do czego służy funkcja glob z modułu glob?
Funkcja glob ma zbliżony charakter do funkcji fnmatch czyli filtruje pliki i katalogi według określonego wzorca. Ścieżki do znalezionych obiektów dyskowych zwracane są w takiej postaci jak podano we wzorcu.
Jak sprawdzić czy dany obiekt dyskowy istnieje czy jest plikiem czy katalogiem?
Funkcja path.isfile - sprawdza czy dany obiekt dyskowy jest plikiem
Funkcja path.isdir - sprawdza czy dany obiekt dyskowy jest katalogiem
Funkcja path.ismount - sprawdza czy dany obiekt dyskowy jest dyskiem
Do czego służy funkcja „walk” z systemu „os”:
Funkcja „walk” służy do rekurencyjnego przechodzenia podanego katalogu wraz ze wszystkimi jego podkatalogami.
Jak uruchomić w programie inny program napisany w Pythonie?
Inny program napisany w Pythonie można uruchomić za pomocą funkcji execfile(nazwa_programu)
Co robią i czym różnią się od siebie funkcje system, startfile, spawnl i excel?
Startfile - dzięki niemu można otworzyć kilka programów nie zamykając IDLE w którym możemy wydawać polecenia
Spawln- pozwala na przekierowanie parametrów do uruchamiania programu , pozwala na uruchomienie jedynie rzeczywistych programów ( nie dokumentów ) oraz wymaga podania ścieżki dostępu do plików nie znajdujących się w aktualnym katalogu
Excel - dzięki niemu możemy wraz z wywołaniem nowego programu (kolejnego) zakończyć własny program
Jak odczytać wynik działania programu konsolowego? Podaj przykład użycia.
Taką możliwość zapewnia funkcja „popen”. Zwraca ona obiekt plikowy czytając z którego otrzymujemy rezultat działania wywołanego programu.
Przykład : print popen(„dir tcl”).read()
Wolumin w stacji c nie ma etykiety
Numer seryjny woluminu : …………..
W jaki sposób otworzyć w przeglądarce dowolną stronę internetową?
Dostęp do przeglądarki internetowej umożliwia moduł webbrowser.
Np. >>> import webbrowser
>>>webbrowser.open(`http://www.us.szc.pl')
Do czego służy funkcja urlopem?
Funkcja ta służy do jednorazowego załadowania strony do pamięci za pomocą funkcji urlopen która zwraca obiekt plikowy powiązany z podanym adresem URL.
Do czego służy moduł CGIHTTPServer ?
Służy do automatycznego generowania dokumentów HTML poprzez interfejs CGI
Na czym polega programowanie sterowane zdarzeniami?
W jaki sposób otworzyć okno korzystające z modułu Tkinker ?
From import tkinker *
Okno = tk ()
Etykieta = Label (okno, text=Hej!)
Etykieta.pack()
Okno.mainloop()
W jaki sposób automatycznie dopasować wielkość kontrolki do dostępnego miejsca?
Nadanie „expand” wartości YES nakazuje powiększenie kontrolki w przypadku zmiany rozmiaru okna
Wymień i krótko opisz pięć typów kontrolek dostępnych w module Tkinter?
1.side - strona okna po której zostanie umieszczona kontrolka
2.expand - czy kontrolka ma powiększać się w przypadku zmiany rozmiaru okna
3.fill - w których kierunkach kontrolka może się powiększyć
4.anachor - punkty zakotwiczenia kontrolki
5.padx/pady - odstępy poziomy i pionowy
W jaki sposób przypisać funkcję do obsługi zdarzenia dla określonej kontrolki ?
Np. funkcja zamknij - dla dowolnego klawisza
Okno.bind(„<Any-KeyPress>”, zamknij) umieszczamy bezpośrednio pod linią
Przycisk.bind(„<Buton-1>”,zamknij)
Jak opisuje się rodzaj zdarzenia w module Tkinter? Wymień i krótko opisz pięć typów zdarzeń obsługiwanych przez moduł Tkinter
Activate - aktywowanie - Fokus in - wejście do kontrolki
Button - wciśniety przycisk myszy - Fokus out - wyjście z kontrolki
Configure - zmiana rozmiaru - KeyRelase - zwolnienie klawisza
Destroy - usunięcie - Motion - ruch wskaźnika myszy
Expose - odkrycie - Visibility - obiekt stał się widoczny
Opis zdarzeń ma ogólną postać <modyfikator - typ - szczegóły > z których tylko typ jest zawsze wymagany. Szczegóły dookreślają o jakie zdarzenie chodzi.
Do czego służy metoda grid kontrolek?
Metoda ta dzieli obszar wyświetlania na pół
Jaka kontrolka służy do rysowania dowolnych kształtów?
Wykorzystujemy w nim komponent Canvas, którego jedną metodą jest create_line(x,y,xm,ym) rysując linie z punktu współrzędnych x,y do punktów współrzędnych xm,ym
W jaki sposób wyświetlić okienko z informacja dla użytkownika?
Moduł tkMessageBox zawiera informacje służące do wyświetlania okienek.
Jak definiuje się menu główne aplikacji korzystając z modułu TKINTER?
From Tkinter import, okno=tk(), etykieta=label(okno, text='Hej'), etykieta.pack(), okno.mainloop()