Instrukcja for. Instrukcja warunkowa mgr inż. Agata Pacek  Ulokowałeś pewną kwotę na lokacie. Oprocentowanie lokaty wynosi 5% w skali roku.

Download Report

Transcript Instrukcja for. Instrukcja warunkowa mgr inż. Agata Pacek  Ulokowałeś pewną kwotę na lokacie. Oprocentowanie lokaty wynosi 5% w skali roku.

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 <iostream>
#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 <iostream>
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
Operator
Przykład
Funkcja operatora
<
x<y
<=
x<=y
>
x>y
>=
x>=y
Większy lub równy
!=
x!=y
Różny
==
x==y
Równy
Mniejszy
Mniejszy lub równy
Większy

Napisz program, który wczyta dwie liczby
całkowite i wstawi pomiędzy nie odpowiedni
znak relacji (=, <, >)
#include <iostream>
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<<a<<">"<<b<<endl;
else
if (a<b) cout<<a<<"<"<<b<<endl;
else
cout<<a<<">"<<b<<endl;
system("PAUSE");
return 0;
}
Operator
Nazwa
Przykład
II
Alternatywa (or)
if (a==10)||(b==1)
&&
Koniunkcja (and)
if (a==10)&&(b==1)
!
Negacja (not)
if (!(a==1))
#include <iostream>
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.
Operator
Nazwa
Przykład
|
alternatywa bitowa
x|y
&
koniunkcja bitowa
x&y
^
bitowa różnica symetryczna
x^y
<<
bitowe przesunięcie w lewo
x<<y
>>
bitowe przesunięcie w prawo
x>>y
~
negacja bitowa
~x
#include <iostream>
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 << "bitowe przesuniecie w prawo: " << (x>>y)<< endl;
cout << "negacja bitowa x " << ~(x) << endl;
system("PAUSE");
return 0;
}
p
q
p or q
0
0
0
0
1
1
1
0
1
1
1
1
np. x=5=1012
y=5=0102
x|y=(101)or(010)=1112=710
p
q
p and q
0
0
0
0
1
0
1
0
0
1
1
1
np. x=5=1012
y=5=0102
x&y=(101)and(010)=0002=010
p
q
p xor q
0
0
0
0
1
1
1
0
1
1
1
0
np. x=5=1012
y=5=0102
x^y=(101)xor(010)=1112=710
Przesunięcie bitowe w lewo (x<<y)
np. x=5=1012 y=5=0102

1
0
1
0
1
1
0
0
(x<<y)=101002=2010
Przesunięcie bitowe w lewo (x>>y)
np. x=5=1012 y=5=0102

1
0
1
0
0
1
(x>>y)=0012=110
0
1
p
not p
0
1
1
0
np. x=5=01012
~x=not (01012)=10102=1*(24-1)+0*22+1*21+0*20=-6
#include <iostream>
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 <iostream>
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;
}