• 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 6.

Wskaźniki, referencje i parametry funkcji Zagadnienia:

definiowanie zmiennych wskaźnikowych i referencyjnych; przekazywanie parametrów do funkcji: przez wartości, wskaźniki (języki C i C++), referencje (język C++); projektowanie funkcji zwracających kilka wyników; kompilacja modułów.

1. Zdefiniować wskaźnik na zmienną typu int. Zainicjować wskaźnik adresem zmiennej całkowitej int a = 5. Wyprowadzić na ekran zawartość zmiennej za pomocą wskaźnika oraz za pomocą identyfikatora zmiennej (wartości powinny być identyczne).

2. Zdefiniować wskaźnik do stałej typu long. Zainicjować wskaźnik adresem stałej const long x = 123. Zdefiniować stały wskaźnik do stałej typu double. Zainicjować wskaźnik adresem stałej const double y=125.7. Wyprowadzić na ekran zawartości zmiennych x i y za pomocą wskaźników oraz za pomocą identyfikatorów zmiennych.

3. Opracować funkcje, które obliczają sumę dwóch liczb rzeczywistych x i y typu double.

Prototypy funkcji mają następującą postać:

a) double sum1(double x, double y); // suma zwracana przez wartość funkcji b) void sum2(double x, double y, double * z); // suma zwracana przez wskaźnik c) void sum3(double x, double y, double& z). // suma zwracana przez referencję 4. Opracować funkcje, które obliczają min(x,y) zgodnie z następującymi prototypami:

a) double min(double, double); // min zwracane przez wartość funkcji b) void min(double, double, double *); // min zwracane przez wskaźnik c) void min(double, double, double&). // min zwracane przez referencję

5. Opracować funkcje, które zamieniają wartości zmiennych x i y typu double (po wyjściu z funkcji x zawiera wartość y i odwrotnie). Dane są przekazywane do funkcji o następują- cych prototypach:

a) void zamien(double*, double*);

b) void zamien(double&, double&).

6. Umieścić prototypy funkcji z zadania 3 (sum1, sum2, sum3) w pliku nagłówkowym sum.h, a ich definicje w osobnych modułach modul_1.cpp, modul_2.cpp, modul_3.cpp, wykorzystujących plik sum.h. Zabezpieczyć plik sum.h przed wielokrotnym dołączaniem prototypów funkcji do programu głównego, np.

#ifndef flaga_h

#define flaga_h

double sum1(double x, double y);

void sum2(double x, double y, double * z);

void sum3(double x, double y, double& z).

#endif

W programie głównym umieścić plik nagłówkowy sum.h 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 zapobiega- jące wielokrotnemu otwieraniu pliku sum.h z prototypami funkcji.

Cytaty

Powiązane dokumenty

For any deeply infinite effective double frame (Ψ, Φ, R) there exists an infinite family {B j : j ∈ ω} of infinite recursive subsets of Φ such that each B j is different from any R

1) In the CMSMPR-experiments with pure ammonium sulfate, chapter 4, the nucleation mechanism is surface breeding limited by a formation step proportional to the growth rate, and

[r]

The first and third authors would like to acknow- ledge the hospitality of the Centre for Research in Algebra and Number Theory during their stays at Carleton

This easily leads to examples of surfaces over a number field which do not dominate any variety of general type, but which nevertheless do not acquire Zariski-dense K-rational

Double Boolean algebras are algebras (D, u, t, / ,. They have been introduced to capture the equational theory of the algebra of protoconcepts. the Prime Ideal Theorem for

Wszelkie jednak dane liczbowe opierają się w tym przypadku na dalekich od doskonałości szacunkach, dokonywanych głównie przez Departament Pomocy Społecznej Ministerstwa Pracy

Nieco poszerzone badania późniejsze zawęziły ten dystans czasowy do 166-249 tysięcy (Vigilant et al. Powodem krytyki i zarazem popularności ich badań stał się wniosek,