METODY I JĘZYKI PROGRAMOWANIA. Programowanie w języku C notatki z wykładów

Wielkość: px
Rozpocząć pokaz od strony:

Download "METODY I JĘZYKI PROGRAMOWANIA. Programowanie w języku C notatki z wykładów"

Transkrypt

1 METODY I JĘZYKI PROGRAMOWANIA Programowanie w języku C notatki z wykładów - Różnice zapisu algorytmu w C i PASCALu - Formatowane WE/WY w C. Funkcje printf() i scanf() - Stałe i zmienne języku C. Typy wartości. - Podstawowe instrukcje - Operatory - Funkcje - Tablice 1

2 Programowanie w C dla znających PASCAL /* 1 przykladowy program C */ #include <stdio.h> void main(void) printf( Dzien ); printf( dobry!\n ); 1 przykladowy program PAS begin write( Dzien ); writeln( dobry! ); end. #include dyrektywa dołączenia tekstu zawartego w pliku stdio.h (StandardInputOutput) plik definicji funkcji Wej/Wyj main zastrzeżona nazwa głównej funkcji programu void typ danej pustej \n przejscie do nowego wiersza \t znak tabulacji \ znak cudzysłowu \\ jeden znak \ // 2 przyklad dodawanie liczb #include <stdio.h> #include <conio.h> int x,y,s; void main(void) clrscr(); printf( Podaj x = ); scanf( %d, &x ); printf( Podaj y = ); scanf( %d, &y ); s = x+y; printf( Suma x+y = %d\n, s ); getch(); (* 2 przyklad dodawanie *) uses crt; var x,y,s:integer; begin clrscr; write( Podaj x = ); readln( x ); write( Podaj y = ); readln( y ); s := x+y; writeln( Suma x+y =, s ); readkey; end. 2

3 Ilustracja podstawowych różnic pomiędzy składnią języków C #include <nazwa_biblioteki> #define Pi 3.14 typedef int tablica[10]; int i, j, k; float x, y, z; char znak; void NazwaProc( void ) int x; x = 10 * 5; scanf( %f, &y ); // NazwaProc float NazwaF( float x ) float z; if( x == 0 ) z = -1; z = 1/x; return( z ); // NazwaF void main( void) double wynik; printf( Podaj liczbe y = ); NazwaProc(); wynik = NazwaF( y ); if( wynik!= -1 ) printf( Wynik = %f, wynik ); printf( Dzielenie przez zero ); znak=getch(); PASCAL program nazwa_programu ; uses nazwa_biblioteki ; const Pi = 3.14; type tablica=array[0..9]of integer; var i, j, k : integer; x, y, z : real; znak : char; procedure NazwaProc; var x : integer; begin x := 10 * 5; read( y ); end; (* NazwaProc*) function NazwaF( x:real ):real; var z:real; begin if x = 0 then z := -1 z := 1/x; NazwaF := z; end;(* nazwaf*) var wynik : real; begin write( Podaj liczbe y = ); NazwaProc; wynik := nazwaf( y ); if wynik <> -1 then write( Wynik =, wynik ) write( Dzielenie przez zero ); znak:=readkey; end. 3

4 Stałe i zmienne w języku C Definiowanie zmiennych ustalenie nazwy, typu, rezerwacja pamięci nazwa_typu nazwa_zmiennej ; nazwa_typu zmienna_1, zmienna_2, zmienna_3 ; Podstawowe typy: Nazwa typu Zawartość Przedział wartości Zajęt. pamięć char znak bajt int liczba całkowita bajty long liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczyw (7cyfr) 4 bajty double liczba rzeczyw (15 cyfr) Modyfikatory typu: 8 bajtów signed ze znakiem (±), int char unsigned bez znaku, int char short krótka (mniejsza), int long długa (większa) int double np. unsigned long int dluga_liczba_bez_znaku ; Wartości domyślne: long = long int int = signed int char = signed char Type Length Range unsigned char 8 bits char 8 bits enum 16 bits -32,768 32,767 unsigned int 16 bits 0 65,535 short int 16 bits -32,768 32,767 int 16 bits -32,768 32,767 unsigned long 32 bits 0 4,294,967,295 long 32 bits -2,147,483,648 2,147,483,647 float 32 bits 3.4 * (10**-38) 3.4 * (10**+38) double 64 bits 1.7 * (10**-308) 1.7 * (10**+308) long double 80 bits 3.4 * (10**-4932) 1.1 * (10**+4932) 4

5 Formatowane WE/WY w języku C Funkcja: printf() <stdio.h> format wysyła sformatowane dane do standardowego strumienia wyjściowego int printf ( format, argument_1, argument_2,... ) ; jest to stała łańcuchowa (w podwójnych cudzysłowach) zawierająca: zwykłe znaki (które są po prostu kopiowane na ekran) kody formatujące kolejnych argumentów: %c pojedynczy znak %s łańcuch znaków %d liczba dziesiętna ze znakiem %f liczba zmiennoprzecinkowa (notacja dziesiętna) %e liczba zmiennoprzecinkowa (notacja wykładnicza) %g liczba zmiennoprzecinkowa (krótszy z formatów %f %e) %u liczba dziesiętna bez znaku %x liczba w kodzie szesnastkowym (bez znaku) %o liczba w kodzie ósemkowym (bez znaku) l przedrostek (long) stosowany przed: d u x o np. #include <stdio.h> void main(void) int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); efekt na ekranie Wynik obliczen = Aby określić ilość drukowanych cyfr do kodu formatującego można dodać kody długości: %Xd %X.Xf np. %4d liczba dziesiętna na czterech pozycjach %10f liczba rzeczywista na 10 pozycjach %10.2f liczba rzeczywista na 10 pozycjach, 2 cyfry po przecinku %.3f liczba rzeczywista z dokladnoscią do 3 cyfr po przecinku 5

6 Funkcja: scanf() <stdio.h> odczytuje dane ze standardowego strumienia wejściowego w/g zadanego formatu i zapamiętuje je pod zadanymi adresami pamięci int scanf ( format, adres_1, adres_2,... ) ; format jest to stała łańcuchowa (w podwójnych cudzysłowach) zawierająca instrukcję jak traktować kolejne dane wczytywane ze strumienia (jakie typy zmiennych są pod adresami adres_1, adres_2,... ) Kody formatujące (podobne jak dla printf() ): %c pojedynczy znak %s łańcuch znaków %d liczba dziesiętna ze znakiem %f lub %e liczba zmiennoprzecinkowa %u liczba dziesiętna bez znaku %x liczba w kodzie szesnastkowym (bez znaku) %o liczba w kodzie ósemkowym (bez znaku) l przedrostek stosowany przed: d u x o (long int) l przedrostek stosowany przed: f e (double) L przedrostek stosowany przed: f e (long double) & operator referencji (zwraca adres zmiennej podanej po operatorze) np. #include <stdio.h> void main(void) int x; double y; char znak; printf( Podaj jedna liczbe calkowita: ); scanf ( %d, &x ); printf( Podaj jedna liczbe rzeczywista i jeden znak: ); scanf ( %lf %c, &y, &znak ); Wydruk Podaj jedna liczbe calkowita: Odczyt 123 Wydruk Podaj jedna liczbe rzeczywista i jeden znak: Odczyt a Wynik wczytywania: x == 123, y == , znak == a 6

7 OPERATORY operatory arytmetyczne: + dodawanie - odejmowanie mnożenie / dzielenie % reszta z dzielenia operatory przypisania: = zwykłe przypisanie x = 2; += przypisanie sumy x+=2; x = x + 2; -= przypisanie różnicy x =2; x = x 2; = przypisanie iloczynu x =2; x = x 2; /= przypisanie ilorazu x /=2; x = x / 2; %= przypisanie reszty x%=2; x = x % 2; operatory inkrementacji i dekrementacji: zmienna++ ++zmienna zmienna zmienna inkrementacja zmiennej po wyliczeniu wyrażenia inkrementacja zmiennej przed wyliczeniem wyrażenia dekrementacja zmiennej po wyliczeniu wyrażenia dekrementacja zmiennej przed wyliczeniem wyrażenia np. int x, y = 1; x = ++ y ; / rezultat: x=2, y=2 / x = y ++ ; / rezultat: x=1, y=2 / operatory relacyjne: == równe!= różne < mniejsze > większe <= mniejsze lub równe >= większe lub równe operatory logiczne: && koniunkcja (AND) alternatywa (OR)! negacja (NOT) bitowe operatory logiczne: & bitowa koniunkcja (AND) bitowa alternatywa (OR) ^ bitowa różnica symetryczna (XOR) << przesunięcie bitów w lewo >> przesunięcie bitów w prawo ~ negacja bitów 7

8 Priorytety operatorów w języku C: Operator Opis Przykład ( ) wywołanie funkcji sin() [ ] element tablicy tab[10]. element struktury osoba.nazwisko > wskazanie elemenu struktury wsk_osoby >nazwisko! negacja logiczna if(! (x >max) ) kontynuuj; ~ negacja bitowa ~(001101) (110010) zmiana znaku (negacja) x = 10 ( y) ++ inkrementacja (zwiększenie o 1) x y (x+ +) + y dekrementacja (zmiejszenie o 1) y y ( y) & operator referencji (adres elementu) wsk_x = &x operator dereferencji wsk_x = 10 (type) zmiana typu (typecast) (double) sizeof rozmiar zmiennej lub typu (w bajtach) sizeof( int ) 2 mnożenie / dzielenie % operacja modulo (reszta z dzielenia) if( x%2 == 0 ) parzyste; + dodawanie odejmowanie << przesunięcie bitowe w lewo 1 << 2 (0001) << 2 (0100) >> przesuniecie bitowe w prawo x = 4 >>1 x = 2 < mniejszy niż if( liczba < max ) max = liczba; <= mniejszy lub równy > wiekszy niż >= wiekszy lub równy == równy!= nierówny (różny od) & iloczyn bitowy ^ suma bitowa modulo (różnica symetryczna) suma bitowa && iloczyn logiczny suma logiczna? : wyrażenie warunkowe = przypisanie wartości = /= %= += skrócone formy przypisania arytmetycznego = <<= >>= &= ^= =, operator przecinka 8

9 JĘZYK C fi PODSTAWOWE INSTRUKCJE Nawiasy klamrowe są używane do grupowania wielu deklaracji i instrukcji w jedną instrukcję złożoną (jeden blok). Instrukcja warunkowa: if ( wyrażenie ) instrukcja_1 ; instrukcja_2 ; część od słowa można pominąć, instrukcja sprawdza czy wyrażenie jest różne od zera tzn. if ( wyrażenie ) jest równoważne if ( wyrażenie!= 0 ) Konstrukcja -if: if ( wyrażenie_1 ) Instrukcja wyboru: instrukcja_1; if ( wyrażenie_2 ) instrukcja_2; if ( wyrażenie_3 ) instrukcja_3; instrukcja_4; switch ( wyrażenie_całkowite ) case wartość_1 : instrukcja_1; break; case wartość_2 : case wartość_3 : case wartość_4 : instrukcja_234; break; default : instrukcja_domyslna; break; 9

10 Przykłady dla instrukcji warunkowej: #include <stdio.h> // Wartość maksymalna z trzech wczytanych liczb void main(void) int A, B, C, max; printf( Podaj pierwsza liczbe: ); scanf( %d, &A ); printf( Podaj druga liczbe: ); scanf( %d, &B ); printf( Podaj trzecia liczbe: ); scanf( %d, &C ); max = A; if( max < B ) max = B; if( max < C ) max = C; printf( \n Maksymalna wartosc = %d, max ); getchar(); #include <stdio.h> // Pierwiastki trójmianu kwadratowego Ax 2 +Bx+C=0 #include <conio.h> #include <math.h> void main( void ) double a, b, c, delta, x1, x2; clrscr(); printf( "Podaj pierwsza liczbe A= " ); scanf( "%lf", &a ); // Uwaga!!! %lf a nie %f printf( "Podaj druga liczbe B= " ); scanf( "%lf", &b ); printf( "Podaj trzecia liczbe C= " ); scanf( "%lf", &c ); delta = b b 4 a c; if( delta < 0 ) printf( "\n Brak rozwiazan" ); if( delta == 0 ) x1 = x2 = b/(2 a); printf( "Jest jedno rozwiazanie x1=x2= %f", x1 ); x1 = ( b sqrt(delta)) / (2 a); x2 = ( b + sqrt(delta)) / (2 a); printf( "Sa dwa rozwiazania x1= %.2f, x2= %.2f", x1, x2 ); 10

11 Przykład dla instrukcji wyboru: #include <stdio.h> void main( void ) char znak; double a, b, wynik; printf( "Podaj pierwsza liczbe A =" ); scanf( "%lf", &a ); printf( "Podaj druga liczbe B =" ); scanf( "%lf", &b ); printf( "\n\nmozliwe operacje:" ); printf( "\n (+) wynik = A + B" ); printf( "\n ( ) wynik = A B" ); printf( "\n ( ) wynik = A B" ); printf( "\n ( / ) wynik = A / B" ); printf( "\n\npodaj znak operacji: " ); // Program zawierający proste menu // wczytanie dwóchliczb z klawiatury // wyswietlenie menu flushall( ); // wyczyszczenie wszystkich buforów (tutaj->klawiatury) znak = getchar( ); // wczytanie znaku wybranej operacji switch( znak ) // instrukcja wyboru jednej z operacji arytmetycznych case '+' : wynik = a + b; break; case ' ' : wynik = a b; break; case ' ' : wynik = a b; break; case '/' : wynik = a / b; break; default: wynik = 0; printf( "\nbład operatora: podano zły znak operacji" ); break; // wydruk liczb i wyniku z zadana dokladnoscia miejsc po przecinku printf( "\nwynik obliczen: %.1f %c %.1f = %.2f ", a, znak, b, wynik ); printf( "\n\nkoniec programu. Nacisnij dowolny klawisz" ); fflush( stdin ); getchar( ); // wyczyszczenie bufora strumienia <stdin> tzn. klawiatury 11

12 Programowanie iteracji - INSTRUKCJE PĘTLI Pętla while( ): while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna od zera int i = 10; while( i!= 0 ) printf ( %2d\n, i ); i = i 1; int i = 10; while( i ) printf ( %2d\n, i ); Pętla do while( ): do instrukcja; while ( wyrażenie ); do instrukcja_1; instrukcja_2;... instrukcja_n; while ( wyrażenie ); Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna od zera 12

13 Pętla for( ): for( wyrazenie_inicjujace ; wyrazenie_testujace ; wyrazenie_modyfikujace ) wykonywana_instrukcja ; jest równoważna konstrukcji: wyrazenie_inicjujace ; while( wyrazenie_testujace ) wykonywana_instrukcja ; wyrazenie_modyfikujace ; int i ; i = 10; while( i!= 0 ) printf ( %2d\n, i ); i = i 1; lub int i ; for( i = 10; i!= 0 ; i = i 1 ) printf( %2d\n, i ); int i ; for( i = 10; i ; printf( %2d\n, i ) ) ; //przykładowy program wypisujacy tabele kodów ASCII #include <stdio.h> void main(void) int n; printf( \n ); for( n=32; n<256; n++ ) printf( %3d = %c\n, n, n ); //prymitywny kalkulator biurowy #include <stdio.h> void main(void) double suma=0, liczba; while( scanf( %lf, &liczba ) > 0 ) printf( \t%.2f\n, suma+=liczba ); 13

14 #include <stdio.h> // program zliczający naciskane klawisze #include <conio.h> void main(void) int licznik = 0, klawisz; printf( Program zliczajacy naciskane klawisze. Koniec = ESC ); do klawisz = getch(); licznik++; while( klawisz!= 27 ) // 27 = kod klawisza Escape printf( \n Ilosc nacisnietych klawiszy = %d, licznik ); // ten sam program z użyciem pętli for int licznik; for( licznik = 0 ; getch()!= 27 ; licznik++ ) #include <stdio.h> //program klasyfikujący naciskane klawisze #include <conio.h> #define ESC 27 //definicja kodu klawisza «Escape» void main(void) int klawisz=0; clrscr(); while( klawisz!= ESC ) printf( \n\nnacisnij jakis klawisz (ESC->Koniec): ); klawisz = getch(); if( a <=klawisz && klawisz<= z ) printf( -> To jest mala litera. ); if( A <=klawisz && klawisz<= Z ) printf( -> To jest duza litera. ); if( 0 <=klawisz && klawisz<= 9 ) printf( -> To jest cyfra. ); if( klawisz == 13 ) printf( -> To jest klawisz ENTER. ); if( klawisz == ) printf( -> To jest klawisz spacji ); printf( -> To jest inny klawisz. ); 14

15 #include <stdio.h> //program rozpoznajacy klawisze funkcyjne #include <conio.h> #include "def_klaw.h" //dołaczenie pliku zawierajacego definicje klawiszy void main( void ) int klawisz; clrscr(); do printf( "\n\n Nacisnij jakis klawisz: " ); klawisz = getch( ); switch( klawisz ) case ENTER : printf( "To jest ENTER" ); break; case ESC : printf( "To jest ESCAPE" ); break; case ZERO : // pierwszy odczytany znak mial kod równy 0 klawisz = getch( ); switch( klawisz ) case DELETE : printf( "Delete" ); break; case UP_ARROW : printf( "Up arrow" ); break; case DOWN_ARROW : printf( "Down arrow" ); break; break; case BACKSPACE : printf( "To jest BACKSPACE" ); break; default : printf( "Nieznany pojedynczy klawisz" ); break; 15

16 Funkcja (podprogram) Funkcja jest częścią programu, realizującą pewne ściśle określone zadanie. Program w języku C składa się ze zbioru funkcji napisanych prze programistę. Ponadto, może on korzystać z funkcji zewnętrznych, np. napisanych przez twórców systemu operacyjnego, kompilatora, a także inne osoby. Funkcje te umieszczone są w specjalnych plikach nazywanych bibliotekami. Każdy program w języku C/C++ MUSI zawierać przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Składnia definicji funkcji: zwracany_typ NAZWA_FUNKCJI ( lista parametrów ) instrukcja lub sekwencja instrukcji ; przykład: int MAX ( int liczba_1, int liczba_2 ) if( liczba_1 > liczba_2 ) return liczba_1 ; return liczba_2 ; lista parametrów może być pusta lub zawierać opisy kolejnych parametrów (pooddzielane przecinkami): main( ) main( void ) main( int argc, char argv[ ] ) parametry definiowane są tak jak zmienne. Uwaga: nie można grupować sekwencji parametrów tego samego typu: int MAX ( int liczba_1, liczba_2 ) źle! ciało funkcji jest zawarte pomiędzy nawiasami:... (bez średnika na końcu) działanie funkcji kończy się po napotkaniu polecenia return lub po wykonaniu sekwencji wszystkich instrukcji zawartych w ciele funkcji, jeżeli funkcja jest typu void, to używamy samego słowa return, bez żadnego wyrażenia po nim, jeżeli funkcja jest typu innego niż void to po poleceniu return musi się pojawić wyrażenie odpowiedniego typu (może być w nawiasach), np.: 16

17 return liczba_1; lub return( liczba_1 ) ; Prototyp funkcji deklaracja uprzedzająca, (objaśnienie identyfikatora funkcji) określa tylko nazwę funkcji oraz typy zwracanej wartości i parametrów (sam nagłówek funkcji zakończony średnikiem) Deklaracja funkcji jest konieczna w przypadkach, gdy wywołanie funkcji występuje wcześniej niż jej definicja. Np. // program wyznaczający maksimum 3 liczb poprzez wywołanie funkcji MAX #include <stdio.h> int MAX ( int, int ) ; // Prototyp - deklaracja funkcji MAX void main( void ) int a, b, c, m. ; printf( " Podaj liczbe A = " ); scanf( " %d ", &a ); printf( " Podaj liczbe B = " ); scanf( " %d ", &b ); printf( " Podaj liczbe C = " ); scanf( " %d ", &c ); m = MAX( a, b ); // Wywolanie funkcji MAX printf( " \n\nmaksimum z liczb A i B rowna sie = %d ", m ) ; printf( " \n\nmaksimum z liczb B i C rowna sie = %d ", MAX( b,c ) ) ; printf( " \n\nmaksimum z A,B,C rowna sie = %d ", MAX( a, MAX(b,c) ) ) ; flushall(); getchar(); int MAX ( int liczba_1, int liczba_2 ) if( liczba_1 > liczba_2 ) return liczba_1 ; return liczba_2 ; // Definicja funkcji MAX 17

18 FUNKCJE / PRZEKAZYWANIE PARAMETRÓW 1. Funkcja bezparametrowa nie zwracająca żadnej wartości void nazwa_funkcji(void) return; // powoduje natychmiastowe zakończenie wykonywania funkcji // na końcu funkcji można pominąć przykład void odwrotność(void) // obliczenie odwrotności liczby wczytanej z klawiatury double liczba; scanf( %lf, &liczba ); if( liczba == 0 ) return; printf( %f, 1/liczba ); return; // to «return» można pominąć 2. Funkcja pobierająca parametr i zwracająca wartość UWAGA! w języku C parametry przekazywane są tylko przez wartość tzn. po wywołaniu funkcji tworzone są nowe zmienne (lokalne), których zawartość inicjowana jest wartościami parametrów (zmiennych, stałych lub wyrażeń) podanych przy wywołaniu. przykład double odwrotność( double liczba ) if( liczba == 0 ) return( 0 ); return( 1/liczba ); // definicja funkcji «odwrotność» void main( void ) double x=10, y; y = odwrotnosc( 20 ); // przykłady wywoływania funkcji «odwrotnosc» y = odwrotnosc( x ); odwrotnosc( 3 (15-x) ); 18

19 przykład // przykład funkcji zwracającej wartość większego z argumentów double maksimum( double a, double b ) if( a > b) return( a ); return( b ); przykład void posortuj_1 ( double a, double b ) // UWAGA!!! double buf; // błędny sposób przekazywania if( a > b) // paramerów (przez wartość). // Sortowane są zmienne lokalne a i b buf = a; // (kopie parametrów x i y). a = b; // Zawartość x i y nie ulegnie zmianie! b = buf; void main( void ) double x=7, y=5; posortuj_1( x, y ); // do funkcji przekazywane są wartości zmiennych przykład void posortuj_2 ( double a, double b ) // przekazywanie parametrów przez adres double buf; if( a > b) // porównywane są zawartości miejsc // wskazywanych przez wskazniki a i b buf = a; a = b; b = buf; void main( void ) double x=7, y=5; posortuj_2( &x, &y ); //do funkcji przekazywane są adresy zmiennych 19

20 W języku C++ parametry mogą być przekazywane przez wartość lub przez referencję (przekazywanie przez referencję jest odpowiednikiem przekazywania przez zmienną) Typ referencyjny zmienne tego typu nie zajmują nowego miejsca w pamięci, służą do reprezentacji innych zmiennych w programie. nazwa_typu nazwa_zmiennej; utworzenie zwykłej zmiennej nazwa_typu & nazwa_zmiennej_referencyjnej = nazwa_zmiennej; (jest to zdefiniowanie aliasu innej nazwy dla tej samej zmiennej) przykład int wzrost=175; int sredni_wzrost = wzrost; int& wysokosc = wzrost; // utworzenie zmiennej referencyjnej // związanej z tym samym obszarem // pamięci co wzrost wysokosc = wysokosc + 1; // równoważne: wzrost = wzrost + 1 przykład void posortuj_3 ( double & a, double & b ) double buf; // przekazywanie parametrów if( a > b) // przez referencję buf = a; // a i b są referencyjnymi nazwami x i y a = b; b = buf; void main( void ) double x=7, y=5; posortuj_3( x, y ); // parametry x i y inicjują zmienne referencyjne 20

21 Argumenty domniemane. W deklaracji funkcji można podać jej argumenty domniemane, tj. takie które będą użyte gdy funkcja zostanie wywołana z niekompletną listą argumentów. Argument domniemany występuje w deklaracji odpowiedniego parametru jako wyrażenie po znaku '='. Przykład. Char buffer[256] = "bufor testowy"; int cnt = 5; int Init(char* buf=null, int arg1=cnt, char arg2='\n'); main() int err = 0; err += Init(); // Init(NULL, 5, '\n'); err += Init(buffer); // Init(buffer, 5, '\n'); err += Init(buffer, 6); // Init(buffer, 6, '\n'); err += Init(buffer, 6, '\0'); return err; int Init(char* buf, int arg1, char arg2) if(buf == NULL) return 1; if(arg1 < 0 arg1 > strlen(buf)) return 2; buf[arg1] = arg2; return 0; 21

22 Funkcje przeciążone. Funkcją przeciążona jest rodzina funkcji o takich samych nazwach, ale różnych sygnaturach. Wywołanie funkcji przeciążonej polega na wyborze tego aspektu (wersji), który najlepiej zgadza się z argumentami podanymi przy wywołaniu. Przykład. // deklaracje zmiennych glob. double dbl = 5.0; struct complex /* struktury nie były dotąd omawiane */ double re; double im comp = 1., 5.; /* tak używano struktur w klasycznym C */ // deklaracje funkcji double Abs(double d); double Abs(struct complex c); //definicje funkcji main() double dlug; dlug = Abs(dbl); dlug = Abs(comp); return 0; double Abs(double d) return d; double Abs(struct complex c) return sqrt(c.re * c.re + c.im * c.im); while( klawisz!= ESC ); 22

23 // Zbior «def_klaw.h» zawierający definicje kodów klawiszy #ifndef DEF_KLAW #define DEF_KLAW #define ZERO 0 // klawisze "zwykle" - kodowane za pomoca jednego znaku #define ESC 27 #define ENTER 13 #define BACKSPACE 8 //klawisze "funkcyjne" - kodowane za pomoca dwoch znakow #define DELETE 83 // 0, 83 #define UP_ARROW 72 // 0, 72 #define DOWN_ARROW 80 // 0, 80 #define LEFT_ARROW 75 // 0, 75 #define RIGHT_ARROW 77 // 0, 77 #define HOME 71 // 0, 71 #define END 79 // 0, 79 #endif 23

24 Tablice w języku C/C++ Ogólna postać definicji tablicy: typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst [ 255 ]; // 255-cio elementowa tablica znaków float macierz [ 5 ] [ 2 ]; // dwuwymiarowa tablica: 5 wierszy po 2 kolumny, UWAGA: w języku C tablice są zawsze indeksowane od zera np. pierwszym elementem tablicy «macierz» jest: macierz[ 0 ][ 0 ] a ostatnim elementem jest:macierz[ wymiar_1-1 ][wymiar_2-1] tzn. macierz[ 4 ][ 1 ] w języku C nie jest sprawdzana zgodność indeksu z wymiarami tablicy!!! często jest to przyczyną trudnych do wykrycia błędów. np. odwołanie: macierz[ 1 ][ 2 ] zwróci w rzeczywistości wartość pierwszego elementu z trzeciego wiersza tzn. macierz[ 2 ][ 0 ] 0, 0 0, 1 1, 0 1, 1 1, 2 2, 0 2, 1 3, 0 3, 1 4, 0 4, 1 reprezentacja tej macierzy fl w pamięci komputera 0, 0 0, 1 1, 0 1, 1 2, 0 2, 1 3, 0 3, 1 4, 0 4, 1 macierz[ 1 ][ 2 ] Obszar pamięci zajmowany przez tablicę musi być mniejszy od 64 kb W implementacji C++ firmy Borland to ograniczenie można obejść używając przy definicji tablicy słowo kluczowe huge. np. definicja: long double huge tab[ ]; jest poprawna, chociaż tablica «tab» zajmuje bajtów 196 kb 24

25 Definicję tablicy można połączyć z inicjacją jej zawartości: int tab[ 10 ]; // sama definicja bez inicjacji int tab_inicjowana[ 10 ] = 20, -3, 12, 1, 0, 7, -5, 100, 2, 5 ; char tab_znakow[ 5 ] = a, B, \n, 1, \0 ; float macierz_a[ 3 ][ 2 ] = 1,1, 3.5,7.0, -15,100 ; float macierz_b[ 3 ][ 2 ] = 1, 1, 3.5, 7.0, -15, 100 ; Kolejne inicjatory zawsze wstawiane są do kolejnych komórek tablicy (w związku z tym można pominąć wewnętrzne nawiasy klamrowe). Jeżeli lista inicjatorów jest krótsza niż ilość elementów tablicy to pozostałe elementy są uzupełniane zerami lub wskaźnikami NULL np. definicja: int tab[ 10 ] = 20, -3, 12, 1 ; jest równoważna: int tab[ 10 ] = 20, -3, 12, 1, 0, 0, 0, 0, 0, 0 ; a definicja: float macierz[ 3 ][ 2 ] = 1, 3.5,7.0 ; jest równoważna: float macierz[ 3 ][ 2 ] = 1,0, 3.5,7.0, 0,0 ; lub: float macierz[ 3 ][ 2 ] = 1, 0, 3.5, 7.0, 0, 0 ; W języku C inicjatorami muszą być stałe, natomiast w języku C++ inicjatorami mogą być zarówno stałe jak i zmienne. Wykorzystanie stałych do definiowania ilości elementów tablicy: int tablica [ 100 ] ; #define ROZMIAR 100 int tablica [ ROZMIAR ] ; // rozmiar zadany bezpośrednio // definicja stałej w stylu języka C const ROZMIAR_2 = 100 ; // definicja stałej w stylu języka C++ int tablica_2 [ ROZMIAR_2 ] ; for( int i=0 ; i < ROZMIAR ; i++ ) printf ( %d, tablica[ i ] ); // przykład dalszego wykorzystania stałej 25

26 Przypisywanie / odczytywanie wartości elementów tablicy void main( ) const ROZM = 4 ; int Tab [ ROZM ] ; // bezpośrednie przypisanie wartości Tab[ 0 ] = 0 ; Tab[ 1 ] = 10 ; Tab[ 2 ] = - 20 ; Tab[ 3 ] = 3 ; // wczytanie zawartości z klawiatury scanf( %d, &Tab[ 0 ] ) ; scanf( %d %d, &Tab[ 1 ], &Tab[ 2 ] ) ; printf( Podaj 4 element tablicy = ); scanf( %d, &Tab[ 3 ] ) ; // wykorzystywanie i wyświetlanie zawartości elementów tablicy long suma = Tab[0] + Tab[1] + Tab[2] + Tab[3] ; printf( Tab[1] = %5d, Tab[0] ); printf( Tab[2] = %5d, Tab[1] ); printf( Tab[3] = %5d, Tab[2] ); printf( Tab[4] = %5d, Tab[3] ); // pośrednie zadawanie wartości indeksu za pomocą zmiennej pomocniczej int i = 2 ; Tab[ i ] = 10; // równoważne poleceniu: Tab[ 2 ] = 10; // zadawanie indeksu elementu z klawiatury printf( Podaj indeks elementu którego wartość chcesz wczytać ); scanf( %d, &i ); printf( Podaj nową wartość Tab[ %d ] =, i ); scanf( %d, &Tab[ i ] ); printf( Nowa wartość Tab[ %d ] wynosi %d, i, Tab[ i ] ); 26

27 Zastosowanie instrukcji pętli for do operacji na tablicach #include <stdio.h> void main( void ) #define ROZMIAR 10 float tablica[ ROZMIAR ]; int i ; // definicja tablicy liczb rzeczywistych // inicjowanie zawartości tablicy liczbami parzystymi: 0, 2, 4, 6,... for( i = 0 ; i < ROZMIAR ; i++ ) tablica[ i ] = 2 i ; // wczytanie zawartości elementów tablicy z klawiatury for( i = 0 ; i < ROZMIAR ; i++ ) printf( Podaj Tab[%2d] =, i+1 ); scanf( %f, &tablica[ i ] ); // wyświetlenie zawartości elementów tablicy for( i = 0 ; i < ROZMIAR ; i++ ) printf( Tab[%2d] = %10.3f, i+1, tablica[ i ] ); // zsumowanie wartości elementów tablicy float suma = 0 ; for( i = 0 ; i < ROZMIAR ; i++ ) suma = suma + tablica[ i ]; // suma += tablica[ i ]; printf( Suma wartości elementów tablicy wynosi: %.2f, suma ); // zliczenie ilości elementów o dodatnich wartościach int ilosc = 0 ; for( i = 0 ; i < ROZMIAR ; i++ ) if( tablica[ i ] > 0 ) ilosc = ilosc + 1 ; // ilość += 1; lub ilość++; if( ilość>0 ) printf( Ilość dodatnich elementów = %d, ilosc ); printf( W tablicy nie ma ani jednego dodatniego elementu ); 27

28 Przykłady prostych algorytmów tablicowych #include <stdio.h> void main( void ) #define ROZMIAR 10 int tab[ ROZMIAR ]; int i, ilosc, max, poz; long suma; double srednia; for( i = 0 ; i < ROZMIAR ; i++ ) printf( Tab[%2d] =, i+1 ); scanf( %d, &tablica[ i ] ); // wczytanie liczb z klawiatury i=0; // zliczenie elementów niezerowych ilosc=0; while( ROZMIAR i ) if( tab[i++] ) ilosc++; suma=0; // wyznaczenie średniej z elementów niezerowych ilosc=0; i=0; do if( tab[ i ]!= 0 ) suma += tab[ i ]; ilosc++; while( ++i < ROZMIAR ); if( ilosc ) srednia = (double)suma / ilosc; printf( "\nsrednia niezerowych = %.2f", srednia ); printf( "\nnie ma elementow niezerowych" ); max=tab[0]; // wyznaczenie wartości i pozycji maksimum poz=0; for( i=1; i<rozmiar ; i++ ) if( max<tab[ i ] ) max = tab[ i ]; poz = i ; printf( "\nnajwieksza wartosc jest rowna %d", max ); printf( "i wystapila na pozycji %d", poz+1 ); 28

29 Przekazywanie tablic jednowymiarowych przez parametry funkcji #include <stdio.h> #include <conio.h> #define ROZMIAR 10 void WczytajTablice( double tablica[ ] ) clrscr(); printf( Podaj wartości elementów tablicy \n ); for( int i = 0 ; i < ROZMIAR ; i++ ) printf( Tab[%2d] =, i+1 ); scanf( %lf, &tablica[ i ] ); // funkcja WczytajTablicę void WyswietlTablice( double tablica[ ] ) clrscr(); printf( Wartości elementów tablicy są równe: \n ); for( int i = 0 ; i < ROZMIAR ; i++ ) printf( Tab[%2d] = %f, i+1, tablica[ i ] ); printf( Nacisnij dowolny klawisz ); getch(); // funkcja WyswietlTablicę void DodajTablice( double wejscie_1[ ], double wejscie_1[ ], double wynik [ ] ) for( int i = 0 ; i < ROZMIAR ; i++ ) wynik[ i ] = wejscie_1[ i ] + wejscie_2[ i ] ; // funkcja DodajTablice void main( void ) double A[ ROZMIAR ] ; double B[ ROZMIAR ], C[ ROZMIAR ] ; WczytajTablice( A ); WyswietlTablice( A ); WczytajTablice( B ); DodajTablice( A, B, C ); WyswietlTablice( C ); 29

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

INSTRUKCJE REPETYCYJNE PĘTLE

INSTRUKCJE REPETYCYJNE PĘTLE INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ): while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest

Bardziej szczegółowo

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle! Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

INSTRUKCJE REPETYCYJNE PĘTLE

INSTRUKCJE REPETYCYJNE PĘTLE INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3, WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium)

Język C, tablice i funkcje (laboratorium) Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium, EE1-DI)

Język C, tablice i funkcje (laboratorium, EE1-DI) Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Instrukcje sterujące. Programowanie Proceduralne 1

Instrukcje sterujące. Programowanie Proceduralne 1 Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Wstęp do wskaźników w języku ANSI C

Wstęp do wskaźników w języku ANSI C Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,

Bardziej szczegółowo

Co nie powinno być umieszczane w plikach nagłówkowych:

Co nie powinno być umieszczane w plikach nagłówkowych: Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct

Bardziej szczegółowo

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski Wykład 2 Wejście i wyjście - funkcje scanf i printf Operator przypisania prostego Operatory arytmetyczne Kolejność wykonywania operacji Operatory przypisania arytmetycznego Operatory inkrementacji/dekrementacji

Bardziej szczegółowo

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if

Bardziej szczegółowo

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

Elementarne wiadomości o języku C

Elementarne wiadomości o języku C Elementarne wiadomości o języku C 1. Wprowadzenie Oprac.: Zbigniew Rudnicki Pierwszą wersję języka C opracował Dennis Ritchie w roku 1972 (wykorzystując niektóre rozwiazania z opracowanych w latach1967-1970

Bardziej szczegółowo

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady: 5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 1: Podstawy języka c dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 12 października 2017 1. Wprowadzenie Instrukcja zawiera informacje o podstawowych konstrukcjach w języku c. Część pierwsza

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 4 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28: Program w C wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2015-05-02 18:28:29 +0200 Tak wygląda program w języku C 1 / Hello World in C, Ansi s t y l e / 2 #include < s t d i o. h> 3 i n t main ( void

Bardziej szczegółowo

Języki i metody programowania. Omówienie języków C, C++ i Java

Języki i metody programowania. Omówienie języków C, C++ i Java Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

Bardziej szczegółowo

Struktury, unie, formatowanie, wskaźniki

Struktury, unie, formatowanie, wskaźniki Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres: Funkcje czyli wieloużywalność kodu Omówienie przekazywania argumentów: "przez

Bardziej szczegółowo

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo