Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim"

Transkrypt

1 Wykład 1 Dr inż. Tadeusz Jeleniewski lub Materiały streszczenia wykładów, zadania, przykłady znajdują się pod adresem: Przedmiot kończy się zaliczeniem na stopień Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim Formą towarzyszącą jest laboratorium Programowanie strukturalne W1 1

2 Programowanie strukturalne program zajęć 1. Wprowadzenie Algorytmiczne języki programowania. Struktura programu źródłowego w języku C/C++. Proces kompilacji, konsolidacji i uruchamiania. Przykład prostego programu. Jednostki składniowe języka. 2. Podstawowe pojęcia Typy wartości, zmienne. Reprezentacja danych w komputerze. Typy całkowite i rzeczywiste. Inicjacja zmiennych. 3. Komunikacja programu z otoczeniem Funkcje scanf, prntf, gets, puts. Podejście "obiektowe" - strumienie standardowe cin, cout 4. Wskaźniki Zmienne i ich adresy. Odwoływanie się do zmiennych przez nazwę lub adres. Zmienne wskaźnikowe - notacja, znaczenie. Arytmetyka wskaźników. 5. Operatory i wyrażenia Przypisanie proste i arytmetyczne, wyrażenia arytmetyczne, inkrementacja i dekrementacja, operatory logiczne, relacje, operatory bitowe, wyrażenie warunkowe 6. Sterowanie wykonaniem programu Instrukcja if, if... else, else if. Zagnieżdżanie instrukcji if. Instrukcja switch... case 7. Instrukcje iteracyjne Pojęcie pętli programowej. Pętla for, pętle z badaniem warunku na początku (while) i na końcu (do... while). Zagnieżdżanie pętli. Instrukcje break oraz continue 8. Funkcje Pojęcie funkcji w C/C++. Deklaracja (prototyp) i definicja funkcji. Zwracanie wartości funkcji. Przekazywanie argumentów przez wartość, adres i referencję 9. Tablice i łańcuchy Typ strukturalny - tablica, deklaracja i inicjacja wartości elementów. Tablice jako argumenty funkcji. Łańcuch znaków i jego reprezentacja w postaci tablicy znakowej. 10. Struktury Pojęcie struktury, deklaracja struktury, atrybuty dostępu, możliwość definiowania metod. Zagnieżdżanie struktur. Wskaźniki na struktury. Tablice struktur. Unie i ich zastosowanie Programowanie strukturalne W1 2

3 Literatura Walter Savitch Programowanie w tonacji C++. Wydawnictwo RM, Warszawa, 2005 Jerzy Grębosz Symfonia C++. Oficyna Kallimach, Kraków, 2010 Jesse Liberty C++ dla każdego. Wydawnictwo HELION, 2002 I wiele innych podręczników na temat programowania w języku C/C Programowanie strukturalne W1 3

4 O czym będzie pierwszy wykład? Co to jest program komputerowy i jak powstaje Struktura programu źródłowego w języku C/C++ Jednostki składniowe Typy i zmienne całkowite, reprezentacja danych całkowitych, stałe całkowite Typy rzeczywiste, inicjacja zmiennych rzeczywistych Typy i zmienne wskaźnikowe Programowanie strukturalne W1 4

5 Tworzenie programu komputerowego w języku C/C++ (i innych) odbywa się w dwóch etapach: - opracowanie kodu źródłowego - generowanie kodu wynikowego. Przed rozpoczęciem opracowywania kodu źródłowego należy obmyślić algorytm rozwiązania postawionego zadania. Algorytm to sposób rozwiązania pewnej klasy zadań. Opracowanie kodu źródłowego czyli tzw. kodowanie to zapis wcześniej obmyślonego algorytmu w języku programowania - w naszym przypadku jest nim język C/C++. Kod wynikowy generuje komputer. Specjalny program - kompilator analizuje kod źródłowy programu pod względem poprawności leksykalnej, składniowej i częściowo semantycznej (znaczeniowej) i po ewentualnym usunięciu przez programistę wykrytych błędów tłumaczy na postać pośrednią, do której inny program (program łączący - linker) dołącza brakujące elementy umieszczone w bibliotekach funkcji Programowanie strukturalne W1 5

6 Po pomyślnym zakończeniu procesu łączenia powstaje kod wynikowy - program gotowy do wykonania przez maszynę. Jest to algorytm rozwiązania zadania zapisany w języku wewnętrznym komputera. Algorytm nie jest na ogół pozbawiony błędów wykonania. Są to błędy, których nie wykrywa kompilator w fazie analizy poprawności programu źródłowego. Inna kategoria błędów, to błędy wykrywane przez program tłumaczący kompilator. Są to tzw. błędy kompilacji. Porównać je można do błędów ortograficznych, składniowych oraz gramatycznych, które często zdarza nam się popełniać w języku naturalnym (nawet ojczystym). Rysunek przedstawia schematycznie przebieg procesu tworzenia kodu wynikowego pewnego programu Programowanie strukturalne W1 6

7 Programowanie strukturalne W1 7

8 Charakterystyczną cechą języka C/C++ jak i wielu innych języków programowania jest możliwość budowy programu z wielu modułów. Modułem w języku C/C++ może być każdy plik zawierający poprawny kod źródłowy. Program w języku C/C++ buduje się z funkcji. Każda funkcja może (ale nie musi) posiadać parametry i może, ale nie musi reprezentować wartość określonego typu. Aby możliwe było wygenerowanie kodu wynikowego programu w postaci przyjmowanej przez system operacyjny (w systemach operacyjnych DOS, Windows jest to zbiór z rozszerzeniem.exe) w jednym (i tylko w jednym) module programu musi znaleźć się funkcja o nazwie main (lub podobnej zależnie od środowiska). Od tej funkcji głównej system rozpoczyna wykonywanie programu. Moduł, który zawiera tą funkcję nazywa się modułem głównym Programowanie strukturalne W1 8

9 Najprostszy, poprawny program w C/C++ może mieć postać: { } void main(void) Program ten składa się z bezparametrowej funkcji main. Funkcja ta nie reprezentuje żadnej wartości - powiadamy że nie "zwraca" do systemu operacyjnego żadnej wartości. Wewnątrz nawiasów klamrowych znajduje się blok, który zawiera definicję funkcji. Definicję funkcji często nazywa się jej ciałem. Przydatność praktyczna takiego programu jest oczywiście znikoma. Wewnątrz bloku stanowiącego definicję funkcji nie umieszczono żadnego polecenia ten program niczego nie wykonuje Programowanie strukturalne W1 9

10 Inny, prosty program może mieć postać: /* Program przykład prostego programu napisanego w języku C++. Program wyświetla na ekranie komunikat powitalny */ #include <iostream.h> void main(void) { cout << "\nwitaj w świecie C++"; } Programowanie strukturalne W1 10

11 W tekście tego programu można wyróżnić następujące elementy (jednostki składniowe): komentarz - fragment tekstu pomijany przez kompilator w procesie analizy i tłumaczenia programu źródłowego; komentarzem jest dowolny tekst pomiędzy parą symboli dwuznakowych /* (ukośnik gwiazdka) oraz */ (gwiazdka ukośnik); w wersji C++ języka znacznikiem komentarza (tzw. jednowierszowego) jest też znak // i wtedy kompilator ignoruje napis od tego znacznika do końca wiersza; dyrektywa preprocesora - słowo include wraz z poprzedzającym je znakiem #; jest to polecenie dla kompilatora, aby przed rozpoczęciem analizy tekstu źródłowego dołączył do niego tzw. plik nagłówkowy o nazwie iostream.h; w plikach nagłówkowych znajdują się definicje symboli użytych w programie oraz tzw. prototypy funkcji; deklaracja funkcji main - przykładowy program składa się z bezparametrowej funkcji głównej nie reprezentującej sobą żadnej wartości, na co wskazuje słowo kluczowe void poprzedzające nazwę funkcji głównej; wewnątrz nawiasów klamrowych znajduje się blok zawierający definicję (ciało) funkcji głównej; cout jest nazwą obiektu zdefiniowanego w pliku nagłówkowym iostream.h; obiekt ten to tzw. strumień wyjściowy, do którego za pomocą operatora << (również zdefiniowanego w pliku iostream.h) program prześle tekst komunikatu do wyświetlenia na ekranie monitora Programowanie strukturalne W1 11

12 Przykładowy program wyświetli na ekranie monitora napis (komunikat) treści: Witaj w świecie C++ oraz zakończy działanie. Takie samo zadanie wykona program: /* Program w1_2 - inna wersja (proceduralna) prostego programu, ktory wyswietla komunikat powitalny */ #include <stdio.h> void main(void) { printf("\nwitaj w swiecie C++"); } Do wyświetlenia komunikatu użyto tutaj funkcji standardowej o nazwie printf, której parametrem jest łańcuch znaków. Funkcja ta nie zwraca żadnej wartości. Warto zauważyć, że w tym przypadku do tekstu programu dołączono inny niż poprzednio plik nagłówkowy. W pliku stdio.h znajduje się prototyp funkcji standardowej użytej w naszym przykładzie. Definicja tej funkcji znajduje się w bibliotece funkcji standardowych, która jest automatycznie przeglądana przez program łączący w fazie tworzenia kodu wynikowego Programowanie strukturalne W1 12

13 Jednostkami składniowymi języka C++ są: identyfikatory, słowa kluczowe, znaki przestankowe, stałe, literały łańcuchowe, operatory. Identyfikatorem (nazwą) w języku C++ może być ciąg znaku podkreślenia. Identyfikator jest nazwą elementu języka (zmiennej, funkcji itp.). Pierwszy znak identyfikatora musi być literą lub znakiem podkreślenia. dużych i małych liter, cyfr i Kompilator C++ rozróżnia pierwsze 32 litery nazwy. Nazwy dłuższe są poprawne. Kompilator rozróżnia duże i małe litery nazwy. Nazwa Yuma_15_10 np. yuma_15_10 jest identyfikatorem zupełnie innego elementu programu niż Programowanie strukturalne W1 13

14 Słowa kluczowe są to identyfikatory zastrzeżone dla specjalnych celów. Mogą być wykorzystywane tylko zgodnie z ich przeznaczeniem. Zestawienie wszystkich słów kluczowych można znaleźć w wielu podręcznikach języka C/C++ Kilka przykładów słów kluczowych: void for int short float return do while struct class continue switch case Słowa kluczowe to instrukcje języka, nazwy typów, dyrektywy preprocesora i kompilatora itp Programowanie strukturalne W1 14

15 Znakami przestankowymi są: [ ] ( ) { }, ; :... * = # nawiasy kwadratowe [ ] - definiowanie tablic i wskazywanie ich elementów, nawiasy okrągłe ( ) - grupowanie wyrażeń, wywołania funkcji, lista parametrów, nawiasy klamrowe { } - początek i koniec instrukcji złożonej (bloku), przecinek, - oddzielanie elementów listy, średnik ; - zakończenie instrukcji, dwukropek : - poprzedzający go ciąg znaków jest etykietą, wielokropek... - deklarowanie funkcji o zmiennej liczbie parametrów, gwiazdka * - deklarowanie zmiennych wskaźnikowych, znak równości = - oddzielanie deklaracji zmiennej od części inicjującej tą zmienną, znak # - oznaczenie dyrektywy preprocesora Programowanie strukturalne W1 15

16 Typ danej to zbiór wartości jakie dana może przyjmować. Typ danej determinuje również sposób jej przechowywania w pamięci komputera i obszar jaki zajmuje (liczbę jednostek pamięci - bajtów). W języku C/C++ dostępne są typy proste i strukturalne. Typy proste wykorzystuje się do tworzenia typów strukturalnych. Do kategorii prostych w języku C/C++ należą typy: - arytmetyczne całkowite i rzeczywiste, - wskaźnikowe, W języku C++ występuje ponadto typ referencyjny. Typy strukturalne mogą składać się z danych typów prostych i innych typów strukturalnych. Typami strukturalnymi w języku C/C++ są: - tablice, - struktury, - unie. W C++ grupę typów strukturalnych uzupełniają klasy. Typ danej jest pojęciem logicznym. Reprezentantem fizycznym typu danej jest zmienna Programowanie strukturalne W1 16

17 Typy i zmienne całkowite. Typy całkowite w C/C++ są skończonymi, przeliczalnymi podzbiorami zbioru liczb całkowitych. Zmienne typów całkowitych deklaruje się w programach za pomocą słów kluczowych (lub ich kombinacji): char int long signed short unsigned typ znakowy typ całkowity typ tzw. długich liczb całkowitych liczby całkowite ze znakiem typ tzw. krótkich liczb całkowitych liczby całkowite bez znaku Programowanie strukturalne W1 17

18 Wymienione słowa kluczowe można łączyć dla oznaczenia różnych kombinacji cech zmiennych. Przykłady: char a; signed char a; - zmienna a jest wartością dziesiętną kodu ASCII pewnego znaku wartość kodu jest opatrzona znakiem plus lub minus short k, m, n; short int k, m, n; short signed k, m, n; short signed int k, m, n; - zmienne k, m, n są liczbami całkowitymi krótkimi ze znakiem unsigned short q, ilosc; unsigned short int q, ilosc; - zmienne q, ilosc są liczbami całkowitymi krótkimi bez znaku int K[20] signed int K[20]; - tablica K zawiera liczby całkowite ze znakiem (dodatnie albo ujemne) Programowanie strukturalne W1 18

19 unsigned _jakosc; unsigned int _jakosc; - zmienna _jakosc jest liczbą całkowitą bez znaku long dlugosc, kat; long int dlugosc, kat; signed long int dlugosc, kat; - zmienne dlugosc, kat są liczbami całkowitymi długimi ze znakiem unsigned long szerokosc, x, y; unsigned long int szerokosc, x, y; - zmienne szerokosc, x, y są liczbami całkowitymi długimi bez znaku Programowanie strukturalne W1 19

20 Obszar zajmowany w pamięci oraz zakres wartości zmiennych całkowitych zależą od sprzętu, systemu operacyjnego, kompilatora, wreszcie typu wartości. Przykładowo w systemie programowania C/C++ Borland: unsigned char 8 bitów signed char 8 bitów unsigned int 16 bitów short signed int 16 bitów signed int 16 bitów long unsigned int 32 bity long signed int 32 bity Programowanie strukturalne W1 20

21 Inicjowanie zmiennych polega na przypisaniu im początkowej wartości. Kompilator podczas tłumaczenia programu źródłowego nadaje zmiennym wartości nieokreślone (przypadkowe). Prowadzi to często do powstania trudnych do wykrycia błędów wykonania. Zapobiec temu może inicjowanie zmiennych przed ich pierwszym użyciem. W języku C/C++ można tego dokonać wraz z deklaracją zmiennej. Ma ona następującą postać ogólną: typ-całkowity identyfikator [=stała-odpowiedniego-typu] (1.1) Uwaga! Dalej w wyrażeniach przedstawiających postać ogólną składni będziemy używać "metasymbolu" [ ] dla oznaczenia części zdania, która może, ale nie musi wystąpić. Metasymbol { } będzie oznaczać część definicji, która może wystąpić wiele razy Programowanie strukturalne W1 21

22 Przykłady deklaracji i inicjacji zmiennych znakowych: char litera_a=65; char bubel='b'; char Nowa_Linia='\n'; wartość dziesiętna kodu znaku A znak B znak sterujący "przejście" do następnej linii char odstep16='\x20'; znak o kodzie szesnastkowym 20 - odstęp (spacja) char odstep10='\32'; znak o kodzie dziesiętnym 32 spacja Zmiennym typu znakowego (char) nadaje się wartości (również początkowe) podając wartość dziesiętną kodu znaku lub znak ujęty w apostrofy. Znaki sterujące oraz znaki wykorzystywane przez język C/C++ są kodowane w postaci \litera-lub-znak. Można również podać wartość szesnastkową lub ósemkową kodu ASCII znaku Programowanie strukturalne W1 22

23 Znaki sterujące w C/C++ Sekwencja Wartość hex Nazwa znaku \a 07 BEL sygnał dźwiękowy Funkcja \b 08 BS cofnięcie kursora i usunięcie znaku \f 0C FF wysunięcie strony (ang. Form Feed) \n 0A LF przesunięcie o 1 wiersz w dół (ang. Line Feed) \r 0D CR przesunięcie kursora na poczatek linii (ang. Carriage Return) \t 09 HT tabulator poziomy \v 0B VT tabulator pionowy \\ 5C lewy ukośnik \' 27 apostrof \" 22 cudzysłów \? 3F znak zapytania Programowanie strukturalne W1 23

24 Aby zainicjować zmienne typów int i long int należy po znaku równości podać liczbową stałą całkowitą. Może nią być: stała dziesiętna, stała ósemkowa (rozpoczynająca się od cyfry 0), stała szesnastkowa (rozpoczynająca się znakami 0x). W podanym dalej przykładzie programu występują deklaracje zmiennych całkowitych, ich inicjacje oraz wywołania funkcji wyprowadzania do standardowego urządzenia wyjściowego - monitora Programowanie strukturalne W1 24

25 /* Przyklad programu, w ktorym wystepuja inicjacje zmiennych calkowitych i wyswietlanie ich wartosci */ #include <conio.h> //Wiersze nr 3-5 #include <stdio.h> #include <stdlib.h> using namespace std; // 6 int main(void) // 7 { // 8 char xa=65, my='y'; // 9 unsigned int x=12101, y=0121, z=0xfa; // 10 short signed int q=-23409, r=11206; // 11 unsigned long dluga=234ul; // 12 signed long int po_co=-567l; // 13 system("cls"); // 14 printf("\n Liczby: \n wartosc xa = %c \n wartosc my = %c", xa, my); // 15 i 16 printf("\n wartosc x = %u \n wartosc y = %o \n wartosc z = %x", x, y, z); // 17 i 18 printf("\n wartosc q = %d \n wartosc r = %d", q, r); // 19 printf("\n wartosc dluga = %lu \n po_co = %ld", dluga, po_co); // 20 system("pause"); // 21 system("cls"); // 22 return 0; // 23 } Programowanie strukturalne W1 25

26 Pierwsze 2 wiersze tekstu stanowią komentarz (łańcuch znaków pomiędzy /* i */ ). Wiersze dyrektywy include preprocesora (poprzedza je znak #); polecają dołączyć w tym miejscu do tekstu programu pliki nagłówkowe conio.h oraz stdio.h. W plikach tych znajdują się definicje stałych i symboli oraz prototypy funkcji odpowiedzialnych za obsługę konsoli (plik conio.h) oraz standardowego wejścia-wyjścia (plik stdio.h). Znaki < > ograniczające nazwy tych plików oznaczają, że kompilator powinien szukać tych zbiorów w specjalnym katalogu o nazwie INCLUDE stanowiącym podkatalog katalogu, gdzie zlokalizowane są wszystkie elementy języka C/C++. Ograniczniki " " nazw plików nagłówkowych polecają kompilatorowi szukać tych zbiorów w bieżącej kartotece (tzw. katalogu roboczym). Wiersz 6 informuje o tym, że do poprawnego skompilowania i uruchomienia programu niezbędna jest tzw. "przestrzeń nazw" (biblioteka) std Wiersz 7 zawiera deklarację (nagłówek) funkcji głównej main. Wiersz 8 - nawias klamrowy otwierający blok, który stanowi "ciało" funkcji głównej W wierszu 9 znajdują się deklaracje i inicjacje zmiennych całkowitych typu char. Zmienną xa zainicjowano wartością dziesiętną kodu dużej litery A (wartość 65), a zmienną my - znakiem y (wewnątrz maszyny jest on przechowywany jako liczba o wartości dziesiętnej 121). W wierszu 10 zadeklarowano i nadano wartości początkowe zmiennym x, y, z typu całkowitego bez znaku; zmiennej x nadano wartość dziesiętna 12101, zmiennej y - wartość 81 zapisaną w postaci ósemkowej jako 0121; zmienna z będzie mieć wartość odpowiadającą liczbie dziesiętnej 250; w wyrażeniu inicjującym wartość tą zapisano w postaci stałej szesnastkowej jako 0xfa Programowanie strukturalne W1 26

27 Wiersz 11 - deklaracja i inicjacja zmiennych q oraz r typu całkowitego krótkiego ze znakiem. Nadano im wartości początkowe właściwe dla ich typów. W wierszu 12 znajduje się deklaracja i inicjator zmiennej całkowitej długiej bez znaku dluga - nadano jej wartość początkową 234. Litery UL sygnalizują kompilatorowi, że powinien on zapisać tą daną w pamięci w postaci właściwej dla typu unsigned long. Zapobiega to ewentualnej zmianie sposobu zapisu w czasie wykonywania programu. W wierszu 13 zadeklarowano i zainicjowano zmienną całkowitą po_co typu signed long int. W wierszu 14 znajduje się wywołanie funkcji standardowej system("cls"); jej prototyp znajduje się w pliku nagłówkowym stdlib.h, a jej zadaniem jest wykonanie polecenia systemu operacyjnego, którego nazwa jest argumentem funkcji - będzie to "oczyszczenie" ekranu monitora ze zbędnych napisów pochodzących np. z poprzednio wykonywanego programu i ustawienie kursora w lewym górnym rogu ekranu. Wiersze zawierają wywołania funkcji standardowej printf odpowiedzialnej za obsługę wyjścia z programu. Funkcja printf obsługuje tzw. wyjście formatowane. Jest to funkcja o zmiennej liczbie argumentów. Pierwszym jej argumentem musi być łańcuch znaków zawierający znaki wyświetlane na ekranie oraz tzw. kody formatujące, które określają sposób przedstawiania danych (sposób tłumaczenia wyświetlanych danych z zapisu wewnętrznego, zero-jedynkowego, na postać czytelną dla człowieka). Kolejne argumenty tej funkcji to nazwy wyprowadzanych zmiennych Programowanie strukturalne W1 27

28 Wywołanie funkcji printf w wierszu 15 i 16 spowoduje wyświetlenie napisu Liczby:. W następnym wierszu pojawią się nazwy zmiennych xa oraz my i ich wartości (znaki A oraz y). Kody formatujące są zastępowane wartościami zmiennych użytych jako kolejne argumenty funkcji. Kod formatujący %c jest właściwy dla danych typu char. Kod %u oznacza konwersję na postać zewnętrzną liczby całkowitej bez znaku. Kod %o jest właściwy dla wartości w postaci ósemkowej, a kod %x odpowiada zmiennym o wartościach w postaci szesnastkowej (wiersz numer 17). Ciąg znaków %d wykonuje konwersję na postać zewnętrzną liczb dziesiętnych (w tym przypadku chodzi o liczby całkowite krótkie ze znakiem). Prototyp funkcji printf znajduje się w pliku nagłówkowym stdio.h. Wiersz 20 wyświetla wartości zmiennych dluga oraz po_co; na ekranie będą poprzedzone napisami odpowiednio wartosc dluga = oraz po_co =. Kod formatujący %lu odpowiada konwersji liczby całkowitej długiej bez znaku, a łańcuch %ld oznacza polecenie konwersji liczby całkowitej ze znakiem W wierszu 21 ponownie wywołano funkcję system, tym razem z argumentem pause, która wyświetla komunikat "Aby kontynuować naciśnij dowolny klawisz " i "czeka" na wpisanie do bufora klawiatury dowolnego znaku, a następnie wraca do wykonywania programu. Efektem jest "zatrzymanie" działania komputera do momentu naciśnięcia dowolnego klawisza. W ten sposób możemy odczytać z ekranu wyniki działania. Instrukcja return 0 kończy działanie programu i powoduje powrót do systemu operacyjnego z kodem błędu o wartości Programowanie strukturalne W1 28

29 Programowanie strukturalne W1 29

30 Typy rzeczywiste są nieciągłymi podzbiorami zbioru liczb rzeczywistych. Ich rodzaje i zakresy wartości są następujące: Typ/słowo kluczowe Rozmiar w bitach Zakres od Zakres do float 32 3,4* ,4*10 38 double 64 1,7* ,7* long double 80 3,4* ,1* Kilka przykładów deklaracji i inicjacji zmiennych rzeczywistych: float blad = -12.3e-2; zmienna blad ma wartość początkową 0,123 double x, y = 18., z =.11e11; x nieokreślona, y wartość 18, z wartość 0,11*10 11 long double r_dluga = e-607L; r_dluga wartość 0,304* typu long double float xc = e+32F; xc wartość 16,099* Programowanie strukturalne W1 30

31 Wartości zmiennych rzeczywistych są standardowo przechowywane w postaci właściwej dla typu double - podobnie jak w przypadku liczb całkowitych, litery F, f, L, l umieszczane po liczbie w miejscu jej inicjacji zapobiegają wykonywaniu konwersji. W języku C/C++ można deklarować i używać zmienne, które zamiast właściwej danej zawierają adres obszaru pamięci - miejsca przechowywania właściwej danej. Obszar ten może być interpretowany jako zmienna określonego typu. Zmienna zawierająca adres innej zmiennej nosi nazwę zmiennej wskaźnikowej lub krócej wskaźnika. Zmienna, której adres zapisany jest w zmiennej wskaźnikowej to zmienna wskazywana. Wskaźniki w języku C/C++ są wygodnym i często używanym mechanizmem; umożliwiają: tworzenie i przetwarzanie tzw. dynamicznych struktur danych, zarządzanie blokami pamięci, łańcuchami znaków i tablicami, przekazywanie parametrów do i z funkcji Programowanie strukturalne W1 31

32 /* Przyklad uzycia i dzialania zmiennych wskaznikowych */ #include <stdio.h> #include <conio.h> #include <stdlib.h> using namespace std; int main(void) { char znak = 'y', *w_znak = &znak; // w_znak - wskaznik, adres zmiennej znak int numer = 113, *w_numer = &numer; // w_numer - adres zmiennej numer double rzecz = e21, *w_rzecz = &rzecz; // w_rzecz - adres zmiennej rzecz system("cls"); printf("\n Wartosci zmiennych wskazywanych: \n %c, %d, %f", znak, numer, rzecz); *w_znak = 'A'; *w_numer = 251; *w_rzecz = e2; printf("\nnowe wartosci zmiennych wskazywanych:\n %c, %d, %f", znak, numer, rzecz); system("pause"); system("cls"); return 0; } Programowanie strukturalne W1 32

33 Programowanie strukturalne W1 33

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

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

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

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

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

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

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

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

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

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

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

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

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

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102

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

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

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 języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

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

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

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

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

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

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

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

Bardziej szczegółowo

#include 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

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

#include 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

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

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

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

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

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

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Programowanie strukturalne język C - wprowadzenie

Programowanie strukturalne język C - wprowadzenie Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość

Bardziej szczegółowo

Wykład 1.sxw

Wykład 1.sxw Literatura 1. B. W. Kernighan, D. M. Ritchie Język ANSI C 2. B. Stroustrup Język C++ Koniecznie nowsze wydania np. WNT 2002. Dodatkowo: 3. K. Barteczko Praktyczne wprowadzenie do programowania obiektowego

Bardziej szczegółowo

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań

Bardziej szczegółowo

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE 1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA C++

WPROWADZENIE DO JĘZYKA C++ WPROWADZENIE DO JĘZYKA C++ 1. Pierwszy program w C++ Przykład 1.1. pierwszy_program.cpp 1: #include //Dołączenie do programu biblioteki 2: using namespace std; //Deklaracja przestrzeni

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

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

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

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

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

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

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

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

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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Język C++ Różnice między C a C++

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

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

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 2.10.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 2.10.2006 1 / 38 Podstawowe elementy proceduralne w C++ Program i wyjście

Bardziej szczegółowo

Język C++ zajęcia nr 1

Język C++ zajęcia nr 1 I. Programowanie obiektowe Język C++ zajęcia nr 1 Zasadniczą cechą programowania obiektowego jest łączne rozpatrywanie zagadnień dotyczących algorytmów i struktur danych. Wyrazem tego jest zmiana w sposobie

Bardziej szczegółowo

Struktury Struktura polami struct struct struct struct

Struktury Struktura polami struct struct struct struct Struktury Struktura jest zbiorem zmiennych występujących pod wspólna nazwą. Zmienne wchodzące w skład struktury nazywane są polami lub elementami, a czasem członkami struktury. Struktury używamy, jeśli

Bardziej szczegółowo

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26.

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26. Pytania z języka C/C++ 1. Programy języka C i C++ to kompilatory czy edytory? 2. Czym się różni język C od C++ i jakie są rozszerzenia plików źródłowych w tych językach. 3. Program źródłowy a program skompilowany

Bardziej szczegółowo

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

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

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

dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015)

dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015) dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 8 (22.04.2015) Plan prezentacji:

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

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

WYKŁAD 1 - KONSPEKT. Program wykładu:

WYKŁAD 1 - KONSPEKT. Program wykładu: mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu

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

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji

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

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

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

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo