138 lines
5.6 KiB
Org Mode
138 lines
5.6 KiB
Org Mode
#+TITLE: Podstawy Programowania I
|
||
#+AUTHOR: Mateusz Słodkowicz
|
||
#+OPTIONS: \n:t
|
||
#+OPTIONS: tex:t
|
||
Zadania/Ćwiczenia z przedmiotu Podstawy Programowania I
|
||
|
||
|
||
* Spis Treści :toc:
|
||
- [[#zadania-1][Zadania 1]]
|
||
- [[#zadanie-1][Zadanie 1]]
|
||
- [[#zadanie-2][Zadanie 2]]
|
||
- [[#zadanie-3][Zadanie 3]]
|
||
- [[#zadanie-4][Zadanie 4]]
|
||
- [[#zadania-2][Zadania 2]]
|
||
- [[#zadanie-1-1][Zadanie 1]]
|
||
- [[#zadanie-2-1][Zadanie 2]]
|
||
- [[#zadanie-3-1][Zadanie 3]]
|
||
- [[#zadanie-4-1][Zadanie 4]]
|
||
- [[#projekt-1][Projekt 1]]
|
||
|
||
* 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.
|
||
|
||
[[./Zadanie 1.1/zadanie1.cpp][C++]]
|
||
** 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ń.
|
||
|
||
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:
|
||
#+begin_example
|
||
Sprzedane bilety dla dorosłych:
|
||
|
||
Sprzedane bilety dla dzieci:
|
||
|
||
Zysk kasy brutto:
|
||
|
||
Zysk kasy netto:
|
||
|
||
Kwota zapłacona dystrybutorowi:
|
||
#+end_example
|
||
[[./Zadanie 1.1/zadanie2.cpp][C++]]
|
||
|
||
** Zadanie 3
|
||
Zadeklarować trzy zmienne typu całkowitego. Wczytać dane. Obliczyć sumę tych liczb, ich średnią
|
||
arytmetyczną i średnią harmoniczną. Wyświetlić wyniki.
|
||
|
||
[[./Zadanie 1.1/zadanie3.cpp][C++]]
|
||
|
||
** 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:
|
||
#+begin_example
|
||
etap I 0,2 d 10 m/s
|
||
|
||
etap II 0,5 d 5 m/s
|
||
|
||
etap III 0,3 d 10 m/s
|
||
#+end_example
|
||
|
||
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.
|
||
|
||
[[./Zadanie 1.1/zadanie4.cpp][C++]]
|
||
|
||
* Zadania 2
|
||
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 <cmath>
|
||
|
||
[[./Zadanie 1.2/zadanie.cpp][C++]]
|
||
|
||
** 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.
|
||
** Zadanie 2
|
||
Obliczyć wartość funkcji określonej wzorem:
|
||
|
||
[[../resources/svg/pp1zad2.svg]]
|
||
|
||
Dane: x – typu rzeczywistego
|
||
** Zadanie 3
|
||
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)
|
||
|
||
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:
|
||
| 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 |
|
||
|
||
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).
|
||
* 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:
|
||
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.
|
||
Na platformę przesłać main.cpp oraz plik z opisem programu, jeżeli w programie dokonano zmian.
|
||
|
||
[[./Projekt1/main.cpp][C++]]
|
||
|
||
|
||
|