Wstęp. Programowanie w C. dr inż. Stanisław Wszelak

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

Download "Wstęp. Programowanie w C. dr inż. Stanisław Wszelak"

Transkrypt

1 Wstęp Programowanie w C dr inż. Stanisław Wszelak

2 Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C rok Od 2003 roku C# jest językiem skonstruowanym niejako jako konkurencja dla Javy dr inż. Stanisław Wszelak 2

3 Cech języka C Czytelny posiada łatwy kod do odczytywania (zbliżony do języka angielskiego) Łatwy w obsłudze prosta kompilacja i uruchamianie Przenośny programy są uruchamiane na różnych typach maszynach sprzętowych, pod warunkiem posiadania kompilatora Język wysokiego poziomu wymaga interpretera i kompilatora, np. język maszynowy jest językiem niskiego poziomu. Do zaimplementowania, czyli przetłumaczenia komend na chociażby taki kod: 2001:f523:c91d:001 (kod binarny) wymagany jest kompilator. Interpreter i kompilator tłumaczą instrukcje napisane w języku wysokiego poziomu na polecenia w języku maszynowym, zrozumiałym i wykonalnym dla komputera dr inż. Stanisław Wszelak 3

4 Kompilacja Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez programistę do języka asembler, a następnie do postaci zrozumiałej dla komputera (maszyny cyfrowej) czyli do postaci ciągu zer i jedynek które sterują praca poszczególnych elementów komputera. Asembler to język niskiego poziomu, posługuje się zaledwie dwoma znakami cyfrowymi, 0 i 1, Asembler nie potrzebuje specjalnego środowiska. Programista asemblerowy jest podobny do pierwszoklasisty, który konstruuje słowa, wyrazy, znając pojedyncze literki języka. O ile alfabet języka naturalnego, którym to posługujemy się na co dzień, składa się z kilku dziesiątek znaków, o tyle alfabet języka Asembler ma zaledwie dwa cyfrowe znaki:0 i 1, zero i jedynkę. Do napisania programu asemblerowego wystarczy najzwyklejszy edytor. Cała informatyka opiera się na dwóch znakach 0 i 1. Napisany program asemblerowy w postaci tekstowej, poddawany jest asemblacji (półprodukt) pliki o rozszerzeniu OBJ. Następnie ów półprodukt przetwarza się do postaci wykonywalnej poprzez konsolidację (linkowanie). Po konsolidacji otrzymujemy gotowy do wykonania program typu COM lub EXE. Programy źródłowe napisane w języku C, C++ tłumaczy się do postaci programów wykonywalnych i kompilując się je. dr inż. Stanisław Wszelak 4

5 Narzędzia programisty w C 1. Komputer z dowolnym systemem operacyjnym (Linux, Windows) 2. Kompilator (firmy Borland, Microsoft Visual C++ R, itd.) 3. Edytor 4. Debugger (program, który umożliwia prześledzenie (określenie wartości poszczególnych zmiennych na kolejnych etapach wykonywania programu) linijka po linijce. Używa się go w celu określenia dlaczego nasz program nie działa po naszej myśli lub czemu program niespodziewanie kończy działanie bez powodu. Przykładowymi debuggerami sa: gdb pod Linuksem, lub debugger firmy Borland pod Windowsa. 5. Linker - program łączy wszystkie skompilowane pliki źródłowe i inne funkcje (np. printf, scanf) które były użyte w programie, a nie były zdefiniowane przez programistę w napisanych plikach ( dyrektywa #include). Linker jest to czasami jednym program, połączenie z kompilatorem. Wywoływany jest on na ogół automatycznie przez kompilator, w wyniku czego dostajemy gotowy program do uruchomienia. dr inż. Stanisław Wszelak 5

6 Zintegrowane Środowisko Programistyczne IDE Zamiast osobnego kompilatora i edytora, linkier, można wybrać Zintegrowane Środowisko Programistyczne IDE (Integrated Development Environment), IDE jest zestawem wszystkich programów, które potrzebuje programista, - najczęściej z interfejsem graficznym. IDE zawiera kompilator, linker i edytor, z reguły również debugger. Bardzo popularny IDE to płatny Microsoft Visual C++ (Visual Studio 2005, 2010) Typy: IDE free software IDE commercial software dr inż. Stanisław Wszelak 6

7 Darmowe IDE 1. CODE:BLOCKS z MinGW Code::Blocks to wieloplatformowe IDE dla programistów C/C++. Wspiera wiele kompilatorów (GCC, Borland C++, Microsoft Visual C++ i inne). Posiada wbudowany, zaawansowany i wydajny debugger. Ponadto, umożliwia importowanie projektów z Dev-C++ oraz Microsoft Visual C++. Interfejs: - prosty w obsłudze, - rozbudowana pomoc ułatwia używanie programu, - kolorowana składnia, - automatyczne uzupełnianie w trakcie pisania kodu. Elastyczna budowa pozwala na dodawanie pluginów, sprawiając, że środowisko jest stale rozwijane przez dużą społeczność. dr inż. Stanisław Wszelak 7

8 2. Open Watcom 1.9 (80 MB) Środowisko programistyczne do tworzenia 16/32 bitowych aplikacji. Obsługa C, C++, Fortran. Posiada rozbudowany zbiór narzędzi co jest jest dużym plusem Open Watcom. 3. Dev-C Dev-C++ zintegrowane środowisko programistyczne, obsługujące języki C i C++, na licencji GPL, dla systemów rodziny Windows i Linux. Jest zintegrowany z MinGW, czyli z windowsowym portem kompilatora GCC. Dev-C++ wykorzystuje tzw. DevPaki. Są to rozszerzenia programu, pozwalające mu korzystać z różnych bibliotek, szablonów i narzędzi, np. z DirectX-a, z biblioteki Allegro, OpenAL czy wxwidgets. Dla : Win XP/Windows Vista/Win 2000/Win 98/Win Me/Win 95 Wymagania: Procesor: Pentium 233MHz lub odpowiednik; RAM: 32MB; 45MB wolnego miejsca na dysku Rozmiar pliku: 8.9MB dr inż. Stanisław Wszelak 8

9 4. C++ Builder Obecnie dostępna jest wersja 2007 tego środowiska w kilku edycjach. 30-dniowa wersja testowa: Trial przeznaczona jest do zastosowań niekomercyjnych (przede wszystkim edukacyjnych), można ją pozyskać bezpłatnie. Obecnie mamy wersję 2010 dr inż. Stanisław Wszelak 9

10 Laboratorium nr I Kompilacja i konsolidacja programów stanislaw@wszelak.com

11 Kompilator to program, który tłumaczy kod pisany przez programistę na język rozkazów danego komputera. Kompilator czyta tekst z kodem, raportuje błędy i wytwarza plik wynikowy. Kompilatory są częścią składową IDE Pisany program w edytorze zapisywany jest w pliku, któremu nazwę nadaje użytkownik, rozszerzenie nadawane jest automatyczne c w przypadku korzystania z IDE : nazwa_pliku.c 1. Uruchamianie kompilatorów 1.1 Ze zintegrowanego środowiska programistycznego (IDE) Bardzo prosta, przycisk Compile lub Compile & Run (dla Dev C++) 1.2 Z wiersza poleceń: gcc -o nazwa_nowgo_pliku plik_kompilowamy.c dr inż. Stanisław Wszelak 11

12 Jeśli plikiem wykonalnym będzie stokrotka.exe, a kompilowanym babsztyl.c, to komenda wydana kompilatorowi jest następująca: gcc o stokrotka babsztyl.c (oczywiście znając lokalizację kompilatora) Aby wymusić na GCC nazwę pliku wynikowego (wykonywalnego), podajemy parametr -o <nazwa> dr inż. Stanisław Wszelak 12

13 2. Lokalizacja kompilatora, bibliotek 2.1 gcc.exe (kompilator), w folderze bin 2.2 Pliki nagłówkowe, w folderze include 2.3 Pliki obiektowe, w folderze lib Utworzono katalog: Moje_pro, w celu składowania plików źródłowych dr inż. Stanisław Wszelak 13

14 Laboratorium nr I Cechy charakterystyczne programowania w C

15 3. Plików nagłówkowe (wsadowe) Gotowe dyrektywy jako pliki wsadowe kompilatora lub gotowe procedury wcześniej zdefiniowane przez programistę. Dodawanie plików nagłówkowych odbywa się za pomocą dyrektywy: #include (dołącz). #include<nazwa_pliku> Ta dyrektywa powoduje, ze przed procesem kompilacji danego plikuźródłowego, deklaracje funkcji z pliku nagłówkowego zostają dołączone do naszego kodu celem zweryfikowania poprawności wywoływanych funkcji. dr inż. Stanisław Wszelak 15

16 4. Lokalizacja domyślnych plików nagłówkowych Domyślne pliki nagłówkowe znajdują się w katalogu z plikami nagłówkowymi kompilatora. Lokalizacja może być różna, w zależności od wybranej lokalizacji podczas instalacji IDE. Zazwyczaj jest to katalog INCLUDE (podobnie jak dyrektywa), np. C:\Borland\BCC55\INCLUDE dr inż. Stanisław Wszelak 16

17 4.1. Deklaracja standardowych plików nagłówkowych < > #include <studio.h> 4.2. Deklaracja własnych plików nagłówkowych #include my_file_header_1.h #include my_file_header_2.h" Pliki maja rozszerzenie *.h, od słowa nagłówek (header) Uwaga!. Język C jest wrażliwy na wielkość liter: main() i Main() to dwie różne nazwy, różne funkcje dr inż. Stanisław Wszelak 17

18 5. Funkcja main() - główna Funkcję tę musi zawierać każdy program. W niej zawiera się główny kod programu, przekazywane są do niej argumenty, z którymi wywoływany jest program (jako parametry argc i argv). Można ja wstawić w dowolnym miejscu pisanego kodu, jednak proces rozpoczyna się od wykonania tej funkcji. Można powiedzieć, że jest to tzw. function body. We wnętrzu tej funkcji następuje wywołanie funkcji lub procedury, w tym przypadku zostaje przywołana funkcja biblioteczna printf() wydrukuje zawartość. Jeśli wszystkie instrukcje zawarte w ciele funkcji main() zostały wykonane, to program zostaje zakończony. Jeśli funkcja main() zwraca wartość 0 to oznacza, że program wykonał się prawidłowo, im większa zwrócona wartość tym większy błąd dr inż. Stanisław Wszelak 18

19 5.1. Anatomia poznanych funkcji w języku C 1. Instrukcja 2. Blok instrukcji (poczatek i koniec) 3. Nazwa funkcji i jej argumenty 4. Cialo funkcji 2pole_kola pole-2kola pole 2kola.pole_2kola pole+2kola _pole_2kola pole_*2kola pole_*2kola -pole_kola2 pole_2kola Prawidłowa nazwa funkcji: 1. Nazwa nie może zaczynać się od: cyfry, znaku + (plus),.(kropki), *(asterisk) 2. Nazwa funkcji nie może zawierać: +, -, (apostrof), $, spacji 3. Nazwę funkcji piszemy małymi literami (printf, close_all_files) Uwaga! Nie używać polskich znaków dr inż. Stanisław Wszelak 19

20 int main() int oznacza, ze funkcja zwróci wartość typu integer (tzn. przyjmie wartość po zakończeniu). W przypadku main będzie to kod wyjściowy programu. W () określa się parametry programu void main() Void pusto, brak parametrów, słowo kluczowe języka C, może pojawiać się przed nazwą funkcji, to oznacza, że funkcja nie zwraca żadnej wartości int main(void) dr inż. Stanisław Wszelak 20

21 6. Funkcje: return, exit return (wartość); określa wartość jaką zwróci funkcja (program). Liczba 0 zwracana przez funkcję main() oznacza, że program zakończył się bez błędów; błędne zakończenie często (choć nie zawsze) określane jest przez liczbę jeden. exit(), zamiast return, służy również do zakończenia programu. Aby można było zastosować funkcję exit() należy połączyć plik: stdlib.h Pamiętajmy!!!! kod funkcji umieszcza się e w nawiasach: polecenia kończymy średnikiem ; { }, a wszystkie 7. Funkcja printf( łańcuch znakowy ); Funkcja wyświetla zawartość zadeklarowana w obszarze Obsługiwana jest przez bibliotekę stdio.h dr inż. Stanisław Wszelak 21

22 8. Znak specjalny sekwencja wyjścia \ W języku C za bacslash em występują: \n przejście do nowego wiersza (LF) \f przejście do nast. strony \r powrót na pocz. bierz. wiersza (CR) \t -tabulacja \a - dźwięk \ - kontynuacja łańcucha \ cudzysłów \ apostrof \? znak zapytania dr inż. Stanisław Wszelak 22

23 \n przejście do nowego wiersza a) z wielokrotnym wykorzystaniem funkcji printf() b) z jednokrotnym wykorzystaniem funkcji printf() dr inż. Stanisław Wszelak 23

24 \ Kontynuacja łańcucha dr inż. Stanisław Wszelak 24

25 Zadanie 1-1. Napisz program, który wyświetli za pomocą czterech funkcji printf(): w pierwszej linii Twoje: imię i nazwisko w drugiej nazwę uczelni: UKSW Warszawa ul. Woycickiego 4 w trzeciej kod pocztowy: w czwartej kierunek studiów: Informatyka (cudzysłów) Zastosuj wcięcie z lewej z odstępem jednej tabulacji, przykład rys.1.1 Rys Okno z programu 1-1 dr inż. Stanisław Wszelak 25

26 Kod zadania 1-1 dr inż. Stanisław Wszelak 26

27 Zadanie 1-2. Zmodernizuj poprzedni kod, wykorzystaj jedną funkcję printf() do wyświetlenia Twoich danych (rys. 1.2): w pierwszej linii imię i nazwisko, w drugiej UKSW Warszawa ul. Woycickiego 4, w trzeciej (kod pocztowy), w czwartej Informatyka Rys Okno z programu 1-2 dr inż. Stanisław Wszelak 27

28 Kod zadania 1-2 Zadanie 1-3. Napisz program, który po wyświetleniu komunikatu z zadania 1-2 wymusi sygnał dźwiękowy 10 impulsowy, po czym wydrukuje komunikat ze znakiem zapytania: Było słychać? dr inż. Stanisław Wszelak 28

29 Laboratorium I Pojęcie stałej i zmiennej, operatory arytmetyczne, instrukcja podstawienia

30 1. Deklaracja zmiennych: typ nazwa_zmiennej; Deklaracja nie przypisuje wartości zmiennej, tylko przydziela jej adres w pamięci (rezerwuje dla niej miejsce) Zmienna to fragment pamięci o ustalonym rozmiarze z własnym identyfikatorem 1.1 Typ integer int nazwa; Zapis liczb typu Integer: a). Dziesiętny int wynik_1; int wynik_2; int wynik_3; lub równoważnie: Int wynik_1, wynik_2, wynik_3; b). Ósemkowy zapis 016, 010 2, 32, 45, 100, 256 itd. c). Szesnastkowy zapis 0x0af, 0x4e dr inż. Stanisław Wszelak 30

31 W zależności od rejestru procesora a tym samym od kompilatora i systemu operacyjnego długość liczb całkowitych może wynosić 16 32, 64 bity. Dla 32 bitowego rejestru(4 bajty) długość wynosi od ( ) do Samo int bez wskaźnika informuje kompilator, że ma rezerwować nie mniej niż 16 bitów pamięci. Ze wskaźnikiem long int informuje, że rezerwowa pamięć nie krótszą niż 32 bity dotyczy starych kompilatorów. Specyfikatorem konwersji (convrsion specfiers) nakazującym wyświetlenie funkcji printf w typie int (integer) jest %d dr inż. Stanisław Wszelak 31

32 Zadanie 1-4 Zadeklaruj cztery zmienne typu integer i podstaw dla nich takie wartości: wiek = 21, wzrost = 172, waga = 72, rok_urodzenia = Wydrukuj poprzez funkcję printf() swoje imię i nazwisko oraz dane zapisane w tych czterech zmiennych (rys. 1.3) Rys. 1.3 Zadeklaruj zmienne z błędem, np. wzrost (172.5) i przeprowadź kompilację, następnie wagę określ powyżej górnej granicy typu int (wybierz taka liczbę). Wydrukuj dane. Na tej podstawie upewnij się co do rozmiaru rejestru. dr inż. Stanisław Wszelak 32

33 Kod zadania 1-4.c dr inż. Stanisław Wszelak 33

34 1.2. Typ floating point numer float Pływający przecinek - rzeczywiste długości 4 bajtów, 6 miejsc po przecinku float wynik_1; float wynik_1; float wynik_1; lub float wynik_1, float wynik_1, float wynik_1; np. 3.14, 9.81, 0.45 Często liczby te wyposażone są w przedrostek na końcu deklaracji 3.14f, 9.81f, 0.45F W przeciwieństwie do liczb całkowitych, przy dzieleniu dwóch liczb zmiennoprzecinkowych otrzymujemy trzecią liczbę zmiennoprzecinkową, część ułamkowa pozostaje i nie jest obcinana ani nie jest ignorowana Specyfikatorem konwersji (convrsion specfiers) nakazujacym wyswietlenie funkcji printf w typie float jest %f dr inż. Stanisław Wszelak 34

35 Zadanie 1-5 Zadeklaruj pięć zmiennych typu float, które zwrócą wyniki dzielenia następujących par liczb: 45.00/2.00, 45/2 3.55/2 6/ /0.25 Wydrukuj poprzez funkcję printf() wyniki działania, trzy pierwsze wyniki zaokrąglij do trzech miejsc po przecinku, kolejne dwa wyniki pozostaw w wydruku domyślnym. dr inż. Stanisław Wszelak 35

36 1.3. double - liczby zmiennoprzecinkowe podwójnej precyzji Oznacza to, ze liczba taka zajmuje zazwyczaj w pamięci dwa razy więcej miejsca niż float (np. 64 bity wobec 32 dla float) i ma dwa razy lepsza dokładność. Domyślnie ułamki wpisane w kodzie są typu double. 1.5, 33.24, itp. Możemy to zmienić dodając na końcu literę f 1.5f, 33.24f (float) Zadanie-1-6.c Zadeklaruj dwie zmienne a i b, a jako float zaś b jako double. Zmiennym przypisz jednakowe działanie matematyczne np f / Wydrukuj wyniki działań z 10-cioma i 6-cioma miejscami po przecinku. dr inż. Stanisław Wszelak 36

37 Dla typów: float i doble liczby można przedstawiać w systemie wykładniczym Liczba przedstawiana jest w postaci mantysy i wykładnika. Cecha i mantysa rozdzielana są literą e lub E 3e2 to = to 2.5e1 1.5e-2 to 1, = 0, to 10e2-4e2 to = ,2 to -5.2e0 Specyfikatorem konwersji (convrsion specfiers) nakazujacym wyswietlenie funkcji printf w typie double jest %e lub %E dr inż. Stanisław Wszelak 37

38 2. Deklaracja stałych Stałe podobnie jak zmienne przypisuje się wartości bez możliwości zmiany Stałe deklarujemy: 1. const int nazwa_zmiennej = wartosc - metoda mniej popularna w C 2. #define pi pi to symbol stałej, zaś 3.14 to przypisana wartość stałej Zadeklaruj stałe zamiast zmiennych z zadania 1-6.c i dokonaj kompilacji programu. dr inż. Stanisław Wszelak 38

39 3. Operatory + -Addition - -Substraction * -Multiplication / -Division % -Modulos Operator dokonuje dzielenia z resztą np. 20%3 = 2, 100%5 = 0, 11%2 = 1 dr inż. Stanisław Wszelak 39

40 4. Wyrażenie Kombinacja stałych, zmiennych i operatorów w wyrażeniach matematycznych. obwod_kola = 2 * l_pi * r ; Zadanie-1-7. Oblicz pole koła, deklarując liczbęπ jako stałą wartość (poprzez deklarację #define, promień przyjmij dowolny jako float. Podobnie oblicz objętość walca (dla r, h). Zadanie-1-8. Dodaj dwie liczby w formacie hexadecymalnym, wydrukuj liczby jak i ich sumę w systemie dziesiętnym i hexadecymalnym. dr inż. Stanisław Wszelak 40

41 Kod zadania 1-7.c dr inż. Stanisław Wszelak 41

42 Przykład : const typ nazwa = wartość dr inż. Stanisław Wszelak 42

43 Przykład operacji na liczbach innych niż dziesiętne Zadanie-1-8. Wykorzystując operatory arytmetyczne (+, -, *) wykonaj operacje arytmetyczne na dwóch liczbach zapisanych w systemie szesnastkowym. Wyniki działań jak i wartości zmiennych przedstaw w formacie dziesiętnym i szesnastkowym. dr inż. Stanisław Wszelak 43

44 5. Funkcja scanf() Funkcja scanf() w przeciwieństwie do printf(), nie wyświetla niczego na ekranie. Funkcja scanf() należy do biblioteki stdio.h i jest funkcja wejścia, która czyta informacje z klawiatury a następnie przydziela te informacje odpowiednim zmiennym. Oznaczenia są podobne takie jak przy printf(), czyli: scanf("%i", &liczba); wczytuje liczbę typu int, scanf("%f", &liczba); liczbę typu float, scanf("%s", tablica_znaków); ciąg znaków. W ostatnim przypadku nie ma etki? Otóż, gdy podajemy jako argument do funkcji wyrażenie typu tablicowego zamieniane jest ono automatycznie na adres pierwszego elementu tablicy. Zadanie 1-9 Oblicz objętość walca, wprowadzając promień i wysokość z konsoli. Liczbę pi zadeklaruj jako stałą. Wyprowadź na ekran komunikaty jak na poniższym rzucie ekranu: dr inż. Stanisław Wszelak 44

45 Kod zadania-1-9 dr inż. Stanisław Wszelak 45

46 Zadanie1-10 Napisz program, który z danych wejściowych (z konsoli) jakimi są kwota brutto i stawka podatku, wyliczy kwotę netto i naliczony podatek. Dane wejściowe: kwota brutto (float) stawka podatku (float) Dane wyjściowe: kwota netto, podatek dr inż. Stanisław Wszelak 46

47 Kod zadania 1-10.c dr inż. Stanisław Wszelak 47

48 6. Funkcja puts() przyjmuje jako swój argument ciąg znaków, który następnie wypisuje na ekran kończąc go znakiem przejścia do nowej linii podobnie jak printf( \n ). Proszę zauważyć, że funkcja ta nie współdziała ze zmiennymi dr inż. Stanisław Wszelak 48

49 7. Rzutowanie Rzutowanie to konwersja danej jednego typu na daną innego typu, czyli zamiana jednego typu danych na inny typ. Konwersja może być: - niejawna (domyślna konwersja przyjęta przez kompilator), - jawna (podana explicite przez programistę). float a = 6; pewien sposób rzutowania niejawnego Przykład mamy dwie liczby: int a =5; int b=9; Chcemy podzielić jedna przez drugą, w wyniku dzielenia otrzymamy wynik 0 Jeśli dokonamy rzutowania z int na float to operacja powiedzie się Zapiszmy typ jeszcze raz: int a =5; i zrzutujmy ją float a_f = (float)a; W zmiennej a_f została zapisana zmienna typowana jako integer. Podobnie dla drugiej zmiennej: float a_b = (float)b dr inż. Stanisław Wszelak 49

50 Zadania do samodzielnego rozwiązania: Zadanie1 : Napisać program obliczający temperaturę w stopniach C, gdy dana jest temperatura w stopniach F (Fahrenheita), wiedząc że przelicznik jest: 5 C = ( F 32) 9 Zadanie2 : Napisać program obliczający temperaturę w stopniach F, gdy dana jest temperatura w stopniach C (Celsjusza), korzystając z poprzedniego przelicznika. Temperaturę w stopniach Celsjusza deklarować z konsoli dr inż. Stanisław Wszelak 50

51 Kod zadania domowe-2 dr inż. Stanisław Wszelak 51

52 Przykład: forsownie zmiennej typu int na typ float dr inż. Stanisław Wszelak 52

53 Przykład: dr inż. Stanisław Wszelak 53

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

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

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

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

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

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

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

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

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

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

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

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe

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

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

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Utworzenie pliku. Dowiesz się:

Utworzenie pliku. Dowiesz się: Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

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

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 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 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

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

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku

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

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera

Bardziej szczegółowo

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera

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

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

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

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

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

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

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

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

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

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

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

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

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

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

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

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

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Programowanie I C / C++ laboratorium 01 Organizacja zajęć Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje

Bardziej szczegółowo

IX. Wskaźniki.(3 godz.)

IX. Wskaźniki.(3 godz.) Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje

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

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

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

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

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

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

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

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład

Bardziej szczegółowo

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia Krzysztof Banaś Podstawy programowania 1 Programowanie Programowanie typowe kroki zapis kodu źródłowego w pliku tekstowym kompilacja usuwanie

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

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

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

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

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

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

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

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

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

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Wyrażenia arytmetyczne

Wyrażenia arytmetyczne Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie

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

( 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

Sterowniki Programowalne (SP) Wykład 13

Sterowniki Programowalne (SP) Wykład 13 Sterowniki Programowalne (SP) Wykład 13 Język C dla sterowników programowalnych GeFanuc Na podstawie C Programmer's Toolkit for PACSystems WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

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

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

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

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

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

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

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo