AHE/org/PP2.org
2025-11-06 11:57:42 +01:00

101 lines
5.9 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+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