Ogólna struktura i podstawowe elementy programu źródłowego w C++ - program sekwencyjny
Program sekwencyjny - proste typy danych, wybrane operatory, funkcje biblioteczne (matematyczne)
Cele ćwiczenia:
Umiejętność budowania algorytmów i ich postaci graficznej.
Zapoznanie z prostymi typami danych (całkowite, rzeczywiste) i deklaracją zmiennych.
Poznanie bogactwa operatorów w C++.
Zastosowanie biblioteki matematycznej w programowaniu (funkcje matematyczne).
Nowe zagadnienia:
algorytm ,
schemat blokowy,
proste typy danych
biblioteka standardowa (math.h, ),
Definicje nowych pojęć do przyswojenia:
algorytm - sposób, metoda rozwiązania jakiegoś problemu w skończonej liczbie kroków.
schemat blokowy - graficzny obraz algorytmu,
typ danych - definiuje zakres lub zbiór dopuszczalnych wartości dla stałej, zmiennej, wyrażenia, funkcji oraz zbiór dopuszczalnych operacji wykonywanych na tych wartościach. Określa też format zapisu w pamięci.
Typy całkowite - (skończone , przeliczalne podzbiory zbioru liczb całkowitych)
Niektóre typy całkowite i ich zakresy
Nazwa |
Zakres |
liczba bajtów |
char, signed char unsigned char int, signed int unsigned int long, signed long unsigned long |
-128 ... 127, jeden znak 0 ... 255, jeden znak -32768 ... 32767 0 ... 65535 -2 mld ... 2 mld 0 ... 4 mld |
1 1 2 2 4 4 |
Deklaracje zmiennych całkowitych
char a, b;
int x, y=2;
składnia
typ całkowity identyfikator[=stała typu całkowitego]
Typy rzeczywiste - (skończone , przeliczalne podzbiory zbioru liczb rzeczywistych)
Typy rzeczywiste i ich zakresy
Nazwa |
Zakres |
Liczba znaczących cyfr |
liczba bajtów |
float (pojedyńczej precyzji) double (podwójnej precyzji) long double (wysokiej precyzji) |
3.4 E-38 ... 3.4 E38 1.7 E-308 ... 1.7 E308 3.4 E-4932 ... 1.1 E4932 |
6 15 18 |
4 8 10 |
Deklaracje zmiennych rzeczywistych
float a, b=-123.16e12;
double x, y=.1245;
składnia
typ rzeczywisty identyfikator[=stała typu rzeczywistego]
operatory arytmetyczne - addytywne +, -; multiplikatywne *, /, %; ikrementacji ++; dekrementacji --,
operatory przypisania - prosty: =; złożone: +=, -=, *=, /=, %=,
math.h - biblioteka standardowa zawierająca funkcje matematyczne
Niektóre funkcje matematyczne z biblioteki math.h
FUNKCJE TRYGONOMETRYCZNE:
cos(x) double cos(double x);
long double cos(long double x);
sin(x) double sin(double x);
long double sin(long double x);
tan(x) double tan(double x);
long double tan(long double x);
FUNKCJE WYKŁADNICZE I LOGARYTMICZNE:
exp(x) double exp(double x);
long double exp(long double x);
log(x) double log(double x); logarytm naturalny
long double log(long double x);
log10(x) double log10(double x); logarytm dziesiętny
long double log10(long double x);
POTĘGI I PIERWIASTKI:
pow(x,y) double pow(double x, double y); potęgowanie xy
long double pow(long double x, long double y);
pow10(p) double pow10(int p); potęgowanie 10p
long double pow10(int p);
sqrt(x) double sqrt(double x); pierwiastek kwadratowy
long double sqrt(long double x);
INNE FUNKCJE:
ceil(x) double ceil(double x); zaokrąglenie x w górę
long double ceil(long double x);
floor(x) double ceil(double x); zaokrąglenie x w dół
long double ceil(long double x);
fabs(x) double fabs(double x); moduł x
long double fabs(long double x);
fmod(x,y) double fmod(double x, double y); reszta z dzielenia x/y (modulo)
long double fmod(long double x, long double y);
abs(x) int abs(int x); moduł x
Stałe matematyczne
Identyfikator |
znaczenie |
M_E |
e |
M_LOG2E |
log2(e) |
M_LOG10E |
log10(e) |
M_LN2 |
ln(2) |
M_LN10 |
ln(10) |
M_PI |
π |
M_PI_2 |
π/2 |
M_PI_4 |
π/4 |
M_1_PI |
1/π |
M_2_PI |
2/π |
M_1_SQRTPI |
1/sqrt(π) |
M_2_SQRTPI |
2/sqrt(π) |
M_SQRT2 |
sqrt(2) |
M_SQRT_2 |
1/sqrt(2) |
Zadanie 1
Napisz program do obliczania odległości między dwoma punktami na płaszczyźnie.
Program źródłowy
#include <iostream.h>
#include <conio.h>
#include <math.h> //obsługa standardowych funkcji matematycznych
main()
{
float x1,y1,x2,y2,AB;
clrscr;
cout<<"Podaj wspolrzedne punktu A(x1,y1)"<<endl;
cin>>x1;
cin>>y1;
cout<<"Podaj wspolrzedne punktu B(x2,y2)"<<endl;
cin>>x2;
cin>>y2;
AB=sqrt(pow((x1-x2),2)+pow((y1-y2),2)); // instrukcja przypisania z funkcjami matemat.
cout<<"Odleglosc miedzy punktami A i B wynosi: "<<AB<<endl;
getch();
return 0;
}
Zadania C++ - 1.2
Napisz program, który oblicza i wyprowadza na ekran dla podanego z klawiatury x wartości następujących wyrażeń:
x0.2 1/x
Napisz program, który oblicza i wyprowadza na ekran dla podanego z klawiatury x (x podajemy w stopniach) wartości następujących wyrażeń:
sin(x) cos(x) tan(x) cos3(x)
Napisz program, który oblicza i wyprowadza na ekran dla podanego z klawiatury x wartości następujących wyrażeń:
ln(x) log(x) 1/ln(x2) e(x+1)
Napisz program, który oblicza i wyprowadza na ekran resztę z dzielenia dwóch dowolnych liczb x i y podanych z klawiatury.
Napisz program, który oblicza i wyprowadza na ekran dla podanych z klawiatury parametrów a,b,c,d,e,f wartości następujących wyrażeń:
Napisz program do obliczania odległości między dwoma punktami w przestrzeni trójwymiarowej wg wzoru:
Zadeklaruj dwie zmienne typu int i float przypisując im dowolne wartości, następnie wyświetl na ekranie ich wartości oraz ich sumę i różnicę.
Napisz program który oblicza pole powierzchni i objętość (parametry brył podane z klawiatury) następujących brył:
-prostopadłościanu,
-sześcianu,
-kuli (P=4πr2, V=4/3πr3).
Napisz program, który zapyta cię o wiek a następnie obliczy ile będziesz miał lat za 510 miesięcy.
Napisz program, który przekształci podaną wartość temperatury w stopniach Celsjusza na wartość w stopniach Kelvina i Fahrenheita.
Ćwiczenia laboratoryjne nr 1.2
„Język Programowania” str. 1
START
OBLICZ
Wprowadź dane
A(x1,y1), B(x2,y2)
Wyprowadź
AB
STOP