lista 3, inf1 w3

background image

Informatyka I - wykład 3

Operacje arytmetyczne, użytki matematyczne,

operacje na tekście, liczby losowe

Slajd 1

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 1.

Różne podstawowe operacje matematyczne

#include <iostream>

using namespace std;
int main()

{
int i;

float f;
double d;

char c;
bool b;

i=1+2; cout << i <<endl; // 3
i=1.6+2; cout << i <<endl;// 3

i=2; cout << i++ << ' ' << i <<endl; // 2 3
i=2;cout << ++i << ' ' << i <<endl; // 3 3

i=1;
i+=2; cout << i <<endl; // 3

i*=2; cout << i <<endl; // 6
i=7 / 2; cout << i <<endl;// 3

i=7 % 2; cout << i <<endl;// 1

Slajd 2

Informatyka I – wykład 3

G.P.Korbaś

background image

cout << endl;

f=1e20; cout << f <<endl;// 1e+020
f*=1e10; cout << f <<endl; // 1e+030

f*=1e20; cout << f <<endl; // 1.#INF
f = 7 / 2; cout << f <<endl; // 3

f = 7.0 / 2; cout << f <<endl; // 3.5
f = 7 / 2.0; cout << f <<endl; // 3.5

cout << endl;

d=1e20; cout << d <<endl; // 1e+020
d*=1e10; cout << d <<endl; // 1e+030

d*=1e20; cout << d <<endl; // 1e+050
cout << endl;

c = 'a'; cout << c <<endl; // a
c+=1; cout << c <<endl; // b

i = c; cout << i <<endl; // 98
c=99; cout << c <<endl; //c

Slajd 3

Informatyka I – wykład 3

G.P.Korbaś

background image

cout <<endl;

b=true; cout << b << endl; // 1
b=false; cout << b << endl; // 0

b=!b; cout << b << endl; // 1
b=10; cout << b << endl; // 1

b=!(8>10 || 7<5) && (10/2==5); cout << b << endl; // 1

cout <<endl;
cin>>c;

return 0;
}

Slajd 4

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 1.

a/b – dzielenie (całkowite lub zmiennoprzecinkowe)

a%b – a modulo b (reszta z dzielenia a przez b)

a*=b – mnoży a przez b i wynik umieszcza w a

a+=b – dodaje b do a i wynik umieszcza w a

u++ – najpierw zwraca wartość u a następnie dodaje do u 1

++u – najpierw dodaje do u 1 a następnie zwraca wartość u

int – typ całkowity

float – typ zmiennoprzecinkowy pojedynczej precyzji

double – typ zmiennoprzecinkowy podwójnej precyzji

char – typ znakowy

bool – typ logiczny

Slajd 5

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 2.

Wybrane funkcje z biblioteki cmath

#include <iostream>

#include <cmath>
using namespace std;

int main()
{

double a,b;
a=M_PI; cout << a << endl;

a=sin(M_PI/3); cout << a << endl;
b=cos(M_PI/3); cout << a*a+b*b << endl;

a = sqrt (2); cout << a << endl;
b = a*a; cout << b << endl;

b = pow(a,16); cout << b << endl;
a = log10(10000); cout << a << endl;

b = -exp(2); cout << abs(b) << endl;
char x;

cin>>x;
return 0;

}

Slajd 6

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 2.

sin(x) – sinus danej liczby

cos(x) – cosinus danej liczby

exp(x) – eksponent danej liczby

log10(x) – logarytm dziesiętny danej liczby

pow(a,b) – a do potęgi b

abs(a) – wartość bezwzględna a

Slajd 7

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 3.

Program pobiera imię i nazwisko. Jeśli imię to “Jan” wyświetlane są wykrzykniki. Program łaczy

tekst “Czesc “, imię, spacje i nazwisko w jeden tekst i wyświetla go, w następnej linii jego długość, a następnie
pierwszy, czwarty i piąty znak oddzielone spacją.

#include <iostream>

#include <string>
using namespace std;

int main()
{

string s1,s2;
cout << "Imie:"; cin >> s1;

cout << "Nazwisko:"; cin >> s2;
if (s1=="Jan") cout<<"!!!";

s1="Czesc "+s1+' '+s2;
cout << s1 << endl;

cout << s1.length() << endl;
cout << s1[0] << ' ' << s1[3] << ' ' << s1[4]<< endl;//C s c

char x;
cin >> x;

return 0;
}

Slajd 8

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 3.

s1==”Jan” – porównywanie tekstów odbywa się tradycyjnie

s1+s2 – dodawanie tekstów odbywa się tradycyjnie

s1.length() – zwraca długość tekstu s1 (liczbę znaków tekstu)

s1[3] – pobiera czwarty! (liczone od 0) znak tekstu s1

Slajd 9

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 4.

Różne operacje na tekście - wyniki operacji w komentarzach

#include <iostream>

#include <string>
using namespace std;

int main()
{

string s1,s2;
s1="Ala ma kota"; cout << s1 << endl; // Ala ma kota

s1=s1.substr(4,7); cout << s1 << endl; // ma kota
s1.erase(0,3); cout << s1 << endl; // kota

s2=" i psa";
s1+=s2; cout << s1 << endl; // kota i psa

cout << s1.find("psa") << endl; // 7
char x;

cin >> x;
return 0;

}

Slajd 10

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 4.

s1.substr(4,7) – pobiera podciąg ciągu s1 począwszy od znaku o
numerze 4 (piątego!) o długości 7

s1.erase(0,3) – usuwa podciąg ciągu s1 począwszy od znaku o
numerze 0 (pierwszego!) o długości 3

s1.find(“psa”) – szuka w s1 podciągu i zwraca nr znaku
począwszy od którego podciąg występuje

Slajd 11

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 5.

Pobranie linijki tekstu i wypisanie od końca

#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
int d;
getline(cin,s);
skok:
d=s.length();
if (d>0)
{
cout<<s[d-1];
s.erase(d-1,1);
goto skok;
}
cout<<endl;
system("PAUSE");
return 0;
}

Slajd 12

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 5.

getline(cin,s);

- pobiera do zmiennej s tekst ze strumienia cin

Slajd 13

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 6a.

- generowanie liczby losowej

#include <iostream>

#include <ctime>
using namespace std;

int main()
{

int i,j;
srand(time(0));

i=rand();
j = 100 * i * 1.0 / RAND_MAX;

cout << i << ' ' << j << ' ' << RAND_MAX << endl;
char x;

cin >> x;
return 0;

}

Slajd 14

Informatyka I – wykład 3

G.P.Korbaś

background image

Uwagi do programu 6.

rand()

- losuje liczbę całkowitą od 0 do RAND_MAX

RAND_MAX

liczba zależna od kompilatora – minimum 32767

srand(argument)

inicjuje generator liczb losowych zależnie od

argumentu

time(0)

z biblioteki

ctime

- zwraca aktualny czas w formacie

unixowym (liczba sekund od 01-01-1970 00:00)

Aby wylosować liczbę z przedziału <0,n> gdzie n jest pewną liczbą
naturalną można użyć polecenia

n*rand()*1.0/RAND_MAX;

Slajd 15

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 6b.

- generowanie liczby losowej, wykorzystanie stałej

#include <iostream>

#include <ctime>
using namespace std;

int main()

{
const int maxi=100;

int i,j;
srand(time(0));

i=rand();
j = maxi * i * 1.0 / RAND_MAX;

cout << i << ' ' << j << ' ' << RAND_MAX << endl;
char x;

cin >> x;
return 0;

}

Slajd 16

Informatyka I – wykład 3

G.P.Korbaś

background image

Program 6c.

- generowanie liczby losowej, wykorzystanie stałej (przed funkcją main) i rzutowanie - pozbycie się

ostrzeżenia kompilatora

#include <iostream>

#include <ctime>
using namespace std;

const int maxi=100;
int main()

{
int i,j;

srand(time(0));
i=rand();

j = int(maxi * i * 1.0 / RAND_MAX);
cout << i << ' ' << j << ' ' << RAND_MAX << endl;

char x;
cin >> x;

return 0;
}

Slajd 17

Informatyka I – wykład 3

G.P.Korbaś


Wyszukiwarka

Podobne podstrony:
lista 3 inf1 w3
lista 6 inf1 w6 dod
lista 6 inf1 w6
lista 6, inf1 w6
Lista W3 1
Systemy Bezprzewodowe W3
Gospodarka W3
w3 skrócony
AM1 w3
w3 recykling tworzyw sztucznych
Finansowanie W3
W2 i W3
so w3
UE W3 cut
W3 Elastycznosc popytu i podazy
reprod w3 2008

więcej podobnych podstron