• Nie Znaleziono Wyników

Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 2.

N/A
N/A
Protected

Academic year: 2021

Share "Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 2."

Copied!
1
0
0

Pełen tekst

(1)

Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 2.

Zagadnienia: Przekazywanie parametrów do funkcji. Funkcje przeciążone. Programy wielomodułowe. Pliki nagłówkowe. Projekty. Funkcje rekurencyjne. Wykorzystanie tablic w programach. Inicjacja tablic losowymi danymi.

1. Opracować trzy funkcje obliczające sumę dwóch liczb typu double. Dane są następujące prototypy:

a) double sum(double, double);

b) void sum(double, double, double* );

c) void sum(double, double, double& );

Umieścić prototypy funkcji w pliku nagłówkowym sum.h, a ich definicje w osobnych modułach mod1.cpp, mod2.cpp, mod3.cpp, wykorzystujących plik sum.h. W programie głównym umieścić plik nagłówkowy oraz wywołania trzech funkcji obliczających sumę liczb. Utworzyć projekt umożliwiający kompilację programu wielomodułowego.

W modułach umieścić dyrektywy kompilacji warunkowej zapobiegające wielokrotnemu dołączaniu pliku nagłówkowego do programu głównego.

2. Opracować funkcję obliczającą rekurencyjnie współczynniki dwumianu (x+y)

n

z trójkąta Pascala. Współczynniki A

n

[k] (dla k=0, 1, 2, ..., n) należy obliczać ze wzorów:

A

n

[0] = A

n

[n] = 1, A

n

[k] = A

n-1

[k-1] + A

n-1

[k], dla k=1,2, ..., n-1. W szczególności, A

0

[0] = 1; A

1

[0] = 0, A

1

[1] = A

0

[0] + A

0

[1] = 1 + 0 = 1, itd.

1 n=0; k=0;

11 n=1; k=0, k=1;

121 n=2; k=0, k=1, k=2;

1331 n=3; k=0, k=1, k=2, k=3;

3. Opracować funkcję obliczającą rekurencyjnie, dla x typu double, wartość wielomianu W

n

(x) = a

n

+ a

n-1

x + a

n-2

x

2

+ ... + a

0

x

n

= a

n

+ x(a

n-1

+ ... + x(a

1

+ a

0

x)) ze wzorów:

W

n

(x) = a

n

, jeżeli n = 0 oraz W

n

(x) = a

n

+ xW

n-1

(x), jeżeli n > 0. Np. dla n =2, W

2

(x) = a

2

+ a

1

x + a

0

x

2

= a

2

+ x(a

1

+ a

0

x).

Współczynniki a

i

, i = n,...,1, wprowadzać z klawiatury na początku funkcji lub wczytać do tablicy na początku programu.

4. Opracować funkcję, która inicjuje tablicę char tab[50] losowymi liczbami całkowitymi należącymi do przedziału [33, 127]. Wyprowadzić tablicę wierszami na ekran po 10 znaków, rozdzielonych spacjami.

5. Opracować:

a) funkcję inicjują tablicę int tab[N_wiersz][M_kol] losowymi danymi z przedziału [-100, 100), gdzie N_wiersz, M_kol są stałymi w programie;

b) funkcję wyprowadzającą tablicę wierszami na ekran;

c) funkcję obliczającą sumę elementów tablicy.

6. Napisać program, który losuje k cyfr liczby binarnej do tablicy unsigned char dane[N],

gdzie 1<= k <= N, a następnie oblicza wartość dziesiętną liczby.

Cytaty

Powiązane dokumenty

Wyprowadzić na ekran za pomocą funkcji printf liczbę double x = 2.3456 wierszami z rosnącą precyzją, tzn.. Opracować funkcję, która zamienia liczbę naturalną x na liczbę

a) kopiującą n bajtów pamięci ekranu, zaczynając od adresu określonego przez wskaźnik 0xB800:ofs, do bufora o początku określonym przez wskaźnik void far *buf_dest

[-10.2, 15.3). Wykorzystując standardową funkcję qsort opracować funkcję, która sortuje elementy tablicy rosnąco. Wyprowadzić zawartość tablicy na ekran. Zainicjować tablicę

Wyprowadzić współrzędne znalezionych punktów na ekran w trybie graficznym... Zdefiniować N - elementową tablicę wskaźników na struktury typu struct tosoba { char naz[20];

b) usunięcie elementu z początku kolejki (wierzchołka stosu); zwolnić pamięć, zmodyfikować wskaźnik początku kolejki (stosu); prototyp funkcji void Usun(pnode &amp;pocz,

c) usunięcie elementu o podanej wartości klucza (zadanie dla chętnych); funkcja powinna odnaleźć element, zmodyfikować strukturę drzewa, a następnie zwolnić

Zasadniczym elementem programu są funkcje pole1, pole2 i pole3 - wszystkie funkcje mają jedno podstawowe zadanie - liczą powierzchnię prostokąta, którego jeden bok ma

Referencja jest drugą nazwą, „przezwiskiem” - nie przezwiskiem klasy, ale danego egzemplarza jej obiektu. Wysyłając taki egzemplarz obiektu do funkcji na zasadzie