Monika Dekster

Laboratorium 1

Użyteczne linki

  1. Ustawienie nowego hasła

Zapoznanie z podstawowymi narzędziami, edycja, kompilacja.

  1. Kompilator gcc/g++
  2. Przykładowe pliki:
    • Program w C: sum_N.c
      kompilacja: gcc -std=gnu11 -Wall -o sum_N sum_N.c -lm
    • Program w C: random.c
      kompilacja: gcc -std=gnu11 -Wall -o random random.c -lm

Zadania

  1. Paragon fiskalny zawiera następujące informacje: cenę jednostkową netto a, liczbę zakupionych sztuk towaru x oraz wysokość podatku VAT podaną w procentach p. Napisz program, który wczytuje powyższe dane z klawiatury, a następnie oblicza wartość netto zakupionego towaru, wartość podatku VAT oraz wartość towaru brutto. Wyniki obliczeń należy wypisać na ekranie w formie uproszczonego "paragonu fiskalnego".
  2. Napisz program, który wczytuje liczbę całkowitą $N$ a następnie oblicza i drukuje na ekran wartość $N!$. Uwaga: silnia bardzo szybko powoduje przepełnienie całkowitoliczbowe. Sprawdź dla jakich wartości $N$ program wyprowadza prawidłowy wynik. Przetestuj działanie programu dla różnych typów danych (dla ułatwienia można zastosować definicję typedef).
  3. Program losuje liczbę $0 \le X \lt 100$. Napisz funkcję, która zgaduje wartość $X$. W pętli losujemy $n \in [0, 100)$. Jeżeli $X = n$ zgadliśmy $X$, jeżeli nie na podstawie wartości $X$ i $n$ ograniczamy przedział, z którego losujemy kolejne $n$.
  4. Szyfr Cezara polega na szyfrowaniu kolejnych liter (pozostałe znaki pozostawiamy bez zmian). Każda litera zostaje zamieniona w k-tą następną w alfabecie (k jest stałą szyfru), przy czym jeżeli taka nie istnieje (wychodzimy za 'z'), to odliczanie jest kontynuowane z powrotem od 'a'. Szyfrowanie zachowuje wielkość liter. Napisz funkcję, która szyfruje ciąg znaków podany jako argument.
  5. Napisz funkcję, która przyjmuje parametr całkowity $n$ i zwraca liczbę bitów w $n$ ustawionych na 1.
  6. Napisz program, który stwierdza reprezentację liczb na danej maszynie (big endian czy little endian).
  7. Znajdź pole powierzchni ograniczone osią $Ox$ i wykresem funkcji $\sin(x)$ w przedziale $[a, b]$ metodą Monte Carlo. Dane wejściowe: $a, b, N$ (liczba losowanych punktów).
  8. Napisać program tabelaryzujący funkcję cosinus w zadanym przedziale. Dane wejściowe: początek przedziału, koniec przedziału, krok (przyrost $x$). Tabela powinna zawierać 3 kolumny: wartość argumentu $x$, wartość $\cos(x)$ policzoną z wykorzystaniem funkcji bibliotecznej oraz wartość $\cos(x)$ policzoną z rozwinięcia w szereg Taylora.