Programowanie strukturalne i obiektowe
description
Transcript of Programowanie strukturalne i obiektowe
Zmienne i stałe.
mgr inż. Agata Pacek
Zmienne pozwalają nam na przechowywanie danych w programie. Jest kilka podstawowych typów zmiennych, które umożliwiają przechowywanie różnego rodzaju informacji.
Sposób deklaracji zmiennych
<kwalifikator> <typ> nazwa_zmiennej;
Podstawowe typy zmiennych:◦ char - zmienna przechowuje znaki (litery, cyfry,
znaki interpunkcyjne). ◦ int - zmienna służy do przechowywania liczb
całkowitych.◦ bool - zmienna służy do przechowywania wartości
logicznych true/false (prawda/fałsz).◦ float - zmienna przechowuje liczby rzeczywiste
(zmiennoprzecinkowe - do 7 cyfr po przecinku).◦ double - zmienna przechowuje liczby rzeczywiste
podobnie jak powyższy typ ale posiada dużo większą dokładność (do 15 miejsc po przecinku).
Kwalifikatory zmiennych◦ signed - zmienna może przechowywać wartości
dodatnie i ujemne (zmienna posiada znak +/-).◦ unsigned - zmienna może przechowywać tylko
wartości dodatnie.◦ short - zmienna jest typu krótkiego - wpływa na
długość zajmowanej pamięci (a więc również na zakres zmiennej).
◦ long - zmienna jest typu długiego.
Typ zmiennej Rozmiar Zakres warości
(signed) char 1B -128÷128
(unsigned) char 1B 0÷255
(singed) short(signed) short int
2B -32768÷32767
(unsinged) short(unsigned) short int
2B 0÷65535
(singed) int(signed) long int
4B -2147483648÷2147483647
(unsinged) int(unsigned) long int
4B 0÷4294967295
float 4B 1,2E-38÷3,4E+38
double 8B 2,2E-308÷1,8E+308
long double 10B 3,4E-4932÷1,2E+4932
Przykłady deklaracji zmiennych
int x=10;int x;short int a=20;signed int d=-18;char znak = 'A';
Zmienna typu const – stała Zmienna deklarowana po słowie kluczowym
const zachowa raz przypisaną wartość i nie pozwoli na jej modyfikację.
Gdy piszemy program składający się z kilku plików i chcemy udostępnić taką stałą, by korzystać z niej w kodach zewnętrznych, przed deklaracją stałej umieszczamy słowo kluczowe extern.
Np. const int x=10;
Sprawdzanie rozmiaru zmiennej
#include <iostream>using namespace std;int main(){cout << "Rozmiar zmiennej int: \n" << sizeof(int) << „B\n";system("PAUSE");return 0;}
Maniputatory
\n – nowa linia\t – tabulacja (7 spacji)\” – cudzysłów\b – znak wstecz\\ - lewy ukośnikItd.
* operator mnożenia
/ operator dzielenia
% operator dzielenia modulo
+ operator dodawania
- operator odejmowania
#include <iostream>using namespace std;int main(){ int liczba=10; cout<<"liczba: "<<liczba<<endl; liczba=liczba+5; cout<<"dodawanie: "<<liczba<<"\n"; liczba*=5; cout<<"mnozenie: "<<liczba<<endl; cout<<"odejmowanie: "<<liczba-5<<endl; system("PAUSE"); return 0;}
Przykład zastosowania funkcji return
◦ Funkcja mnoz() zostanie wywołana z parametrami◦ Wynik zostanie zwrócony za pomocą funkcji
return◦ Funkcja mnoz() będzie funkcją dwuargumentową
typu int◦ Funkcja zwróci nam funkcja typu całkowitego
#include <iostream>int mnoz(int x, int y){ return x*y;}int main(){ std::cout << "Wykonuje gunkcje ‘main()’ " << std::endl; std::cout << "wynik to:" << mnoz (4,4)<<std::endl; system("PAUSE"); return 0;}
Przed wywołaniem funkcji należy ją zdefiniować przed jej wywołaniem.
Jeżeli będziemy korzystać z funkcji, którą chcemy zdefiniować później, początkowo musimy umieścić jej prototyp.
#include <iostream>int mnoz(int x, int y); //prototyp funkcji mnoz()int main(){ std::cout << "Wykonuje funkcje 'main()' " << std::endl; std::cout << "wynik to: " << mnoz (4,4); return 0;}int mnoz(int x, int y) //funcka mnoz(){ return x*y;}
Dzięki dyrektywie include w obręb programu włączamy wszystkie jego fragmenty
Dyrektywa może się odnosić do standardowego, predefiniowanego pliku nagłówkowego (bibliotecznego), który znajduje się w katalogu standardowym np. <iostream>
Gdy chcemy dołączyć stworzony przez nas plik nagłówkowy to zamiast nawiasów kątowych wprowadzamy znak cudzysłów
#include ”nazwa_pliku.rozszerzenie”
Poszukiwanie pliku rozpoczyna się od bieżącego katalogu, a następnie katalog standardowy.
Posługując się plikami zewnętrznymi możemy przechowywać zadeklarowane funkcje w plikach nagłówkowych dołączanych do programu
Dla każdej funkcji w chwili jej deklarowania musimy określić typ danych, które zwróci.
#include <iostream>#include "silnia.hpp" // dołaczenie pliku nagłówkowegousing namespace std;int main(){ int s; cout << "Podaj cyfre z ktorej oblicze silnie" << endl; cin >> s; cout << siln(s); // wywołanie funkcji siln() return 0;}
Plik nagłówkowy silnia.hpp - odpowiada za odpowiada za poprawność typów. Zabezpiecza przed wielokrotnym przetwarzaniem deklaacji pliku nagłówkowego
#ifndef SILNIA_HPP #define SILNIA_HPPint siln(int s); //występuje tu deklaracja funkcji siln(s)#endif
Implementacja funkcji siln() znajduje się w pliku modul.cpp
#include "silnia.hpp"int siln(int s){ int w = 1; for(int i=2; i <=s; i++) { w *= i; } return w;}
Ulokowałeś pewną kwotę na lokacie. Oprocentowanie lokaty wynosi 5% w skali roku. Napisz program, który obliczy, jaką kwotę będziesz miał po 15 latach.