• Nie Znaleziono Wyników

Informatyka 1. INF & EIT.

N/A
N/A
Protected

Academic year: 2021

Share "Informatyka 1. INF & EIT."

Copied!
1
0
0

Pełen tekst

(1)

Informatyka 1. INF & EIT. Ćwiczenie 3.

Instrukcje decyzyjne Zagadnienia:

poznanie zastosowań instrukcji warunkowych if, if-else oraz instrukcji wyboru switch;

programy rozgałęzione; typy proste definiowane przez użytkownika – typ wyliczeniowy (enum).

1. Wczytać z klawiatury 3 zmienne typu double. Wyznaczyć liczbę minimalną stosując:

a) tylko operator warunkowy (?) i operatory relacji (<, <= , >, >=).

b) tylko instrukcje warunkowe (if lub if-else) i operatory relacji (<, <= , >, >=).

2. Opracować program rozwiązujący równanie ax2 + bx + c = 0. Znaleźć rozwiązanie równania dla następujących przypadków: a=0 & b=0 & c=0; a=0 & b=0 & c<>0; a=0 &

b<>0 & c<>0; a=0 & b<>0 & c=0; a<>0 & b=0 & c=0; a<>0 & b=0 & c<>0; a<>0 &

b<>0 & c<>0; a<>0 & b<>0 & c=0.

3. Określić przez, które ćwiartki układu współrzędnych (lub oś X) przechodzi prosta postaci y=ax+b, gdzie a i b są danymi wczytywanymi z klawiatury. Na przykład, dla a=2; b=2;

prosta y=2x+2 przechodzi przez 1, 2 i 3 ćwiartkę; dla a=b=0; prosta y=0 pokrywa się z osią X.

4. Opracować program, który zamienia współrzędne kartezjańskie (x,y) na współrzędne biegunowe (d,k), gdzie d i k są zadane wzorami:

d = sqrt(x2 + y2),

I ćwiartka: k = arctg(y/x) dla x>0 & y>=0; k = pi/2 dla x=0 & y>=0;

II, III: k = pi + arctg(y/x) dla x<0 & y – dowolny;

IV: k = 2∗pi + arctg(y/x) dla x>0 & y<0; k = 3∗pi/2 dla x=0 & y<0.

5. Wprowadzić z klawiatury rok, miesiąc i dzień. Jeżeli data jest poprawna, tj. dzień < 32, miesiąc < 13, styczeń < 32, luty < 30 w roku przestępnym oraz luty < 29 w roku zwykłym, marzec < 32, itd., to wyprowadzić na ekran datę (miesiąc słownie). Uwzględnić lata przestępne. Przyjąć, że rok nie jest przestępny (rok zwykły) jeśli: nie dzieli się przez 4 lub dzieli się przez 100, ale nie przez 400 (np. lata zwykłe: 1700, 1800, 2100; lata przestępne: 4, 1600, 1996, 2000, 2400). W szczególności data 29-02-1800 r. nie jest datą poprawną.

6. Zadeklarować zmienną dzien typu wyliczeniowego enum Tdni reprezentującą dni tygodnia {pon, wt, sr, czw, pt, sob, niedz}. Zainicjować zmienną dzien w programie, wczytując jej wartość z klawiatury, lub losując za pomocą generatora liczb losowych.

Przyjmując, że zmienna dzien jest selektorem instrukcji wyboru switch wyprowadzić pełną nazwę dnia tygodnia.

7. Opracować program kalkulatora uwzględniającego działania (+, -, /, *) oraz funkcje: sin, cos, tan, asin, acos, atan, log, log10, exp, pow, ldexp(x,n)=x∗2n, sqrt, fabs, fmod, ceil, floor, abs.

8. Opracować program, który wyprowadza na ekran kod wciśniętego klawisza. Uwzględnić klawisze specjalne, np. F1, F2, strzałki. Podać kody klawiaturowe strzałek i F1-F10.

Cytaty

Powiązane dokumenty

Opracować program umożliwiający przekazanie do programu trzech liczb typu int za pomocą argumentów funkcji main(int argc, char *argv[]), gdzie argc – liczba

Nie zmieniając zawartości tablicy struktur i nie kopiując jej do innej tablicy zmodyfi- kować tablicę indeksów w taki sposób, aby kolejne pozycje w tablicy ind określały

Opracować program, który zapisze do pliku binarnego dane w formacie: rozmiar danej typu tdana (zmienna typu unsigned), liczba danych w pliku (zmienna typu long), ciąg danych

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],

Napisać program, który losuje k cyfr liczby binarnej do tablicy unsigned char dane[N], gdzie 1&lt;= k &lt;= N, a następnie oblicza wartość dziesiętną liczby.. Zadanie zrealizować z

przydzielić dynamicznie pamięć zmiennym typu char, int, long, float, double oraz zapamię- tać ich adresy w odpowiednich wskaźnikach. W przypadku, gdy alokacja pamięci powiedzie

a) tworzącą dynamiczną tablicę 2-wymiarową typu int A[nw][nk] o liczbie wierszy i liczbie kolumn wczytywanych do zmiennych int nw, nk; funkcja typu int** zwraca adres po-

Prototyp funkcji: void oblicz(double min, double max, int n, tx T, wskaźnik_funkcji). W programie głównym wykonać obliczenia dla funkcji sin w przedziale [-pi/2, pi/2].