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:

Instrukcje deklaracji zmiennych i stałych

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

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:

ZADANIA

Napisać program, który:

  1. wyświetlający wizytówkę osoby siedzącej przed komputerem w obramowaniu gwiazdek

  2. obliczający sumę, różnicę, iloczyn oraz iloraz dwóch liczb wprowadzonych przez użytkownika.

  3. dla zadanych liczb: liczby rzeczywistej x oraz liczby n równej 2,3,4,5, liczący x do potęgi n.

  4. obliczający dla zadanej długości promienia, obwód i pole koła - z kontrolą poprawności wprowadzanych danych.

  5. dla zadanego numeru miesiąca w 2008 roku ma podawać ilość dni w tym miesiącu (np. 1 - 31dni)

  6. 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”.

  7. 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 …”

  8. wczytuje dwie liczby rzeczywiste a i b i porządkuje je niemalejąco

  9. wczytuje trzy liczby a, b, c i podaje najmniejszą z nich.

  10. wyświetlający choinkę

*

* *

*******

Nie wolno używać spacji - zastąp je używając manipulatora setw

  1. 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”

  2. 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”.

  3. 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.