101 lines
5.9 KiB
Org Mode
101 lines
5.9 KiB
Org Mode
|
|
#+TITLE: Podstawy Programowania II
|
|||
|
|
#+AUTHOR: Mateusz Słodkowicz
|
|||
|
|
#+OPTIONS: \n:t
|
|||
|
|
#+OPTIONS: tex:t
|
|||
|
|
#+OPTIONS: toc:nil
|
|||
|
|
#+LANGUAGE: pl
|
|||
|
|
#+EXPORT_FILE_NAME: ../Podstawy Programowania II/README.md
|
|||
|
|
#+PANDOC_OPTIONS: lua-filter:fix.lua
|
|||
|
|
|
|||
|
|
Zadania/Ćwiczenia/Projekty z przedmiotu Podstawy Programowania II
|
|||
|
|
|
|||
|
|
* Zadanie 2.1
|
|||
|
|
Zadeklarować dwie tablice jednowymiarowe A i B o rozmiarze n zdefiniowanym przez stałą.
|
|||
|
|
- Napisać funkcję, która wczytuje dane do tablicy. Wczytać dane do tablicy A i B.
|
|||
|
|
- Napisać funkcję, która wypisuje elementy tablicy na ekran. Wypisać elementy tablicy A i B.
|
|||
|
|
- Napisać funkcję, która oblicza i zwraca iloczyn elementów różnych od zera. Obliczenia wykonać dla tablicy A. Wyświetlić wynik.
|
|||
|
|
- Napisać funkcję, która oblicza i zwraca średnią elementów w tablicy. Obliczenia wykonać dla tablicy B. Wyświetlić wynik.
|
|||
|
|
- Napisać funkcję, która oblicza i zwraca maksymalny element w tablicy i indeks, na którym ten element wystąpił. Obliczenia wykonać dla tablicy A. Wyświetlić wyniki.
|
|||
|
|
|
|||
|
|
* Zadanie 2.1B
|
|||
|
|
** 1
|
|||
|
|
Dana jest tablica A 9 – elementową typu całkowitego.
|
|||
|
|
a. wczytać z klawiatury elementy tej tablicy
|
|||
|
|
b. napisać obliczyć element minimalny i podać ile razy on wystąpił w tablicy
|
|||
|
|
** 2
|
|||
|
|
Zadeklarować tablicę X 15 –to elementową liczb całkowitych.
|
|||
|
|
Tablicę wypełnić liczbami losowymi z przedziału <5, 30>.
|
|||
|
|
Obliczyć odchylenie standardowe od średniej arytmetycznej danych zapisanych w tablicy.
|
|||
|
|
Odchyleniem standardowym nazywamy średnią kwadratową odchyleń od średniej arytmetycznej.
|
|||
|
|
|
|||
|
|
$$
|
|||
|
|
\large {\sigma = \sqrt{\frac{1}{N}\sum^{N}_{i=0} (x[i] - sr)^2}}
|
|||
|
|
$$
|
|||
|
|
|
|||
|
|
gdzie sr - średnia arytmetyczna
|
|||
|
|
Wynik wypisać
|
|||
|
|
|
|||
|
|
** 3
|
|||
|
|
Napisz dla producenta chipsów program do rejestrowania sprzedaży pięciu rodzajów sosów:
|
|||
|
|
łagodnego, ostrego, kwaśnego, słodkiego i pikantnego.
|
|||
|
|
W programie zastosuj dwie równoległe tablice złożone z pięciu elementów każda: jedną typu string
|
|||
|
|
zawierającą nazwy sosów i drugą typu int zawierającą liczbę sprzedanych w ostatnim miesiącu
|
|||
|
|
pojemników sosów każdego rodzaju.
|
|||
|
|
Nazwy sosów niech będą zapisane w definicji tablicy w liście inicjującej. Program powinien prosić
|
|||
|
|
użytkownika o podanie liczby sprzedanych pojemników sosów każdego rodzaju, a następnie
|
|||
|
|
wyświetlać raport zawierający liczbę sprzedanych pojemników sosów każdego rodzaju, całkowitą
|
|||
|
|
liczbę sprzedanych pojemników oraz nazwy sosów, których sprzedało się najwięcej i najmniej.
|
|||
|
|
/Weryfikacja poprawności wprowadzanych danych: liczba pojemników nie może być ujemna./
|
|||
|
|
|
|||
|
|
/Uwagi:/
|
|||
|
|
1. /Wszystkie zadania, należy napisać w jednym programie, zadania realizowane kolejno./
|
|||
|
|
2. /Punkt 1 i 2 napisać z użyciem funkcji./
|
|||
|
|
3. /W programie proszę nie korzystać z klasy vector/
|
|||
|
|
* Zadanie 2.2
|
|||
|
|
Potrzebny jest programu przetwarzającego informacje o pogodzie za trzy letnie miesiące
|
|||
|
|
minionego roku. Każdy dzień powinien być oznaczony jako deszczowy ('D'), pochmurny ('P')
|
|||
|
|
lub słoneczny ('S'). Napisz program zapisujący te informacje w tablicy typu char o wymiarach
|
|||
|
|
3×30 elementów, w której wiersze reprezentują kolejne miesiące (0 – czerwiec, 1 – lipiec, 2 –
|
|||
|
|
sierpień), a kolumny — dni miesiąca. Pomijany jest 31 dzień miesiąca.
|
|||
|
|
Program powinien losowo wypełnić tablicę, a następnie wyświetlać raport zawierający liczbę
|
|||
|
|
dni deszczowych, pochmurnych i słonecznych w poszczególnych miesiącach i w całym
|
|||
|
|
trzymiesięcznym okresie.
|
|||
|
|
Raport powinien zawierać również nazwę miesiąca, w którym było najwięcej dni deszczowych.
|
|||
|
|
* Zadanie 2.20
|
|||
|
|
- Zadeklarować strukturę Punkt mającą pola: x, y typu double, odl (odległość od początku
|
|||
|
|
układu współrzędnych) typu double.
|
|||
|
|
Wczytać N i zadeklarować dynamicznie N elementową tablicę typu Punkt.
|
|||
|
|
- Napisać funkcję, która wypełnia tablicę punktów danymi w następujący sposób: x, y są
|
|||
|
|
liczbami losowymi ze zbioru {-10, -9.9,…,-0.1, 0, 0.1, 0.2, 0.3, …,9.9, 10}, odległość (odległość
|
|||
|
|
punktu od środka układu współrzędnych) jest obliczana za pomocą funkcji.
|
|||
|
|
- Napisać funkcję, która policzy ile punktów jest w każdej ćwiartce.
|
|||
|
|
Wypisać wyniki (można dodatkowo przedstawić w postaci histogramu).
|
|||
|
|
- Wczytać promień okręgu R. Napisać funkcję, która obliczy i zwróci ile punktów znajduje się
|
|||
|
|
wewnątrz okręgu o podanym promieniu. Wypisać obliczoną wartość.
|
|||
|
|
- Napisać funkcję, która wypisuje na ekran punkty spełniające powyższy warunek. Danego
|
|||
|
|
jednego punktu powinny być zapisywane w jednej linii, z dokładnością 2 miejsc po kropce.
|
|||
|
|
*Uwagi*:
|
|||
|
|
- Odległość punkt od środka układu współrzędnych obliczana ze wzoru $odl = \sqrt{x^2 + y^2}$
|
|||
|
|
- Interakcję z użytkownikiem (wyświetlanie, pobieranie danych) należy umieścić wyłącznie w funkcji main().
|
|||
|
|
Oczywiście wyjątek stanowi funkcja specjalnie przeznaczona do wyświetlania danych.
|
|||
|
|
- Program powinien wyświetlać czytelne i jasne komunikaty.
|
|||
|
|
- Nie należy używać zmiennych globalnych.
|
|||
|
|
|
|||
|
|
* Projekt 1
|
|||
|
|
Grupę 60 osób poproszono o ocenę gry komputerowej. Każda osoba mogła przyznać ocenę od 0 do 10.
|
|||
|
|
Zadeklarować N –elementową np. 60-elementową tablicę typu int.
|
|||
|
|
1. Wylosować elementy tej tablicy z przedziału <0, 10>.
|
|||
|
|
2. Wypisać wylosowaną tablicę.
|
|||
|
|
3. Obliczyć średnią ocenę.
|
|||
|
|
4. Obliczyć medianę (środkowa wartość w posortowanej tablicy, w przypadku parzystej liczby elementów
|
|||
|
|
tablicy jest to średnia dwóch środkowych wartości).
|
|||
|
|
5. Obliczyć ile osób przyznało każdą z ocen. W tym celu zadeklarować 11 -to elementową tablicę ocena, i-ty
|
|||
|
|
element tej tablicy zawiera liczbę osób, które przyznały taką ocenę.
|
|||
|
|
6. Obliczyć która ocena była przyznana największą ilość razy. Jeżeli było kilka takich ocen wypisać wszystkie.
|
|||
|
|
7. Narysować histogram złożony z '*' (Histogram pokazuje liczebności poszczególnych grup).
|
|||
|
|
|
|||
|
|
*Uwagi*:
|
|||
|
|
- Program podzielić na funkcje.
|
|||
|
|
- Program powinny wyświetlać czytelne i jednoznaczne komunikaty zarówno na etapie wprowadzania danych,
|
|||
|
|
jak i wyświetlania ich na ekranie
|