Instrukcja for. Instrukcja warunkowa mgr inż. Agata Pacek
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.
#include #include "lokata.hpp" // dołaczenie pliku nagłówkowego using namespace std; int main() { double kwota; cout << "Podaj kwote do ulokowania" << endl; cin >> kwota; cout << "Po 15 latach bedziesz mial:\n"<<lokat(kwota)<<"zl\n\n"; system("PAUSE"); return 0; }
#ifndef LOKATA_HPP #define LOKATA_HPP double lokat(double kwota); #endif
#include "lokata.hpp" double lokat(double kwota) { double odsetki; for(int i=1; i <=180; i++) { odsetki=kwota*0.05/12; kwota+=odsetki; } return kwota; }
Zmodyfikuj program lokata tak, by działał dla dowolnego oprocentowania i okresu trwania lokaty.
#include "lokata.hpp" double lokat(double kwota, double procent, int czas) { double odsetki; procent=procent/100; for(int i=1; i <=czas; i++) { odsetki=kwota*procent/12; kwota+=odsetki; } return kwota; }
Zanim zadeklarujemy funkcję należy poprzedzić ją typem danych (do tej pory używaliśmy int i double) Typ void oznacza, że funkcja nie będzie zwracać żadnej wartości
#include using namespace std; void testowa(int a) { cout<<"a="<<a<<endl; a+=4; cout<<"teraz a="<<a<<endl; } int main() { int a; cout<<"Podaj dowolna liczbe calowita"<<endl; cin>>a; testowa(a); cout<<"Po wykonaniu funkcji \"testowa\" a="<<a<<endl; system("PAUSE"); return 0; }
if (warunek) instrukcja; //Instrukcja zostanie wykonana, gdy warunek jest spełniony if (warunek) instrukcja1; else instrukcja2; //Instrukcja1 zostanie wykonana, gdy warunek jest spełniony. Jeśli warunek nie zostanie spełniony wykonana zostanie instrukcja2
OperatorPrzykładFunkcja operatora <x<yMniejszy <=x<=yMniejszy lub równy >x>yWiększy >=x>=yWiększy lub równy !=x!=yRóżny ==x==yRówny
Napisz program, który wczyta dwie liczby całkowite i wstawi pomiędzy nie odpowiedni znak relacji (=, )
#include using namespace std; int main() { int a, b; cout << "podaj pierwsza liczbe" << endl; cin>>a; cout << "podaj druga liczbe" << endl; cin>>b; cout << "Twi=oje liczby to:" <<a<<" i "<<b<< endl; if (a>b) cout "<<b<<endl; else if (a<b) cout<<a<<"<"<<b<<endl; else cout "<<b<<endl; system("PAUSE"); return 0; }
OperatorNazwaPrzykład IIAlternatywa (or)if (a==10)||(b==1) &&Koniunkcja (and)if (a==10)&&(b==1) !Negacja (not)if (!(a==1))
#include using namespace std; int main() { int a,b; a=10; b=1; if ((a==10)||(b==1)) cout<<"spelnono (a==10)||(b==1)\n"; if ((a==10)&&(b==1)) cout<<"spelnono (a==10)&&(b==1)\n"; if (!(b==1)) cout<<"(!(b==1))\n"; system("PAUSE"); return 0; } Zmień wartość a i uruchom program ponownie, następnie zmień wartość b.
OperatorNazwaPrzykład |alternatywa bitowax|y &koniunkcja bitowax&y ^bitowa różnica symetrycznax^y <<bitowe przesunięcie w lewox<<y >>bitowe przesunięcie w prawox>>y ~negacja bitowa~x
#include using namespace std; int main() { int x,y; cout << "Wprowadz cyfre od 0-15 dla x \n"; cin >> x; cout << "wprowadz cyfre od 0-15 dla y \n"; cin >> y; cout << "bitowa alternatywa: " << (x|y) << endl; cout << "bitowa koniunkcja: " << (x&y) << endl; cout << "bitowa roznica symetryczna: " << (x^y) << endl; cout << "bitowe przesuniecie w lewo: " << (x<<y)<< endl; cout >y)<< endl; cout << "negacja bitowa x " << ~(x) << endl; system("PAUSE"); return 0; }
pqp or q np. x=5=101 2 y=5=010 2 x|y=(101)or(010)=111 2 =7 10
pqp and q np. x=5=101 2 y=5=010 2 x&y=(101)and(010)=000 2 =0 10
pqp xor q np. x=5=101 2 y=5=010 2 x^y=(101)xor(010)=111 2 =7 10
Przesunięcie bitowe w lewo (x<<y) np. x=5=101 2 y=5=010 2 (x<<y)= =
Przesunięcie bitowe w lewo (x>>y) np. x=5=101 2 y=5=010 2 (x>>y)=001 2 =
pnot p np. x=5= ~x=not ( )= =1*(2 4-1 )+0*2 2 +1*2 1 +0*2 0 =-6
#include using namespace std; int main() { int a = 5; cout << a << endl; cout << ++a << endl; //preinkrementacja cout << a++ << endl; //postinkrementacja cout << a << endl; system("PAUSE"); return 0; }
operator preinkrementacji (++a) zwraca wartość już zwiększoną o 1 (w tym przypadku będzie to 6) Operator postinkrementacji (a++) zwraca wartość zmiennej przed procesem inkrementacji (tutaj zwróci wartość 6 natomiast wartość zmiennej 'a będzie już wynosić 7)
Napisz program, który obliczy wartość funkcji danej wzorem:
#include using namespace std; int main() { int x; cout << "podaj x" << endl; cin>>x; cout << "\nx=" <<x<< endl; if (x<-3) cout<<"f(x)=x*x-3="<<x*x-3<<endl; if (x>3) cout<<"f(x)=3*x+1="<<3*x+1<<endl; if ((x>=-3)&&(x<=3)) cout<<"f(x)=6="<<6<<endl; cout<<endl; system("PAUSE"); return 0; }