Informacje dla studentów >> Wprowadzenie do programowania >>

II zestaw zaliczeniowy


Numer zadania Treść zadania
1 Należy napisać program do analizy wyników gry w "kółko i krzyżyk". Program ma operować na plikach. Niech pliki wejściowe zawierają następujące dane dotyczące gry w "kółko i krzyżyk" (na planszy 3x3):
- liczbę graczy (graczy oznaczamy literami A, B, C, D, ...) - maksimum 10 graczy,
- liczbę rozegranych przez wszystkich graczy partii - maksimum 70 partii,
- dla każdej partii: kto grał, czym ('o' lub 'x') oraz wypełnioną planszę gry.
Dodatkowe uwagi, jakie musi uwzględnić program przy analizie poprawności danych są następujące: gracz nie może rozegrać partii z samym sobą, jedna para graczy może rozegrać z sobą więcej niż jedną partię.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program na podstawie wypełnionych plansz punktuje graczy: za wygraną partię gracz dostaje 1 punkt, za partię nierozstrzygniętą / remis oraz przegraną - 0 punktów. Po przeanalizowaniu wszystkich partii punkty każdego gracza są sumowane (na starcie każdy gracz ma 0 punktów). Następnie program szereguje graczy według zdobytych punktów (od najlepszego do najgorszego) i pyta czy zapisać dane do pliku. Jeśli tak, to prosi użytkownika o podanie nazwy nowego pliku i w tym pliku zapisuje uszeregowanie graczy wraz ze zdobytymi przez nich punktami. Jeśli nie dane są wyświetlane na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
2 Należy napisać program do analizy komunikacji autobusowej w mieście. Program ma operować na plikach. Pliki wejściowe zawierają następujące dane dotyczące rozkładu jazdy autobusów miejskich:
- ile linii autobusowych poprowadzonych jest w mieście - maksimum 5 linii,
- dla każdej linii znane są: długość trasy od pętli początkowej do końcowej (w minutach) - maksimum 120 minut,
o której godzinie wyrusza pierwszy kurs i po której kończy się ostatni, co ile minut z pętli wyrusza kolejny autobus (odstęp czasowy jest stały przez cały dzień i jest taki sam dla pętli początkowej i końcowej).
Zakładamy, że od poniedziałku do soboty obowiązuje jeden rozkład, natomiast w niedziele i święta drugi. Zatem powyższe dane (oprócz pierwszej) muszą być podane w dwóch wersjach: dla niedzieli i dni roboczych. O tej samej godzinie wyrusza autobus z pętli początkowej i autobus z pętli końcowej. Autobus po przyjeździe na pętlę może od razu wyruszyć w trasę.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program oblicza ile autobusów potrzebnych jest na każdej linii w dni robocze i w niedziele oraz podaje ile autobusów potrzebuje miasto do obsługi wszystkich linii (nie uwzględniamy dodatkowych pojazdów awaryjnych). Dla każdego autobusu należy też obliczyć ile czasu dziennie jest wykorzystywany. Autobus może kursować bez przerwy. Wyniki są zapisywane w pliku wyjściowym, którego nazwę podaje użytkownik. Jeśli użytkownik nie chce zapisać danych w pliku program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
3 Należy napisać program wykonujący szereg obliczeń na macierzach. Program powinien operować na plikach. Pliki wejściowe zawierają następujące dane dotyczące macierzy kwadratowych:
- liczbę macierzy zdefiniowanych w pliku - maksimum 5 macierzy,
- dla każdej macierzy: rozmiar macierzy - maksimum 10, elementy macierzy - liczby całkowite z przedziału (-128, 127).
Dla każdej macierzy należy obliczyć sumę elementów leżących na głównej przekątnej. Ponadto proszę obliczyć sumy elementów w wierszach i kolumnach, wyznaczyć wiersz  o najmniejszej sumie elementów i kolumnę o największej sumie elementów.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
4 Należy napisać program służący do obliczeń walutowych. Program powinien operować na plikach danych. Pliki wejściowe zawierają następujące dane dotyczące kursów walut NBP:
- liczbę różnych walut - maksimum 10 walut,
- liczbę dni, w których przeprowadzamy analizę kursu walut (7-31),
- dla każdej waluty kursy z każdego dnia.
Należy dla każdej waluty obliczyć średni kurs (średnia arytmetyczna) z wszystkich dni oraz określić stabilność kursu (tj. obliczyć maksymalne odchylenie kursu waluty od jej kursu średniego, dla ostatniego dnia obliczyć o ile procent spadł / wzrósł kurs danej waluty w stosunku do dnia pierwszego). Następnie należy uszeregować waluty malejąco według stabilności kursu. W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.  Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
5 Należy napisać program do analizy danych ankietowych. Program ma operować na plikach. Pliki wejściowe zawierają wyniki ankiety dotyczącej oglądalności programu "Druciane Paputki" wśród dorosłych:
- liczbę ankietowanych osób - maksimum 500,
- dla każdego ankietowanego: płeć (K - kobieta, M - mężczyzna), wykształcenie (P - podstawowe, S - średnie, W - wyższe), czy posiada dzieci (T - tak, N - nie), czy ogląda "Druciane Paputki" (T, N).
Należy wykonać obliczenia statystyczne: jaki procent dorosłych ogląda program, jaki procent kobiet / mężczyzn ogląda program, jaki procent rodziców ogląda program, jaki procent osób z wykształceniem podstawowym/ średnim/ wyższym ogląda program, jaki procent matek / ojców z wykształceniem podstawowym/ średnim/ wyższym ogląda program (itp.). W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
6 Proszę napisać program do analizy wyników wyborczych. W pewnym okręgu przeprowadzono wybory, do których startowało n kandydatów. Każdy z wyborców mógł oddać głos tylko na jednego kandydata. Głosy zebrano w plikach wejściowych, które zawierają następujące dane:
- plik A: liczba i nazwiska osób kandydujących w wyborach (maksimum 10 kandydatów),
- plik B: liczbę oddanych głosów (maksimum 1000 głosów), odwzorowanie głosu oddanego przez wyborcę.
Należy wyeliminować głosy nieważne (wyborca oddał głos na więcej niż jednego kandydata lub nie głosował na nikogo). Następnie obliczyć ile głosów oddano na każdego kandydata, jaki procent głosów otrzymał każdy kandydat (100% głosów = wszystkie głosy, również nieważne), ile było głosów nieważnych i jaki stanowią procent. Należy uszeregować kandydatów wg otrzymanej liczby głosów (malejąco). W programie użytkownik jest pytany o nazwę plików z danymi. Po jej podaniu plikin są otwierane (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
7 Należy napisać program służący do obsługi danych z książki adresowej. Program powinien działać na podstawie danych odczytywanych (i zapisywanych) z (do) plików. Pliki wejściowe zawierają listę znajomych osób i następujące dane:
- liczbę osób na liście - maksimum 50 osób,
- dla każdej osoby: nazwisko, numer telefonu domowego, numer kierunkowy,
- liczbę miast - maksimum 20,
- listę miast z numerami kierunkowymi.
Należy uszeregować osoby alfabetycznie według nazw miast, z których pochodzą, a w ramach miasta - według nazwisk. Jeśli jakiś wpis na liście powtarza się (to samo nazwisko i te same numery telefonów), to na liście uporządkowanej wpis ma się pojawić tylko raz. W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program szereguje i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje uszeregowanie. Jeśli użytkownik nie chce zapisywać listy program wyświetla ją na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
8 Należy napisać program umożliwiający obsługę transakcji w hurtowni owoców. Program operuje na danych pobieranych z pliku wejściowego, który zawiera następujące dane dotyczące hurtowni owoców:
- liczba gatunków owoców rozprowadzanych przez hurtownię- maksymalnie 20,
- dla każdego gatunku owoców cenę za 1 kg w zależności od zamawianej ilości (3 przedziały cenowe: <200 kg, 200-500 kg, >500 kg),
- liczbę klientów obsługiwanych przez hurtownię- maksymalnie 50,
- zamówienia od klientów (ile różnych gatunków, jaki gatunek, w jakiej ilości).
Po odczytaniu danych należy obliczyć ile każdy klient zapłaci za każdy zakupiony gatunek owoców, ile klient zapłaci łącznie. Ponadto program powinien obliczać ile zarobi hurtownia na każdym gatunku owoców i ile zarobi łącznie za cały sprzedany towar.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
9 Proszę napisać program służacy do obliczania stypendium dla studentów z pewnej grupy. Program powinien odczytywać dane z plików zawierających następujące informacje:
- liczność grupy studentów - maksymalnie 100,
- dla każdego studenta: oceny na koniec semestru z 10-ciu przedmiotów (skala 2-5),
   oraz informacja czy otrzymuje stypendium socjalne (T - tak, N - nie),
- ustalona odgórnie wysokość stypendium socjalnego,
- ustalona wysokość stypendium naukowego dla 2 progów (4.2 - 4.6, >4.6),
- maksymalna i minimalna stawka, jaką może jednorazowo otrzymać student (minimum = minimum naukowe).
Należy obliczyć średnią ocen każdego studenta i uszeregować studentów malejąco według średniej. Dla studentów, którzy otrzymują stypendium należy obliczyć jego wysokość. W przypadku otrzymywania 2 stypendiów kwoty sumują się, ale student nie może otrzymać więcej niż wynosi maksymalna stawka (jeśli suma jest większa od stawki otrzyma tyle, ile wynosi stawka). W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane w pliku to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki obliczeń. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
10 Należy napisać program, który wykonuje obliczenia dotyczące godzin pracy oraz należnego urlopu dla pracownika naukowego. Program operuje na danych odczytanych z plików. Pliki te zawierają dane dotyczące rozliczenia pracownika naukowego za rok pracy. Dla każdego miesiąca podano:
- ile dni spędził na delegacji (dzień delegacji = 8 godzin zegarowych),
- ile miał godzin zajęć dydaktycznych (godzina dydaktyczna = 45 minut),
- ile godzin spędził na pracy badawczej (godzina pracy naukowej = 60 minut),
- ile godzin wykonywał inne prace (np. administracyjne; godzina innych prac = 60 minut),
- ile miał dni urlopu.
Ponadto w pliku zapisano ile maksymalnie dni urlopu przysługuje pracownikowi w roku. Należy obliczyć dla każdego miesiąca ile godzin (zegarowych) pracownik spędził pracując. Ile łącznie przepracował w roku. Ile godzin zegarowych spędził w roku na delegacji, pracy dydaktycznej, pracy badawczej, innych pracach i ile miał urlopu oraz czy wykorzystał roczny urlop (ewentualnie ile dni zostało lub ile jest na minusie). W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
11 Proszę napisać program, który realizuje obliczenia związane z miesięczym (30-dniowym) rozliczeniem rozmów abonenta telefonu stacjonarnego. Program operuje na danych odczytywanych z dwóch plików. Plik wejściowy abonenta zawiera następujące dane:
- numer telefonu abonenta,
- całkowitą liczbę połączeń wychodzących w miesiącu rozliczeniowym,
- dla każdego połączenia: datę i godzinę połączenia, numer docelowy, czas trwania połączenia.
Drugi plik wejściowy zawiera następujące dane operatora sieci telefonicznej dotyczące trzech taryf:
- granice przedziałów czasowych dla różnych taryf (np. 0:00-6:00, 6:01-17:00, 17:01-23:59).
- opłata za każdą rozpoczętą minutę rozmowy dla każdego przedziału czasowego.
Zakładamy, że opłata za połączenia jest taka sama dla rozmów miejscowych, zamiejscowych i zagranicznych.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program oblicza:
- ile abonent zapłaci za każdy dzień miesiąca rozliczeniowego,
- ile abonent zapłaci łącznie za cały miesiąc,
- ile kosztowały rozmowy z każdym wybieranym numerem (należy zsumować koszty jeśli rozmów było więcej).
Ponadto program powinien uszeregować numery wybierane malejąco według całkowitego czasu połączeń z danym numerem.
Po wykonaniu obliczeń program pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
12 Proszę napisać program służacy do obliczenia zgodności diety pana Gołąbka z zaleceniami dietetyka. Program operuje na następujących danych zapisanych w pliku wejściowym:
- minimalna i maksymalna dzienna dawka kalorii ustalona przez dietetyka dla pana Gołąbka,
- liczba spożywanych przez G. produktów różnego rodzaju (maksymalnie 20),
- dla każdego produktu: liczba kalorii w 100 g produktu, nazwa produktu,
- jadłospis na 3 dni, a w nim (dla każdego dnia): ile produktów spożyto i w jakiej ilości (w gramach).
Program powinien dla każdego dnia obliczyć łączną liczbę spożywanych kalorii. Ponadto należy wyznaczyć średnią dzienną ilość kalorii i sprawdzić czy dzienna liczba kalorii (w każdym dniu) była zgodna z normą podaną przez dietetyka (tj. czy mieści się w przedziale <min,max>.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
13 Należy napisać program służący do organizowania tygodnia biznesowego Kubusia Puchatka. Program powinien operować na danych pochodzących z pliku wejściowego, który zawiera następujące informacje:
- liczbę spraw do załatwienia w tygodniu (maksymalnie 40),
- dla każdej pozycji na liście spraw podane są: dzień, godzina rozpoczęcia, przewidywany czas trwania (w minutach) oraz co jest do zrobienia. Wejściowa lista spraw nie jest uszeregowana.
Należy uporządkować listę spraw i uszeregować ją według dni, a w ramach każdego dnia - według godzin rozpoczęcia. Następnie trzeba sprawdzić, czy jakieś sprawy nie kolidują ze sobą czasowo (np. zaczynają się tego samego dnia o tej samej godzinie lub jedna sprawa zaczyna się przed zakończeniem drugiej). Jeśli istnieją takie sprawy konfliktowe, należy to zaznaczyć. Ponadto, każdego dnia Puchatek przeznacza 15 minut na małe co-nie-co w godzinach południowych (między 11:00 a 12:30). Dla każdego dnia należy sprawdzić, czy Puchatek może sobie pozwolić na co-nie-co i uwzględnić to w planie dnia.
W programie użytkownik jest pytany o nazwę pliku z danymi. Po jej podaniu plik jest otwierany (proszę tutaj użyć instrukcji try...except...) i program odczytuje dane. Następnie program wykonuje obliczenia i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
14 Należy napisać program wykonujący podstawowe operacje na zbiorach matematycznych. W programie użytkownik jest pytany o nazwę pliku z danymi wejściowymi. Po jej podaniu plik jest otwierany (proszę użyć instrukcji try...except...) i program odczytuje dane. Plik wejściowy zawiera nazwy n zbiorów oraz elementy każdego zbioru, przy czym n<=10, nazwa zbioru jest dowolną kombinacją znaków, elementy zbioru są pojedynczymi znakami lub łańcuchami 2-10 znaków (znakami mogą być cyfry, litery i znaki interpunkcyjne). Następnie program oblicza sumę, przecięcie oraz różnicę zbiorów i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.
15 Proszę napisać program do prostego szyfrowania. Program operuje na dwóch plikach wejściowych. Jeden z nich zawiera prosty szyfr, w którym każdą literę alfabetu (tylko małe litery a-z) zamienia się na inny znak. W drugim pliku wejściowym znajdują się następujące informacje:
- informacja czy jest to plik zaszyfrowany czy rozszyfrowany,
- informacja wg jakiego szyfru należy go rozszyfrować/ zaszyfrować (podaje się po prostu nazwę pliku zawierającego szyfr),
- treść wiadomości (max 250 znaków).
W programie użytkownik jest pytany o nazwę pliku z wiadomością. Po jej podaniu plik jest otwierany (proszę użyć instrukcji try...except...) i program odczytuje dane. Następnie program szyfruje lub rozszyfrowuje wiadomość z pliku według wskazanego szyfru i pyta użytkownika czy zapisać wyniki w pliku. Jeśli użytkownik chce zapisać dane to program prosi o podanie nazwy pliku i w tym pliku zapisuje wyniki. Jeśli użytkownik nie chce zapisywać wyników program wyświetla je na ekranie.
Uwaga do zapisywania danych: Jeśli użytkownik chce zapisać dane w pliku, który już istnieje program ma pytać czy dane mają być nadpisane czy dołączone do istniejącego pliku, a następnie odpowiednio zapisywać.
Funkcje służące do analizy i obliczeń należy umieścić bibliotece DLL.