Aktualizacja: 23.06.2005  Wersja: 0.4.48
Szukaj ::..
Temat ::..

..:: HOME ::..

  ::..:: INTERNETOWY SERWIS PROGRAMISTYCZNY ::..::

 

 

LEKCJA 6

LEKCJA 6 - NASTĘPNY PROGRAM - KOMPUTEROWA ARYTMETYKA. 
________________________________________________________________ 
W trakcie tej lekcji napiszesz i uruchomisz następny program 
wykonujący proste operacje matematyczne. 
________________________________________________________________ 

Aby przystąpić po wyjaśnieniach do pracy nad drugim programem, 
powinieneś wykonać następujące czynności: 

1. Zrób porządek na ekranie. Zamknij rozkazem Close z menu 
Window zbędne okna (możesz posłużyć się kombinacją [Alt]-[F3]). 
2. Rozwiń menu File. 
3. Wybierz z menu rozkaz Open... 
4. Wpisz do okienka tekstowego: 
A:\DRUGI.CPP 
5. Naciśnij [Enter]. 
6. Wpisz do okienka edytora tekst programu: 

[P003.CPP ] 
/* Program przykladowy: _DRUGI.CPP */ 


# include <conio.h> /* zwróć uwagę, że tu NIE MA [;] ! */ 
# include <stdio.h> /* drugi plik nagłówkowy */ 

int main() /* tu tez nie ma średnika [;] ! */ 

float x, y; 
float wynik; 

clrscr(); 
printf("Zamieniam ulamki zwykle na dziesietne\n"); 
printf("\nPodaj licznik ulamka: "); 
scanf("%f", &x); /* pobiera liczbę z klawiatury */ 
printf("\nPodaj mianownik ulamka: "); 
scanf( "%f", &y); 

wynik = x / y; /* tu wykonuje sie dzielenie */ 

printf("\n %f : %f = %f", x, y, wynik); 
printf("\n nacisnij dowolny klawisz...\n"); 

getch(); /* program czeka na nacisniecie klawisza. */ 

return 0; //<-- zwrot zera do systemu 



UWAGA: 
_________________________________________________________________ 
* Komentarze ujęte w [/*.....*/] możesz pominąć. Komentarz jest 
przeznaczony dla człowieka. Kompilator ignoruje całkowicie 
komentarze i traktuje komentarz jak puste miejsce, a dokładniej 
- tak samo jak pojedynczą spację. Komentarz w C++ może mieć dwie 
formy: 

/* Tekst komentarza */ 
// Tekst komentarza 

w drugim przypadku ogranicznikiem pola komentarza jest koniec 
wiersza. 

* Spacjami i TABami możesz operować dowolnie. Kompilator 
ignoruje także puste miejsca w tekście. Nie należy natomiast 
stosować spacji w obrębie słów kluczowych i identyfikatorów. 
________________________________________________________________ 


7. Skompiluj program [Alt]-[C], [M] lub [Enter]. 

8. Popraw ewentualne błędy. 

9. Uruchom program rozkazem Run, naciskając [Alt]-[R], [R]. 

10. Zapisz wersję źródłową programu DRUGI.CPP na dyskietkę A:\ 
stosując tym razem SHORTCUT KEY - klawisz [F2]. 

[S!] scanf() - SCANing Function - Funkcja SKANująca. 
________________________________________________________________ 
Funkcja pobiera ze standardowego urządzenia wejścia- zwykle z 
klawiatury podaną przez użytkownika liczbę lub inny ciąg znaków. 

Działa podobnie do funkcji INPUT w Basicu, czy readln w Pascalu. 

* float - do Floating Point - "Pływający" - zmienny przecinek. 
Słowo kluczowe służące do tzw. DEKLARACJI TYPU ZMIENNEJ lub 
funkcji. Oznacza liczbę rzeczywistą np.: float x = 3.14; 

* int - od Integer - całkowity. 
Słowo kluczowe służące do deklaracji typu zmiennej lub funkcji. 
Oznacza liczbę całkowitą np.: 768. 

* #include - Włącz. 
Dyrektywa włączająca cały zewnętrzny plik tekstowy. W tym 
przypadku włączone zostały dwa tzw. pliki nagłówkowe: 
CONIO.H i STDIO.H. 

* CONIO.H - CONsole Input/Output. 
Plik nagłówkowy zawierający prototypy funkcji potrzebnych do 
obsługi standardowego Wejścia/Wyjścia na/z konsoli (CONsole). 
Plik zawiera między innymi prototyp funkcji clrscr(), potrzebnej 
nam do czyszczenia ekranu. 

*STDIO.H - STanDard Input/Output 
Plik nagłówkowy zawierający prototypy funkcji potrzebnych do 
obsługi standardowego Wejścia/Wyjścia na/z konsoli (Input - 
Wejście, Output - Wyjście). Plik zawiera między innymi prototyp 
funkcji printf(), potrzebnej nam do drukowania wyników na 
ekranie. 

return - słowo kluczowe: Powrót, zwrot. 

Po wykonaniu programu liczba 0 (tak kazaliśmy programowi 
rozkazem return 0;) jest zwracana do systemu operacyjnego, w 
naszym przypadku do DOSa. Zwróć uwagę, że nie pojawiło się tym 
razem ostrzeżenie WARNING podczas kompilacji. 
________________________________________________________________ 


OPERATORY ARYTMETYCZNE C++. 

C++ potrafi oczywiście nie tylko dzielić i mnożyć. Oto tabela 
operatorów arytmetycznych c i C++. 

OPERATORY ARYTMETYCZNE języka C++. 
________________________________________________________________ 

Operator Nazwa Tłumaczenie Działanie 
________________________________________________________________ 

+ ADDition Dodawanie Suma liczb 
- SUBstraction Odejmowanie Różnica liczb 
* MULtiplication Mnożenie Iloczyn liczb 
/ DIVision Dzielenie Iloraz liczb 
% MODulus Dziel Modulo Reszta z dzielenia 
________________________________________________________________ 


Przykładowe wyniki niektórych operacji arytmetycznych. 
________________________________________________________________ 

Działanie (zapis w C++) Wynik działania 
________________________________________________________________ 

5 + 7 12 
12 - 7 5 
3 * 8 24 
10 / 3 3.333333 
10 % 3 1 
________________________________________________________________ 



[???] Czym różni się dzielenie / od % ? 
________________________________________________________________ 
Operator dzielenia modulo % zamiast wyniku dzielenia - daje 
rzesztę z dzielenia. Dla przykładu, dzielenie liczby 14 przez 
liczbę 4 daje wynik 3, reszta z dzielenia 2. Wynik operacji 

14%4 

będzie więc wynosić 2. Operator ten jest niezwykle przydatny np. 
przy sprawdzaniu podzielności, skalowaniu, określaniu zakresów 
liczb przypadkowych, itp.. 

Przykłady generacji liczb pseudolosowych wybiegają nieco w przyszłość, 
ale postanowiłem w Samouczku umieścić je razem. Po przestudiowaniu 
tworzenia pętli programowych możesz wrócić do tej lekcji i rozważyć
przykłady po raz wtóry.

Przykład 1:

randomize();
int X=ramdom();
X = X % 10;

Przykład 2:
---------------------
#include <stdlib.h> /* Zwróc uwagę na dołączony plik */
#include <stdio.h>

main()
{
int i;

printf("Dziesięć liczb pseudo-losowych od 0 do 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}

Przykad3
--------------------
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main()
{
randomize();
printf("Liczby pseudolosowe z zakresu: 0-99 --> %d\n", random (100));
}

Przykład 4
-----------------
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void)
{
int i;

randomize();
printf("Liczby pseudolosowe: 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}

Zwróć uwagę, że to randomize() uruchamia generator liczb pseudolosowych,
czyli jakgdyby "włącza bęben maszyny losującej".
________________________________________________________________ 


Wykonaj z programem DRUGI.CPP kilka eksperymentów. 

[Z] 
________________________________________________________________ 
1. Zamień operator dzielenia na operator mnożenia [*]: 

wynik = x * y; /* tu wykonuje sie mnożenie */ 

i napis w pierwszej funkcji printf() na np. taki: 

printf( "Wykonuje mnozenie liczb" ); 

Uruchom program. Sprawdź poprawność działania programu w 
szerokim zakresie liczb. Przy jakiej wielkości liczb pojawiają 
się błędy? 

2. Zmień nazwy zmiennych x, y, wynik na inne, np.: 
to_jest_liczba_pierwsza, 
to_jest_liczba_druga, 
itp. 
Czy C++ poprawnie rozpoznaje i rozróżnia takie długie nazwy? 
Kiedy zaczynają się kłopoty? Sprawdź, czy można w nazwie 
zmiennej użyć spacji? Jaki komunikat wyświetli kompilator? 
________________________________________________________________ 

[???] PRZEPADŁ PROGRAM ??? 
________________________________________________________________ 
Nie przejmuj się. Wersja początkowa programu DRUGI.CPP jest na 
dyskietce dołączonej do niniejszej książki (tam nazywa się 
DRUGI.CPP). 
Zwróć uwagę, że kompilator C++ tworzy automatycznie kopie 
zapasowe plików źródłowych z programami i nadaje im standardowe 
rozszerzenie *.BAK. Zanim zatem zaczniesz się denerwować, 
sprawdź, czy kopia np. DRUGI.BAK nie jest właśnie tą wersją 
programu, która Ci "przepadła". 
________________________________________________________________ 

__________________________________________________________________
EOF

 


DZIAŁ C&C++
...

TYP I NAZWA PLIKÓW  DO POBRANIA:
.....
...
... LEKCJA6.txt 9kB
FORMAT ARCHIWUM:
...
...

 

 

Strona poœwięcona jest technologiom programowania C++ z wykorzystaniem pakietu Visual C++, Pascal, DELPHI, C oraz technologiom tworzenia grafiki komputerowej z wykorzystaniem OpenGl i innych technik.
Wszelkie materiały zamieszczone zostały na stronie w celach dydaktycznych. Autor nie ponosi odpowiedzialnoœci za treœci materiałów oraz skutki wywołane ich wykorzystaniem.

(c) P.PARDEL 2001-2005 gg:1991389

Serwis znajduje się na serwerze www.friko.pl ..::..::..