W13 strukturalizacja szablony

W13 strukturalizacja szablony, PWR - Informatyka W4, podstawy programowania
[ Pobierz całość w formacie PDF ]
[p_00.cpp]
// Przykładowy program ilustruj
ą
cy operacje na zwykłej tablicy liczb "float".
// Operacja zapisania wczytanej "warto
ś
ci" do tablicy
// oraz operacja wy
ś
wietlenia wskazanego elementu.
// Bez kontrolowania poprawno
ś
ci indeksu !
#include <iostream.h>
#include <conio.h>
void main()
{
float TAB[50];
int pozycja;
float x;
cout << "Podaj zapisywana pozycje: ";
cin >> pozycja;
cout << "Podaj wartosc: ";
cin >> x;
TAB[pozycja] = x;
cout << "Podaj odczytywana pozycje: ";
cin >> pozycja;
x = TAB[pozycja];
cout << "Odczytana wartosc: " << x;
getch();
}
M.Piasecki PODSTAWY PROGRAMOWANIA
-
1
-
Strukturalizacja, abstrakcja, szablony
[p_01.cpp]
// Program realizuj
ą
cy te same operacje co przykład [ p_00.cpp]
// ale z zastosowaniem abstrakcyjnego interfejsu do tablicy
// za pomoc
ą
funkcji
// NIEFORMALNY OPIS FUNKCJI OPERUJ
Ą
CYCH NA TABLICY
//
// WstawElement - funkcja umieszczaj
ą
ca zadan
ą
<wartosc>
// w li
ś
cie na zadanej <pozycji>
// Podczas wykonywania tej operacji
// powinna by
ć
kontrolowana poprawno
ść
(zakres)
// wskazanej pozycji i sygnalizowana poprzez kod_bledu.
//
// PodajElement - funkcja zwracaj
ą
ca <wartosc> odczytan
ą
// z zadanej <pozycji> w li
ś
cie.
// Podczas wykonywania tej operacji
// powinna by
ć
kontrolowana poprawno
ść
(zakres)
// wskazanej pozycji
//FORMALNY INTERFEJS FUNKCJI
void WstawElement(float tablica[], int rozmiar,
int pozycja, float wartosc,
int& kod_bledu);
float PodajElement(float tablica[], int rozmiar,
int pozycja,
int& kod_bledu);
#include <iostream.h>
#include <conio.h>
void main()
{
float TAB[50];
int kod_bledu;
int pozycja;
float x;
cout << "Podaj zapisywana pozycje: ";
cin >> pozycja;
cout << "Podaj wartosc: ";
cin >> x;
WstawElement( TAB, 50, pozycja, x, kod_bledu);
if( kod_bledu!=0 )
cout<<"\nWystapil blad zakresu podczas zapisu do tablicy\n";
cout << "Podaj odczytywana pozycje: ";
cin >> pozycja;
x = PodajElement( TAB, 50, pozycja, kod_bledu);
if( kod_bledu!=0 )
cout<<"\nWystapil blad zakresu podczas odczytu z tablicy\n";
cout << "Odczytana wartosc: " << x;
getch();
}
M.Piasecki PODSTAWY PROGRAMOWANIA
-
2
-
Strukturalizacja, abstrakcja, szablony
//PRZYKŁADOWA IMPLEMENTACJA FUNKCJI WstawElement i PodajElement
void WstawElement(float tablica[], int rozmiar, int pozycja,
float wartosc, int& kod_bledu)
{
if( pozycja<0 || pozycja>=rozmiar )
kod_bledu = 1;
else
{
tablica[pozycja] = wartosc;
kod_bledu = 0;
}
}
float PodajElement(float tablica[], int rozmiar, int pozycja,
int& kod_bledu)
{
if( pozycja<0 || pozycja>=rozmiar )
{
kod_bledu = 1;
return 0;
}
else
{
kod_bledu = 0;
return tablica[pozycja];
}
}
M.Piasecki PODSTAWY PROGRAMOWANIA
-
3
-
Strukturalizacja, abstrakcja, szablony
[p_02.cpp]
// Operacja normalizacji zadanego indeksu
// poprzez wskazanie najbli
Ŝ
szego elementu o poprawnym indeksie
//-------------------------- OPIS FUNKCJI -------------------------
// Podczas wykonywania operacji na tablicy
// zadana pozycja elementu powinna by
ć
normalizowana
// poprzez wskazanie najbli
Ŝ
szego "poprawnego" indeksu
// WstawElement - funkcja umieszczaj
ą
ca zadan
ą
<wartosc>
// na zadanej <pozycji> w li
ś
cie
// PodajElement - funkcja zwracaj
ą
ca przez list
ę
parametrów <wartosc>
// odczytan
ą
z zadanej <pozycji> w li
ś
cie
//-------------------------- INTERFEJS FUNKCJI ---------------------
void WstawElement(float tablica[], int rozmiar, int pozycja, float wartosc);
float PodajElement(float tablica[], int rozmiar, int pozycja);
//-------------------------- PRZYKLADOWY PROGRAM -------------------------
#include <iostream.h>
#include <conio.h>
void main()
{
float TAB[50];
int pozycja;
float x;
cout << "Podaj zapisywana pozycje: ";
cin >> pozycja;
cout << "Podaj wartosc: ";
cin >> x;
WstawElement( TAB, 50, pozycja, x);
cout << "Podaj odczytywana pozycje: ";
cin >> pozycja;
x = PodajElement( TAB, 50, pozycja);
cout << "Odczytana wartosc: " << x;
getch();
}
//----- PIERWSZA WERSJA IMPLEMENTACJI OPERACJI WSTAWIANIA / POBIERANIA ------
void WstawElement(float tablica[], int rozmiar, int pozycja, float wartosc)
{
if( pozycja<0 )
pozycja = 0;
if( pozycja>=rozmiar )
pozycja = rozmiar-1;
tablica[pozycja] = wartosc;
}
float PodajElement(float tablica[], int rozmiar, int pozycja)
{
if( pozycja<0 )
pozycja = 0;
if( pozycja>=rozmiar )
pozycja = rozmiar-1;
return tablica[pozycja];
}
M.Piasecki PODSTAWY PROGRAMOWANIA
-
4
-
Strukturalizacja, abstrakcja, szablony
[p_02.cpp]
[p_03.cpp]
// Operacja cyklicznej normalizacji zadanego indeksu
// poprzez wyznaczenie warto
ś
ci "modulo"
//-------------------------- OPIS FUNKCJI -------------------------
// Podczas wykonywania operacji na tablicy
// zadana pozycja elementu powinna by
ć
normalizowana
// poprzez wyznaczenie warto
ś
ci "modulo"
//
// WstawElement - funkcja umieszczaj
ą
ca zadana <wartosc>
// na zadanej <pozycji> w li
ś
cie
// PodajElement - funkcja zwracaj
ą
ca przez list
ę
parametrów <wartosc>
// odczytan
ą
z zadanej <pozycji> w li
ś
cie
//-------------------------- INTERFEJS FUNKCJI ---------------------
void WstawElement(float tablica[], int rozmiar, int pozycja, float wartosc);
float PodajElement(float tablica[], int rozmiar, int pozycja);
//-------------------------- PRZYKLADOWY PROGRAM -------------------------
#include <iostream.h>
#include <conio.h>
void main()
{
float TAB[50];
int pozycja;
float x;
cout << "Podaj zapisywana pozycje: ";
cin >> pozycja;
cout << "Podaj wartosc: ";
cin >> x;
WstawElement( TAB, 50, pozycja, x);
cout << "Podaj odczytywana pozycje: ";
cin >> pozycja;
x = PodajElement( TAB, 50, pozycja);
cout << "Odczytana wartosc: " << x;
getch();
}
//----- DRUGA WERSJA IMPLEMENTACJI OPERACJI WSTAWIANIA / POBIERANIA --------
void WstawElement(float tablica[], int rozmiar, int pozycja, float wartosc)
{
pozycja %= rozmiar;
tablica[pozycja] = wartosc;
}
float PodajElement(float tablica[], int rozmiar, int pozycja)
{
pozycja %= rozmiar;
return tablica[pozycja];
}
M.Piasecki PODSTAWY PROGRAMOWANIA
-
5
-
Strukturalizacja, abstrakcja, szablony
[p_03.cpp]
[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • diabelki.xlx.pl
  • Podobne
    Powered by wordpress | Theme: simpletex | © Spojrzeliśmy na siebie szukając słów, które nie istniały.