README.md

This commit is contained in:
Mateusz Słodkowicz 2025-05-15 15:13:29 +02:00
parent e37cf6b784
commit cc3e07e17c
Signed by: materus
GPG Key ID: 28D140BCA60B4FD1
1 changed files with 81 additions and 75 deletions

View File

@ -4,6 +4,12 @@ lang: pl
title: Podstawy Programowania I title: 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/Ćwiczenia z przedmiotu Podstawy Programowania I
# Zadania 1 # Zadania 1
@ -11,7 +17,7 @@ Zadania/Ćwiczenia z przedmiotu Podstawy Programowania I
## Zadanie 1 ## Zadanie 1
Napisz program, który zapyta użytkownika o liczbę chłopców i dziewcząt Napisz program, który zapyta użytkownika o liczbę chłopców i dziewcząt
zapisanych do klasy. zapisanych do klasy.\
Program powinien wyświetlać wartość procentową chłopców i dziewcząt w Program powinien wyświetlać wartość procentową chłopców i dziewcząt w
klasie. klasie.
@ -20,16 +26,16 @@ klasie.
## Zadanie 2 ## Zadanie 2
Kino przechowuje tylko pewien procent przychodu ze sprzedaży biletów. Kino przechowuje tylko pewien procent przychodu ze sprzedaży biletów.
Reszta trafia do Reszta trafia do\
dystrybutora. Napisz program obliczający dochód kina i zysk kasy dystrybutora. Napisz program obliczający dochód kina i zysk kasy
biletowej za dzień. 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 Program powinien pytać ile zostało sprzedanych biletów dla dzieci i
dorosłych. (Cena biletu dla dorosłych. (Cena biletu dla\
dorosłych wynosi 10 zł, a dla dziecka 6 zł). Wyświetlony powinien zostać dorosłych wynosi 10 zł, a dla dziecka 6 zł). Wyświetlony powinien zostać
komunikat podobny do komunikat podobny do\
poniższego: poniższego:
``` example ``` example
@ -49,7 +55,7 @@ Kwota zapłacona dystrybutorowi:
## Zadanie 3 ## Zadanie 3
Zadeklarować trzy zmienne typu całkowitego. Wczytać dane. Obliczyć sumę Zadeklarować trzy zmienne typu całkowitego. Wczytać dane. Obliczyć sumę
tych liczb, ich średnią tych liczb, ich średnią\
arytmetyczną i średnią harmoniczną. Wyświetlić wyniki. arytmetyczną i średnią harmoniczną. Wyświetlić wyniki.
[C++](./Zadanie%201.1/zadanie3.cpp) [C++](./Zadanie%201.1/zadanie3.cpp)
@ -57,7 +63,7 @@ arytmetyczną i średnią harmoniczną. Wyświetlić wyniki.
## Zadanie 4 ## Zadanie 4
Rowerzysta pokonuje drogę o długości d w trzech etapach. Przez d Rowerzysta pokonuje drogę o długości d w trzech etapach. Przez d
oznaczono całą długość drogi oznaczono całą długość drogi\
przebytej przez rowerzystę. Przebyta droga i średnia prędkość w przebytej przez rowerzystę. Przebyta droga i średnia prędkość w
kolejnych etapach: kolejnych etapach:
@ -70,8 +76,8 @@ etap III 0,3 d 10 m/s
``` ```
Należy napisać program obliczający całkowity czas jazdy rowerzysty. Należy napisać program obliczający całkowity czas jazdy rowerzysty.
Wyniki przeliczyć na godziny, Wyniki przeliczyć na godziny,\
minuty, sekundy. minuty, sekundy.\
Wczytać długość drogi d, wyświetlić wyniki. Wczytać długość drogi d, wyświetlić wyniki.
[C++](./Zadanie%201.1/zadanie4.cpp) [C++](./Zadanie%201.1/zadanie4.cpp)
@ -81,20 +87,20 @@ Wczytać długość drogi d, wyświetlić wyniki.
Uwagi: Uwagi:
- Wszystkie zadania powinny być w jednym programie, kolejne zadania - Wszystkie zadania powinny być w jednym programie, kolejne zadania
oddzielone liniami komentarza. oddzielone liniami komentarza.\
- Program powinien czytelne wczytywanie danych i czytelne wypisywanie - Program powinien czytelne wczytywanie danych i czytelne wypisywanie
wyników. wyników.\
- W obliczeniach nie należy korzystać z funkcji pow() - W obliczeniach nie należy korzystać z funkcji pow()\
- Stała pi M<sub>PI</sub> należy dołączyć bibliotekę matematyczną - Stała pi -- M~PI~ należy dołączyć bibliotekę matematyczną #include
\#include \<cmath\> \<cmath\>
[C++](./Zadanie%201.2/zadanie.cpp) [C++](./Zadanie%201.2/zadanie.cpp)
## Zadanie 1 ## Zadanie 1
Wczytać dwie liczby typu całkowitego (x, y) i wypisać, która liczba jest Wczytać dwie liczby typu całkowitego (x, y) i wypisać, która liczba jest
większa a może są takie same. większa a może są takie same.\
Sprawdzić czy x jest liczbą nieparzystą. Wypisać odpowiedni komunikat. Sprawdzić czy x jest liczbą nieparzystą. Wypisać odpowiedni komunikat.\
Nie wykonywać działań, kiedy pierwsza wczytana liczba będzie zerem. Nie wykonywać działań, kiedy pierwsza wczytana liczba będzie zerem.
## Zadanie 2 ## Zadanie 2
@ -109,33 +115,33 @@ $$
\end{cases} \end{cases}
$$ $$
Dane: x typu rzeczywistego Dane: x -- typu rzeczywistego
## Zadanie 3 ## Zadanie 3
Napisać program pozwalający obliczyć Napisać program pozwalający obliczyć
1. Objętość kuli (dane: R promień kuli) 1. Objętość kuli (dane: R -- promień kuli)\
2. Objętość walca (dane: promień podstawy walca, h wysokość walca) 2. Objętość walca (dane: promień podstawy walca, h -- wysokość walca)\
3. Objętość stożka (dane: R promień podstawy stożka, h wysokość 3. Objętość stożka (dane: R -- promień podstawy stożka, h -- wysokość
stożka) stożka)
W programie należy użyć struktury wielokrotnego wyboru switch. W programie należy użyć struktury wielokrotnego wyboru switch.\
Obliczoną wartość wypisać na ekranie. Obliczoną wartość wypisać na ekranie.
## Zadanie 4 ## 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ł) | Waga paczki Opłata za każde 100 km (zł)
|------------------------------------------|-----------------------------| ------------------------------------------ -----------------------------
| 2 kg lub mniej | 5,30 | 2 kg lub mniej 5,30
| Powyżej 2 kg, lecz nie więcej niż 6 kg | 6,20 | 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 6 kg, lecz nie więcej niż 10 kg 7,70
| Powyżej 10 kg, lecz nie więcej niż 20 kg | 10,80 | Powyżej 10 kg, lecz nie więcej niż 20 kg 10,80
Napisz program, który prosi o wpisanie wagi paczki i odległości, jaką Napisz program, który prosi o wpisanie wagi paczki i odległości, jaką
musi przebyć przesyłka, a następnie wyświetli cenę. musi przebyć przesyłka, a następnie wyświetli cenę.\
Weryfikacja poprawności wprowadzanych danych: program nie powinien Weryfikacja poprawności wprowadzanych danych: program nie powinien
przyjmować wagi paczki mniejszej lub równej 0 kg ani powyżej 20 kg (to przyjmować wagi paczki mniejszej lub równej 0 kg ani powyżej 20 kg (to
największa waga paczki, jaką może przyjąć firma). największa waga paczki, jaką może przyjąć firma).
@ -144,12 +150,12 @@ największa waga paczki, jaką może przyjąć firma).
Uwagi: Uwagi:
- Wszystkie punkty powinny być realizowane w jednym programie. - Wszystkie punkty powinny być realizowane w jednym programie.\
- W programie należy użyć pętli for, while, do while. Nie powinno być w - W programie należy użyć pętli for, while, do while. Nie powinno być
programie pętli nieskończonych. Nie w programie pętli nieskończonych. Nie\
należy używać tablic. Nie używać funkcji pow należy używać tablic. Nie używać funkcji pow\
- Czytelność komunikatów. Komunikaty powinny być krótkie, ale tak - Czytelność komunikatów. Komunikaty powinny być krótkie, ale tak
sformułowane, żeby nie było sformułowane, żeby nie było\
wątpliwości, które zadanie jest wykonywane. wątpliwości, które zadanie jest wykonywane.
[C++](./Zadanie%201.3/zadanie.cpp) [C++](./Zadanie%201.3/zadanie.cpp)
@ -159,19 +165,19 @@ Uwagi:
Funkcja, który wyświetli tabliczkę mnożenia liczb od 1 do n w Funkcja, który wyświetli tabliczkę mnożenia liczb od 1 do n w
następującej postaci następującej postaci
| | 1 | 2 | 3 | 1 2 3
|-----|-----|-----|-----| --- --- --- ---
| 1 | 1 | 2 | 3 | 1 1 2 3
| 2 | 2 | 4 | 6 | 2 2 4 6
| 3 | 3 | 6 | 9 | 3 3 6 9
n należy wczytać, n \<1, 10\>. n -- należy wczytać, n \<1, 10\>.\
W tym przypadku n = 3. W tym przypadku n = 3.
## Zadanie 2 ## Zadanie 2
Funkcja, która oblicza i zwraca średnią kilku liczb całkowitych przy Funkcja, która oblicza i zwraca średnią kilku liczb całkowitych przy
założeniu, że ostatnia wczytana wartość założeniu, że ostatnia wczytana wartość\
jest znacznikiem 0. Przykładowa seria wejściowa może być jest znacznikiem 0. Przykładowa seria wejściowa może być
``` example ``` example
@ -192,58 +198,58 @@ Dane: m
## Zadanie 4 ## Zadanie 4
Ten punkt powinien działać w pętli, bez funkcji Ten punkt powinien działać w pętli, bez funkcji\
Napisz program obliczający obłożenie hotelu. Program powinien Napisz program obliczający obłożenie hotelu. Program powinien
wystartować, pytając użytkownika o wystartować, pytając użytkownika o\
nazwę hotelu i liczbę pięter w hotelu. Pętla powinna iterować raz na nazwę hotelu i liczbę pięter w hotelu. Pętla powinna iterować raz na
każde piętro. W każdej iteracji pętla każde piętro. W każdej iteracji pętla\
powinna zapytać użytkownika o liczbę pokoi na piętrze i liczbę pokoi powinna zapytać użytkownika o liczbę pokoi na piętrze i liczbę pokoi
zajętych. zajętych.\
Po wszystkich iteracjach program powinien wyświetlić, ile pokoi ma Po wszystkich iteracjach program powinien wyświetlić, ile pokoi ma
hotel, ile z nich jest zajętych, a ile wolnych oraz procent, jaki hotel, ile z nich jest zajętych, a ile wolnych oraz procent, jaki\
stanowią zajęte pokoje. stanowią zajęte pokoje.\
UWAGA. Zdarza się, że w część hoteli nie ma trzynastego piętra (może to UWAGA. Zdarza się, że w część hoteli nie ma trzynastego piętra (może to
być inny numer piętra). być inny numer piętra).\
Pętla w tym programie powinna pomijać iteracje na tym piętrze. Pętla w tym programie powinna pomijać iteracje na tym piętrze.\
Weryfikacja poprawności wprowadzanych danych: Nie akceptuj liczby Weryfikacja poprawności wprowadzanych danych: Nie akceptuj liczby
mniejszej niż 1 dla liczby pięter. mniejszej niż 1 dla liczby pięter.\
Nie akceptuj liczby mniejszej niż 5 dla liczby pokoi na piętrze. Nie akceptuj liczby mniejszej niż 5 dla liczby pokoi na piętrze.
# Projekt 1 # Projekt 1
Napisz program, który pozwala użytkownikowi zagrać z komputerem w grę Napisz program, który pozwala użytkownikowi zagrać z komputerem w grę
kamień, papier, nożyce. kamień, papier, nożyce.\
Użytkownik powinien mieć możliwość rozegrania kilku rund. Użytkownik powinien mieć możliwość rozegrania kilku rund.\
Program powinien działać następująco: Program powinien działać następująco:
1. Kiedy program zostaje uruchomiony, generowana jest liczba losowa od 1. Kiedy program zostaje uruchomiony, generowana jest liczba losowa od
1 do 3. Jeśli tą liczbą 1 do 3. Jeśli tą liczbą\
jest 1, to oznacza, że komputer wybrał kamień. Jeśli tą liczbą jest jest 1, to oznacza, że komputer wybrał kamień. Jeśli tą liczbą jest
2, to komputer wybrał 2, to komputer wybrał\
papier. Jeśli tą liczbą jest 3,to komputer wybrał nożyce (nie papier. Jeśli tą liczbą jest 3,to komputer wybrał nożyce (nie
wyświetlaj jeszcze wyboru wyświetlaj jeszcze wyboru\
komputera). komputera).\
2. Użytkownik wprowadza swój wybór: „kamień”, „papier” albo „nożyce” na 2. Użytkownik wprowadza swój wybór: „kamień", „papier" albo „nożyce" na
klawiaturze. klawiaturze.\
3. Wyświetlany jest wybór komputera. 3. Wyświetlany jest wybór komputera.\
4. Zwycięzca jest wybierany na podstawie następujących zasad: 4. Zwycięzca jest wybierany na podstawie następujących zasad:
- Jeśli jeden gracz wybierze kamień, a drugi nożyce, to wygrywa - Jeśli jeden gracz wybierze kamień, a drugi nożyce, to wygrywa
kamień kamień\
(kamień tępi nożyce). (kamień tępi nożyce).\
- Jeśli jeden gracz wybierze nożyce, a drugi papier, to wygrywają - Jeśli jeden gracz wybierze nożyce, a drugi papier, to wygrywają
nożyce nożyce\
(nożyce przecinają papier). (nożyce przecinają papier).\
- Jeśli jeden gracz wybierze papier, a drugi kamień, to wygrywa - Jeśli jeden gracz wybierze papier, a drugi kamień, to wygrywa
papier papier\
(papier owija kamień). (papier owija kamień).\
- Jeśli obaj gracze wybiorą ten sam ruch, to rozgrywka musi zostać - Jeśli obaj gracze wybiorą ten sam ruch, to rozgrywka musi zostać
powtórzona, aby powtórzona, aby\
wyłonić zwycięzcę. wyłonić zwycięzcę.\
Program powinien być napisany z wykorzystaniem poznanych instrukcji Program powinien być napisany z wykorzystaniem poznanych instrukcji
języka. języka.\
Program można rozbudować, dodając nowe opcje lub dokonać innych zmian. Program można rozbudować, dodając nowe opcje lub dokonać innych zmian.
Należy wtedy dołączyć Należy wtedy dołączyć\
krótki opis programu. krótki opis programu.
[C++](./Projekt1/main.cpp) [C++](./Projekt1/main.cpp)