From dd13d87facbc6478fe75583539bbd696b1e48ef5 Mon Sep 17 00:00:00 2001 From: materus Date: Thu, 15 May 2025 15:15:45 +0200 Subject: [PATCH] README.md --- Podstawy Programowania I/README.md | 364 ++++++++++++++++------------- 1 file changed, 196 insertions(+), 168 deletions(-) diff --git a/Podstawy Programowania I/README.md b/Podstawy Programowania I/README.md index 38e5ffa..1c62538 100644 --- a/Podstawy Programowania I/README.md +++ b/Podstawy Programowania I/README.md @@ -1,111 +1,89 @@ ---- -author: Mateusz Słodkowicz -lang: pl -title: Podstawy Programowania I ---- +Zadania/Ćwiczenia z przedmiotu Podstawy Programowania I -```{=org} -#+export_file_name: ../Podstawy Programowania I/README.md -``` -```{=org} -#+pandoc_options: lua-filter:fix.lua -``` -Zadania/Ćwiczenia z przedmiotu Podstawy Programowania I # Zadania 1 + ## Zadanie 1 -Napisz program, który zapyta użytkownika o liczbę chłopców i dziewcząt -zapisanych do klasy.\ -Program powinien wyświetlać wartość procentową chłopców i dziewcząt w -klasie. +Napisz program, który zapyta użytkownika o liczbę chłopców i dziewcząt zapisanych do klasy. +Program powinien wyświetlać wartość procentową chłopców i dziewcząt w klasie. + +[C++](Zadanie 1.1/zadanie1.cpp) -[C++](Zadanie%201.1/zadanie1.cpp) ## Zadanie 2 -Kino przechowuje tylko pewien procent przychodu ze sprzedaży biletów. -Reszta trafia do\ -dystrybutora. Napisz program obliczający dochód kina i zysk kasy -biletowej za dzień. +Kino przechowuje tylko pewien procent przychodu ze sprzedaży biletów. Reszta trafia do +dystrybutora. Napisz program obliczający dochód kina i zysk kasy biletowej za dzień. -Załóż, że kino zatrzymuje 20% zysku kasy biletowej +Załóż, że kino zatrzymuje 20% zysku kasy biletowej -Program powinien pytać ile zostało sprzedanych biletów dla dzieci i -dorosłych. (Cena biletu dla\ -dorosłych wynosi 10 zł, a dla dziecka 6 zł). Wyświetlony powinien zostać -komunikat podobny do\ -poniższego: +Program powinien pytać ile zostało sprzedanych biletów dla dzieci i dorosłych. (Cena biletu dla +dorosłych wynosi 10 zł, a dla dziecka 6 zł). Wyświetlony powinien zostać komunikat podobny do +poniższego: -``` example -Sprzedane bilety dla dorosłych: + Sprzedane bilety dla dorosłych: + + Sprzedane bilety dla dzieci: + + Zysk kasy brutto: + + Zysk kasy netto: + + Kwota zapłacona dystrybutorowi: -Sprzedane bilety dla dzieci: +[C++](./Zadanie 1.1/zadanie2.cpp) -Zysk kasy brutto: - -Zysk kasy netto: - -Kwota zapłacona dystrybutorowi: -``` - -[C++](./Zadanie%201.1/zadanie2.cpp) ## Zadanie 3 -Zadeklarować trzy zmienne typu całkowitego. Wczytać dane. Obliczyć sumę -tych liczb, ich średnią\ -arytmetyczną i średnią harmoniczną. Wyświetlić wyniki. +Zadeklarować trzy zmienne typu całkowitego. Wczytać dane. Obliczyć sumę tych liczb, ich średnią +arytmetyczną i średnią harmoniczną. Wyświetlić wyniki. + +[C++](./Zadanie 1.1/zadanie3.cpp) -[C++](./Zadanie%201.1/zadanie3.cpp) ## Zadanie 4 -Rowerzysta pokonuje drogę o długości d w trzech etapach. Przez d -oznaczono całą długość drogi\ -przebytej przez rowerzystę. Przebyta droga i średnia prędkość w -kolejnych etapach: +Rowerzysta pokonuje drogę o długości d w trzech etapach. Przez d oznaczono całą długość drogi +przebytej przez rowerzystę. Przebyta droga i średnia prędkość w kolejnych etapach: -``` example -etap I 0,2 d 10 m/s + etap I 0,2 d 10 m/s + + etap II 0,5 d 5 m/s + + etap III 0,3 d 10 m/s -etap II 0,5 d 5 m/s +Należy napisać program obliczający całkowity czas jazdy rowerzysty. Wyniki przeliczyć na godziny, +minuty, sekundy. +Wczytać długość drogi d, wyświetlić wyniki. -etap III 0,3 d 10 m/s -``` +[C++](./Zadanie 1.1/zadanie4.cpp) -Należy napisać program obliczający całkowity czas jazdy rowerzysty. -Wyniki przeliczyć na godziny,\ -minuty, sekundy.\ -Wczytać długość drogi d, wyświetlić wyniki. - -[C++](./Zadanie%201.1/zadanie4.cpp) # Zadania 2 -Uwagi: +Uwagi: -- Wszystkie zadania powinny być w jednym programie, kolejne zadania - oddzielone liniami komentarza.\ -- Program powinien czytelne wczytywanie danych i czytelne wypisywanie - wyników.\ -- W obliczeniach nie należy korzystać z funkcji pow()\ -- Stała pi -- M~PI~ należy dołączyć bibliotekę matematyczną #include - \ +- Wszystkie zadania powinny być w jednym programie, kolejne zadania oddzielone liniami komentarza. +- Program powinien czytelne wczytywanie danych i czytelne wypisywanie wyników. +- W obliczeniach nie należy korzystać z funkcji pow() +- Stała pi – MPI należy dołączyć bibliotekę matematyczną #include + +[C++](./Zadanie 1.2/zadanie.cpp) -[C++](./Zadanie%201.2/zadanie.cpp) ## Zadanie 1 -Wczytać dwie liczby typu całkowitego (x, y) i wypisać, która liczba jest -większa a może są takie same.\ -Sprawdzić czy x jest liczbą nieparzystą. Wypisać odpowiedni komunikat.\ -Nie wykonywać działań, kiedy pierwsza wczytana liczba będzie zerem. +Wczytać dwie liczby typu całkowitego (x, y) i wypisać, która liczba jest większa a może są takie same. +Sprawdzić czy x jest liczbą nieparzystą. Wypisać odpowiedni komunikat. +Nie wykonywać działań, kiedy pierwsza wczytana liczba będzie zerem. + ## Zadanie 2 -Obliczyć wartość funkcji określonej wzorem: +Obliczyć wartość funkcji określonej wzorem: $$ \large y(x) = \begin{cases} @@ -113,143 +91,193 @@ $$ \frac{1}{sin(x) + 3} & \text{dla x ∈ (0, 4>} \\\\ -2x/3 & \text{dla pozostałych} \end{cases} -$$ +$$ + +Dane: x – typu rzeczywistego -Dane: x -- typu rzeczywistego ## Zadanie 3 -Napisać program pozwalający obliczyć +Napisać program pozwalający obliczyć -1. Objętość kuli (dane: R -- promień kuli)\ -2. Objętość walca (dane: promień podstawy walca, h -- wysokość walca)\ -3. Objętość stożka (dane: R -- promień podstawy stożka, h -- wysokość - stożka) +1. Objętość kuli (dane: R – promień kuli) +2. Objętość walca (dane: promień podstawy walca, h – wysokość walca) +3. Objętość stożka (dane: R – promień podstawy stożka, h – wysokość stożka) + +W programie należy użyć struktury wielokrotnego wyboru switch. +Obliczoną wartość wypisać na ekranie. -W programie należy użyć struktury wielokrotnego wyboru switch.\ -Obliczoną wartość wypisać na ekranie. ## Zadanie 4 -Firma kurierska pobiera opłaty zgodnie z poniższym cennikiem: +Firma kurierska pobiera opłaty zgodnie z poniższym cennikiem: - Waga paczki Opłata za każde 100 km (zł) - ------------------------------------------ ----------------------------- - 2 kg lub mniej 5,30 - Powyżej 2 kg, lecz nie więcej niż 6 kg 6,20 - Powyżej 6 kg, lecz nie więcej niż 10 kg 7,70 - Powyżej 10 kg, lecz nie więcej niż 20 kg 10,80 + + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Waga paczkiOpłata za każde 100 km (zł)
2 kg lub mniej5,30
Powyżej 2 kg, lecz nie więcej niż 6 kg6,20
Powyżej 6 kg, lecz nie więcej niż 10 kg7,70
Powyżej 10 kg, lecz nie więcej niż 20 kg10,80
+ +Napisz program, który prosi o wpisanie wagi paczki i odległości, jaką musi przebyć przesyłka, a następnie wyświetli cenę. +Weryfikacja poprawności wprowadzanych danych: program nie powinien przyjmować wagi paczki mniejszej lub równej 0 kg ani powyżej 20 kg (to największa waga paczki, jaką może przyjąć firma). -Napisz program, który prosi o wpisanie wagi paczki i odległości, jaką -musi przebyć przesyłka, a następnie wyświetli cenę.\ -Weryfikacja poprawności wprowadzanych danych: program nie powinien -przyjmować wagi paczki mniejszej lub równej 0 kg ani powyżej 20 kg (to -największa waga paczki, jaką może przyjąć firma). # Zadania 3 -Uwagi: +Uwagi: -- Wszystkie punkty powinny być realizowane w jednym programie.\ -- W programie należy użyć pętli for, while, do while. Nie powinno być - w programie pętli nieskończonych. Nie\ - należy używać tablic. Nie używać funkcji pow\ -- Czytelność komunikatów. Komunikaty powinny być krótkie, ale tak - sformułowane, żeby nie było\ +- Wszystkie punkty powinny być realizowane w jednym programie. +- W programie należy użyć pętli for, while, do while. Nie powinno być w programie pętli nieskończonych. Nie + należy używać tablic. Nie używać funkcji pow +- Czytelność komunikatów. Komunikaty powinny być krótkie, ale tak sformułowane, żeby nie było wątpliwości, które zadanie jest wykonywane. -[C++](./Zadanie%201.3/zadanie.cpp) +[C++](./Zadanie 1.3/zadanie.cpp) + ## Zadanie 1 -Funkcja, który wyświetli tabliczkę mnożenia liczb od 1 do n w -następującej postaci +Funkcja, który wyświetli tabliczkę mnożenia liczb od 1 do n w następującej postaci - 1 2 3 - --- --- --- --- - 1 1 2 3 - 2 2 4 6 - 3 3 6 9 + + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 123
1123
2246
3369
+ +n – należy wczytać, n <1, 10>. +W tym przypadku n = 3. -n -- należy wczytać, n \<1, 10\>.\ -W tym przypadku n = 3. ## Zadanie 2 -Funkcja, która oblicza i zwraca średnią kilku liczb całkowitych przy -założeniu, że ostatnia wczytana wartość\ -jest znacznikiem 0. Przykładowa seria wejściowa może być +Funkcja, która oblicza i zwraca średnią kilku liczb całkowitych przy założeniu, że ostatnia wczytana wartość +jest znacznikiem 0. Przykładowa seria wejściowa może być -``` example -10 8 11 7 9 0 -``` + 10 8 11 7 9 0 + +wskazując, że ma być wyliczona średnia wartości poprzedzających 0. -wskazując, że ma być wyliczona średnia wartości poprzedzających 0. ## Zadanie 3 -Funkcja, który oblicza i zwraca sumę S określoną wzorem: +Funkcja, który oblicza i zwraca sumę S określoną wzorem: $$ \large {S = \sum^{m}_{k=0}} \frac{1+j}{2j^3 + 3} -$$ +$$ + +Dane: m -Dane: m ## Zadanie 4 -Ten punkt powinien działać w pętli, bez funkcji\ -Napisz program obliczający obłożenie hotelu. Program powinien -wystartować, pytając użytkownika o\ -nazwę hotelu i liczbę pięter w hotelu. Pętla powinna iterować raz na -każde piętro. W każdej iteracji pętla\ -powinna zapytać użytkownika o liczbę pokoi na piętrze i liczbę pokoi -zajętych.\ -Po wszystkich iteracjach program powinien wyświetlić, ile pokoi ma -hotel, ile z nich jest zajętych, a ile wolnych oraz procent, jaki\ -stanowią zajęte pokoje.\ -UWAGA. Zdarza się, że w część hoteli nie ma trzynastego piętra (może to -być inny numer piętra).\ -Pętla w tym programie powinna pomijać iteracje na tym piętrze.\ -Weryfikacja poprawności wprowadzanych danych: Nie akceptuj liczby -mniejszej niż 1 dla liczby pięter.\ -Nie akceptuj liczby mniejszej niż 5 dla liczby pokoi na piętrze. +Ten punkt powinien działać w pętli, bez funkcji +Napisz program obliczający obłożenie hotelu. Program powinien wystartować, pytając użytkownika o +nazwę hotelu i liczbę pięter w hotelu. Pętla powinna iterować raz na każde piętro. W każdej iteracji pętla +powinna zapytać użytkownika o liczbę pokoi na piętrze i liczbę pokoi zajętych. +Po wszystkich iteracjach program powinien wyświetlić, ile pokoi ma hotel, ile z nich jest zajętych, a ile wolnych oraz procent, jaki +stanowią zajęte pokoje. +UWAGA. Zdarza się, że w część hoteli nie ma trzynastego piętra (może to być inny numer piętra). +Pętla w tym programie powinna pomijać iteracje na tym piętrze. +Weryfikacja poprawności wprowadzanych danych: Nie akceptuj liczby mniejszej niż 1 dla liczby pięter. +Nie akceptuj liczby mniejszej niż 5 dla liczby pokoi na piętrze. + # Projekt 1 -Napisz program, który pozwala użytkownikowi zagrać z komputerem w grę -kamień, papier, nożyce.\ -Użytkownik powinien mieć możliwość rozegrania kilku rund.\ -Program powinien działać następująco: +Napisz program, który pozwala użytkownikowi zagrać z komputerem w grę kamień, papier, nożyce. +Użytkownik powinien mieć możliwość rozegrania kilku rund. +Program powinien działać następująco: -1. Kiedy program zostaje uruchomiony, generowana jest liczba losowa od - 1 do 3. Jeśli tą liczbą\ - jest 1, to oznacza, że komputer wybrał kamień. Jeśli tą liczbą jest - 2, to komputer wybrał\ - papier. Jeśli tą liczbą jest 3,to komputer wybrał nożyce (nie - wyświetlaj jeszcze wyboru\ - komputera).\ -2. Użytkownik wprowadza swój wybór: „kamień", „papier" albo „nożyce" na - klawiaturze.\ -3. Wyświetlany jest wybór komputera.\ -4. Zwycięzca jest wybierany na podstawie następujących zasad: - - Jeśli jeden gracz wybierze kamień, a drugi nożyce, to wygrywa - kamień\ - (kamień tępi nożyce).\ - - Jeśli jeden gracz wybierze nożyce, a drugi papier, to wygrywają - nożyce\ - (nożyce przecinają papier).\ - - Jeśli jeden gracz wybierze papier, a drugi kamień, to wygrywa - papier\ - (papier owija kamień).\ - - Jeśli obaj gracze wybiorą ten sam ruch, to rozgrywka musi zostać - powtórzona, aby\ - wyłonić zwycięzcę.\ +1. Kiedy program zostaje uruchomiony, generowana jest liczba losowa od 1 do 3. Jeśli tą liczbą + jest 1, to oznacza, że komputer wybrał kamień. Jeśli tą liczbą jest 2, to komputer wybrał + papier. Jeśli tą liczbą jest 3,to komputer wybrał nożyce (nie wyświetlaj jeszcze wyboru + komputera). +2. Użytkownik wprowadza swój wybór: „kamień”, „papier” albo „nożyce” na klawiaturze. +3. Wyświetlany jest wybór komputera. +4. Zwycięzca jest wybierany na podstawie następujących zasad: + - Jeśli jeden gracz wybierze kamień, a drugi nożyce, to wygrywa kamień + (kamień tępi nożyce). + - Jeśli jeden gracz wybierze nożyce, a drugi papier, to wygrywają nożyce + (nożyce przecinają papier). + - Jeśli jeden gracz wybierze papier, a drugi kamień, to wygrywa papier + (papier owija kamień). + - Jeśli obaj gracze wybiorą ten sam ruch, to rozgrywka musi zostać powtórzona, aby + wyłonić zwycięzcę. -Program powinien być napisany z wykorzystaniem poznanych instrukcji -języka.\ -Program można rozbudować, dodając nowe opcje lub dokonać innych zmian. -Należy wtedy dołączyć\ -krótki opis programu. +Program powinien być napisany z wykorzystaniem poznanych instrukcji języka. +Program można rozbudować, dodając nowe opcje lub dokonać innych zmian. Należy wtedy dołączyć +krótki opis programu. + +[C++](./Projekt1/main.cpp) -[C++](./Projekt1/main.cpp)