C++ - wprowadzenie
Dyrektywy procesora:
<iostream> - umożliwia korzystanie z funkcji biblioteki obsługującej urządzenia wejścia i wyjścia.
<stdlib.h> - W pliku stdlib.h znajdują się zapowiedzi funkcji związanych głównie z systemem operacyjnym(np. czyszczenie ekranu) i z zamianą zmiennych jednego typu na inny typ.
<math.h> - umożliwia użycie funkcji matematycznych(np. sin, cos)
<fstream> - umożliwia operacje na plikach
<iomanip> - umożliwia użycie manipulatorów setw, setprecision itp.
using namespace std; - przestrzeń nazw określająca działanie funkcji cin, cout itp.
Struktura programów C++
Dyrektywy procesora (#include<iostream>,using namespace std …)
Skrócone nagłówki funkcji (zapowiedzi funkcji np. void wczytaj()…)
int main(…) - nagłówek programu
{
Instrukcja1
Instrukcja 2
…
Instrukcja n
system („PAUSE”); - zatrzymuje działanie programu aż do momentu naciśnięcia jakiegoś
klawisza
return 0; - kończy pracę programu
}
Definicje funkcji, których nagłówki zostały wypisane po dyrektywach procesora.
Podstawowe instrukcje:
Instrukcja wejścia : cin>>zmienna1>>zmienna2>>…;- powoduje wczytanie zmiennych z klawiatury
Instrukcja wyjścia: cout<<wyrażenie1<<wyrażenie2<<…; - wyświetla wyniki na ekranie
Instrukcje deklaracji zmiennych i stałych
Deklaracje zmiennych
Typ zmiennej nazwa_zmiennej; np. real x
Typ zmiennej nazwa_zmiennej=wartość_poczatkowa_zmiennej; np. real x = 0;
lub ogólniej
Typ zmiennych lista_zmiennych; np. real x,y
Deklaracje stałych
Const typ stałej nazwa_stałej=wartość_stałej;
np const float pi=3.14159
Podstawowe typy zmiennych:
* char - zmienna przechowuje znaki (litery, cyfry, znaki interpunkcyjne). Za pomącą tego typu zmiennej można także przechowywać niewielkie liczby.
* 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).
Przykład programu:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(…)
{ int a;
cout<<”podaj watosc a”;
cin>>a;
cout << „Podana wartosc to:”<<a;
system ("pause");
return 0;
}
Operatory arytmetyczne
* operator mnożenia
/ operator dzielenia
% operator dzielenia modulo
+ operator dodawania
- operator odejmowania
Bardzo podobne operatory do powyższych to:
*= pomnóż przez
/= podziel przez
%= podziel modulo przez
+= dodaj
-= odejmij
Zapis ten jest skróconym zapisem:
int liczba = 16;
liczba += 3; //to samo co: liczba=liczba+3;
liczba %= 5; //liczba ma teraz wartosc 19(mod)5 = 4
&& koniunkcja (and w TP)np. if a>=0 && a<5
|| alternatywa(or w TP) np if a>=0 || b<5
Operatory relacji
== operator porównania
!= operator nierówności
> operator większości
>= większe bądź równe
< operator mniejszości
<= mniejsze bądź równe
Operatory relacji zwracają wartości logiczne true/false (liczbowo 1/0).
Intstrukcja if - else
Podstawowa instrukcja warunkowa wygląda następująco:
if ( <warunek> )
{//blok1
...
}
else
{//blok2
...
}
Operator warunkowy
Operator warunkowy bardzo przypomina konstrukcje if - else:
( <warunek> ) ? <wyrażenie1> : <wyrażenie2>;
Jeżeli spełniony jest <warunek> to operator zwróci wartość <wyrażenia1>,w przeciwnym wypadku wartość <wyrażenia2>.
Np. (a==2)? „a rowne 2” : ”a nie rowne 2„
Manipulatory:
endl - przejście do początku nowej linii
setw(n) - przeznacza n pól na wyświetlenie liczby. Jeśli liczba jest mniejsza od ilości pól wówczas wolne pola od początku są wypełniane spacja np. setw(3)<<2 wyświetli _ _ 2, gdzie _ to spacja.
setprecision(n) - wymusza wprowadzenie liczby z n miejscami po przecinku. Ilość miejsc jest liczona razem ze znakiem „ .” np. setprecision(2)<<4.536 wyświetli 4.5
ZADANIA
Napisać program, który:
wyświetlający wizytówkę osoby siedzącej przed komputerem w obramowaniu gwiazdek
obliczający sumę, różnicę, iloczyn oraz iloraz dwóch liczb wprowadzonych przez użytkownika.
dla zadanych liczb: liczby rzeczywistej x oraz liczby n równej 2,3,4,5, liczący x do potęgi n.
obliczający dla zadanej długości promienia, obwód i pole koła - z kontrolą poprawności wprowadzanych danych.
dla zadanego numeru miesiąca w 2008 roku ma podawać ilość dni w tym miesiącu (np. 1 - 31dni)
wczytuje długości odcinków a, b, c trzech odcinków. Jeśli któraś wartość jest liczbą mniejszą od zera, program wyświetla komunikat o błędzie danych wejściowych. W przeciwnym wypadku program wyświetla jeden z komunikatów: „z tych odcinków można zbudować trójkąt” lub „z tych odcinków nie można zbudować trójkąta”.
wczytuje współrzędne punktu (x,y) i wyświetla jeden z komunikatów: „punkt leży w … ćwiartce” lub „punkt leży na osi …”
wczytuje dwie liczby rzeczywiste a i b i porządkuje je niemalejąco
wczytuje trzy liczby a, b, c i podaje najmniejszą z nich.
wyświetlający choinkę
*
* *
*******
Nie wolno używać spacji - zastąp je używając manipulatora setw
wczytujący współczynniki rzeczywiste układu równań drugiego stopnia z dwiema niewiadomymi i wyświetlający jego rozwiązanie jeśli jest on oznaczony lub w jeden z tekstów: „jest nieoznaczony” lub „jest sprzeczny”
rozwiązujący równanie kwadratowe ax2 + bx + c. Jeśli współczynnik przy największej potędze będzie równy zero ma się wyświetlany jest komunikat „dane równanie jest równaniem liniowym” oraz zostanie policzony pierwiastek tego równania. Gdy współczynniki przy drugiej i pierwszej potędze będą równe zero powinien wyświetlić się komunikat: „ stworzyłeś prostą o równaniu y = c”.
określający czy trójkąt zbudowany z trzech boków jest trójkątem równoramiennym, równobocznym czy trójkątem o różnych bokach. Sprawdź także czy z podanych boków da się zbudować trójkąt. Dla każdego z tych trójkątów ma zostać obliczony obwód.