lekcja 6 SDQXGAXCIMKNDGB7UYAKDMBOZU7LELU25F5SQKI


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.

-1-

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;

-2-

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.

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

-3-



Wyszukiwarka

Podobne podstrony:
Lekcja kliniczna 2 VI rok WL
Lekcja Przysposobienia Obronnego dla klasy pierwszej liceum ogólnokształcącego
Lekcja wychowania fizycznego jako organizacyjno metodyczna forma lekcji ruchu
Lekcja kliniczna nr 2 VI rok WL
04 Lekcja
PF7 Lekcja2
lekcja52
Printing bbjorgos lekcja41 uzupelnienie A
lekcja 18 id 265103 Nieznany
Hydrostatyka i hydrodynamika lekcja ze wspomaganiem komputerowym
Lekcja 6 Jak zapamietywac z notatki Tajemnica skutecznych notatek
lekcja 20
lekcja20
Lekcja 04 Szene 04
LINGO ROSYJSKI raz a dobrze Intensywny kurs w 30 lekcjach PDF nagrania audio audio kurs
Printing bbjorgos lekcja01 05 A
'Half Life', czyli pół życia przed monitorem zagrożenia medialne foliogramy gim modul 3 lekcja 5
Lekcja od mamy
lekcja 3 id 265134 Nieznany

więcej podobnych podstron