Informatyka II. INF & EIT. Ćwiczenie 1.
Powtórzenie wiadomości
Zagadnienia: Prosty program w języku C/C++. Predefiniowane typy danych. Operatory i wyrażenia. Instrukcje decyzyjne. Instrukcje iteracyjne. Funkcje. Tablice. Standardowe, sformatowane wejście i wyjście (printf, scanf).
1. Wczytać za pomocą funkcji scanf liczbę typu:
a) char,
b) unsigned char, c) int,
d) unsigned int, e) long,
f) unsigned long, g) float,
h) double (long float), i) long double.
Wyprowadzić liczby na ekran za pomocą funkcji printf.
2. Wczytać z klawiatury dwie liczby całkowite typu long, a następnie wyprowadzić liczby na ekran w formacie dziesiętnym, szesnastkowym i ósemkowym. Liczby wyprowadzać na 10 polach. Zrealizować wariant z wyrównywaniem do lewej.
3. Opracować program, która dla x typu long double oblicza sumę n pierwszych wyrazów szeregu postaci:
F(x) = x1 / 1 – x2 / (1∗3) + x4 / (1∗3∗5) - x7 / (1∗3∗5∗7) + x11 / (1∗3∗5∗7∗9) - ... ± ... .
4. Opracować funkcję, która dla n i k (k<=n) wczytywanych z klawiatury oblicza wartość sumy szeregu:
S(n,k) = ( 1+1/2+...+1/k ) – ( 1/(k+1)+ ... +1/(2∗k) )+ ... ±( 1/(i∗k+1)+ ... +1/((i+1)∗k) )– ...+
+ (1/(a∗k+1)+... +1/n ), gdzie a = n div k,
np. dla n=7 & k=2 jest: a = 7 div 2 = 3; S(7,2) = (1 + 1/2) - (1/3 + 1/4) + (1/5+1/6) - (1/7).
5. Opracować własną funkcję, która zamienia liczbę naturalną x na liczbę w układzie bazowym o podstawie b = 2, 3, 4, ... , 16. Wyprowadzić liczbę na ekran (np. liczbę 160 należy wypro- wadzić w układzie dwójkowym jako 1010 0000, a w szesnastkowym jako A0).
6. Opracować funkcję, która wyznacza wszystkie liczby pierwsze z przedziału [2,N] w oparciu o metodę „sita” (opis: wpisać wszystkie liczby z przedziału [2,N] do tablicy t[N+1], gdzie t[i]=i, dla i=0,...,N; niech i=2; jest t[i]=2; dla i>2 oraz t[i]<>0 zastąpić zerami wszystkie elementy tablicy podzielne przez t[i]=2; dla i>2 wybrać kolejny element t[i] różny od 0 i powtórzyć operację wykreślania; zakończyć wykreślanie, gdy pojawi się liczba p = t[i] taka, że p∗p > N). Wyprowadzić liczby pierwsze na ekran. Np. dla N=9 jest:
0 1 2 3 4 5 6 7 8 9; i=2; t[i]=2 0 1 2 3 0 5 0 7 0 9; i=3; t[i]=3
0 1 2 3 0 5 0 7 0 0; i=5; p=t[i]=5; p∗p > N.