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

Podobne dokumenty
( wykł. dr Marek Piasecki )

Proces tworzenia programu:

Programowanie w języku C++

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

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania C. dr. Krystyna Łapin

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

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

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

Zmienne, stałe i operatory

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie strukturalne i obiektowe

Wstęp do programowania

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

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

1 Podstawy c++ w pigułce.

Język ludzki kod maszynowy

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

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

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

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

Wstęp do Programowania, laboratorium 02

C++ wprowadzanie zmiennych

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

Język programowania PASCAL

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

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

1 Podstawy c++ w pigułce.

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

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

Podstawy Programowania. Wykład 1

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Programowanie komputerowe. Zajęcia 1

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

Podstawy programowania w języku C

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

Podstawy Programowania.

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

Struktura pliku projektu Console Application

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

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

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

Instrukcje sterujące. Programowanie Proceduralne 1

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

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

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

Podstawy Programowania

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Część 4 życie programu

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

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

#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. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Podstawy programowania - 1

Proste programy w C++ zadania

Każdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni

ZMIENNE. Podstawy PHP

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++

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

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

Operatory, wyrażenia i typy proste

Język C zajęcia nr 11. Funkcje

I - Microsoft Visual Studio C++

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

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

#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 ); }

Podstawy programowania (1)

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

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

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

dr inż. Jarosław Forenc

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Algorytm. a programowanie -

Wstęp do programowania. Wykład 1

Elementarne wiadomości o języku C

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

Programowanie - instrukcje sterujące

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

Podstawy programowania w języku C i C++

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

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

Elementy pliku źródłowego w języku C

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Programowanie w językach wysokiego poziomu

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

Warunki logiczne instrukcja if

3. Instrukcje warunkowe

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

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

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

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

Transkrypt:

Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji, relacyjne. Wyrażenia arytmetyczne i logiczne. Literatura podstawowa: J. Grębosz S. Prata A. Zalewski Symfonia C++ Szkoła programowania, Język C++ Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++ Literatura dodatkowa: B. Stroustrup Język C++ R. Sedgewick Algorytmy w C ++ B. Kernigham, D. Ritchie Język ANSI C

1. PODSTAWOWE POJĘCIA Program notacja opisująca proces przekształcania danych wejściowych w dane wyjściowe według pewnego algorytmu. Dane wejściowe informacje dostarczone do programu przez użytkownika, w celu umożliwienia wykonania algorytmu. Dane wyjściowe są generowane przez program i stanowią wyniki działania programu. Algorytm określa sposób przekształcania danych wejściowych w dane wyjściowe zgodnie z celem. Algorytm składa się z opisu: Obiektów, na których wykonywane są działania, działań realizujących cel algorytmu, kolejności działań. Programowanie polega na zapisywaniu algorytmów w formie programów zrozumiałych dla komputera. Kod źródłowy program napisany w języku takim jak Pascal lub C++, czyli w języku algorytmicznym czytelny dla programisty, Kod wynikowy program zapisany jako ciąg rozkazów i danych w kodzie maszynowym procesora (w postaci czytelnej dla komputera), najczęściej w postaci liczb kodu dwójkowego. Proces tworzenia programu: edytor ( *.cpp ) kod źródłowy kompilator ( *.obj ) kod wynikowy linker ( *.exe ) kod wynikowy połączony z bibliotekami debugger (step/watch) śledzenie działania, usuwanie błędów

2. PRZYKŁADY NAJPROSTSZYCH PROGRAMÓW // komentarz jednowierszowy /* Komentarz wielowierszowy */ Przykład 1 Najprostszy program, który jest poprawny, ale nic nie robi int main( ) // main funkcja główna programu { return 0; // return - rozkaz zwracający wynik funkcji main } Przykład 2 Program, który jest wypisuje tekst na ekranie #include < stdio.h > // include dyrektywa pliku nagłówkowego int main( ) { prinft( Czesc! To ja, twoj komputer ); // printf funkcja wypisująca na // ekran tekstowy return 0; }

Przykład 3 Program, który oblicza iloczyn liczb całkowitych #include <stdio.h > // stdio.h Standard Input/OutPut #include <conio.h> // conio.h Console Input/OutPut int main( ) { int liczba_1, liczba_2, wynik; // deklaracja zmiennych typu całkowitego printf( To jest program obliczajacy iloczyn dwoch liczb\n ); printf( Podaj pierwsza liczbe: ) ; // \n znak końca linii scanf( %d,&liczba_1) ; // scanf funkcja do czytania danych prinft( Podaj druga liczbe: ); scanf( %d,&liczba_2); wynik = liczba_1 liczba_2 ; // = - operator przypisania, * - mnożenie printf( Wynik: %d\n, wynik); // %d kod formatujący dla liczb całkowitych getch(); // getch - funkcja oczekująca na dowolny znak z klawiatury return 0; }

3. Definiowanie zmiennych. Typy proste. nazwa_typu nazwa_zmiennej ; nazwa_typu zmienna_1, zmienna_2, zmienna_3 ; Nazwy zmiennych mogą zawierać znaki alfanumeryczne (litery i cyfry) oraz znak podkreślenia. Nazwa zmiennej nie może zaczynać się od cyfry. W języku C występuje rozróżnianie wielkości liter. Podstawowe typy: Nazwa typu Zawartość Przedział wartości Zajęt. pamięć char Znak -128 127 1 bajt int liczba całkowita -32768 32767 2 bajty long liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczyw. 10-38 10 38 (7cyfr) 4 bajty double liczba rzeczyw. 10-308 10 308 (15 cyfr) 8 bajtów Modyfikatory typu: signed ze znakiem (±), int char unsigned bez znaku, int char short krótka (mniejsza), int long długa (większa) int double np. unsigned long int dluga_liczba_bez_znaku ; Wartości domyślne: long = long int int = signed int char = signed char

Type Length Range unsigned char 8 bits 0 255 char 8 bits -128 127 enum 16 bits -32,768 32,767 unsigned int 16 bits 0 65,535 short int 16 bits -32,768 32,767 int 16 bits -32,768 32,767 unsigned long 32 bits 0 4,294,967,295 long 32 bits -2,147,483,648 2,147,483,647 float 32 bits 3.4 * (10**-38) 3.4 * (10**+38) double 64 bits 1.7 * (10**-308) 1.7 * (10**+308) long double 80 bits 3.4 * (10**-4932) 1.1 * (10**+4932)

4. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji, relacyjne. operatory arytmetyczne: + dodawanie odejmowanie mnożenie / dzielenie % reszta z dzielenia operatory przypisania: = zwykłe przypisanie x = 2; += przypisanie sumy x+=2; // x = x + 2; = przypisanie różnicy x =2; // x = x 2; = przypisanie iloczynu x =2; // x = x 2; /= przypisanie ilorazu x /=2; // x = x / 2; %= przypisanie reszty x%=2; // x = x % 2; operatory inkrementacji i dekrementacji: zmienna++ inkrementacja zmiennej po wyliczeniu wyrażenia ++zmienna inkrementacja zmiennej przed wyliczeniem wyrażenia zmienna dekrementacja zmiennej po wyliczeniu wyrażenia zmienna dekrementacja zmiennej przed wyliczeniem wyrażenia Przykład 4 int x,y=1; x=++y; // x=2, y=2 x=y++; // x=1,y=2 operatory relacyjne: == równe!= różne < mniejsze > większe <= mniejsze lub równe >= większe lub równe

operatory logiczne: && koniunkcja (AND) alternatywa (OR)! negacja (NOT) tabelki operatorów logicznych: && 1 0 1 0! 1 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 5. Wyrażenia arytmetyczne i logiczne Kolejność wykonania działań w wyrażeniach arytmetycznych i logicznych określają priorytety operatorów i nawiasy okrągłe. Przykład 5 float x; int y=1,z=2,t; x=(y+z)/2; // x=? x=(y+z)/2.0; //x=? t=(y+z)/2.0; // t=? t=y+z>5 && x<3 t<2; // t=? t=y+z>5 && (x<3 t<2); // t=? t=y+z>5 && (!(x<3) t<2); // t=?

Priorytety operatorów w języku C (tylko operatory omówione): Operator Opis Przykład! negacja logiczna if(! (x >max) ) kontynuuj; zmiana znaku (negacja) x = 10 ( y) ++ inkrementacja (zwiększenie o 1) x + + + y (x+ +) + y dekrementacja (zmiejszenie o 1) y y ( y) mnożenie / dzielenie % operacja modulo (reszta z dzielenia) if( x%2 == 0 ) parzyste; + dodawanie odejmowanie < mniejszy niż if( liczba < max ) max = liczba; <= mniejszy lub równy > wiekszy niż >= wiekszy lub równy == równy!= nierówny (różny od) = przypisanie = /= %= += przypisania arytmetyczne = Przykład 5 int x=1, y=2, z=3, wynik=4 ; wynik = ++x x + y %++z; wynik = (++x) (x ) + (y ) % (++z); wynik = ( (++x)) (x ) + ( (y )) % (++z); wynik = (( (++x)) (x )) + (( (y ))%(++z));