Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Podstawy programowania

laboratorium 4

Zad. 1 (1 pkt.). Uruchom środowisko Code::Blocks, a następnie utwórz, skompiluj oraz


uruchom nowy projekt pn. NaBinarne z następującą funkcją iteracyjną oraz programem
głównym w języku C++:

#include <iostream>
using namespace std;
int d;

void naBinarne(int liczba)


{
int i(0), j, tablica[110];
while(liczba!=0)
{
tablica[i++]=liczba%2;
liczba/=2;
}
for (j=i-1; j>=0; j--) cout<<tablica[j];
}

int main()
{
cout<<"Podaj liczbe: ";
cin>>d;
cout<<"Postac liczby: "<<d<<" w systemie binarnym "<<endl;
naBinarne(d);
return 0;
}

Zad. 2 (1 pkt.). Uruchom środowisko Code::Blocks, a następnie utwórz, skompiluj oraz


uruchom nowy projekt pn. NaBinarneR z następującą funkcją rekurencyjną oraz programem
głównym w języku C++:

#include <iostream>
using namespace std;
int d;

void naBinarneR(int liczba)


{
if(liczba>0)
{
naBinarneR(liczba/2);
cout<<liczba%2;
}
}

int main()
{
cout<<"Podaj liczbe: ";
cin>>d;
cout<<"Postac liczby dzies. "<<d<<" w systemie binarnym "<<endl;
naBinarneR(d);
return 0;
}

–1–
Zad. 3 (5 pkt.). Opracuj program w języku C++, który rysuje na ekranie choinkę z gwiazdek
o zadanej wysokości n. Przykłady rozwiązań dla n = 5, 6, 7 oraz 8:
*
* ***
* *** *****
* *** ***** *******
*** ***** ******* *********
***** ******* ********* ***********
* * * *
*** *** *** ***

WSKAZÓWKA: W każdym kolejnym wierszu liczba gwiazdek zwiększa się o 2 gwiazdki.


Wyjątek stanowią dwa ostatnie wiersze symbolizujące (zawsze taką samą) podstawę choinki.

Zad. 4 (8 pkt.). Opracuj iteracyjną postać funkcji pod nazwą naInnySystem(liczba, system)
oraz rekurencyjną postać funkcji pod nazwą naInnySystemR(liczba, system), które
przekształcają liczbę dziesiętną (naturalną) będącą argumentem każdej z funkcji na jej
dowolną reprezentację np. binarną, trójkową lub ósemkową (do dziewiątkowej włącznie).
Wywołaj działanie funkcji z różnymi argumentami. Skompiluj oraz uruchom projekt pn.
NaInnySystem.

Zad. 5 (10 pkt.). Opracuj iteracyjną postać funkcji pod nazwą naSzesnastkowe(liczba) oraz
rekurencyjną postać funkcji pod nazwą naSzesnastkoweR(liczba), które przekształcają liczbę
dziesiętną (naturalną) będącą argumentem każdej z funkcji na jej szesnastkową
(heksadecymalną) reprezentację. Wywołaj działanie funkcji z różnymi argumentami.
Skompiluj oraz uruchom projekt pn. NaSzesnastkowe.

UWAGA: Przy zamianie podwójnych bitów na postać szesnastkową program powinien


korzystać ze składni Switch … case.

Zad. 6 (20 pkt.). Opracuj funkcje rekurencyjne pod następującymi nazwami, które realizują
następujące działania:
a) naturalneR – wypisuje na ekranie (bez końca) kolejne parzyste liczby naturalne tj. 2,
4, 6, 8, itd.
b) tuzinNaturalnychR – wypisuje na ekranie dwanaście pierwszych liczb naturalnych.
c) szescianyDwojkiR – wypisuje na ekranie n kolejnych sześcianów liczby 2,
d) podzielneR – wypisuje na ekranie liczby podzielne przez 13 w danym przedziale
(od, do),
e) sumaOdR – sumuje wszystkie liczby naturalne od 10 do n, np. dla n = 15 wynik to
10 + 11 + 12 + 13 + 14 + 15 czyli 75, itd.
f) odwrocLiczbeR – odwraca składniki liczby naturalnej, np. 12345 do postaci 54321,
itd.
g) pierwszaR – sprawdza czy dana liczba jest liczbą pierwszą.

Wywołaj działanie funkcji z różnymi argumentami. Skompiluj oraz uruchom projekt pn.
FunkcjeR.

–2–

You might also like