Języki programowania - podstawy

Podobne dokumenty
ECLIPSE wnioski z dwóch pierwszych laboratoriów

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

Programowanie strukturalne i obiektowe

tablica: dane_liczbowe

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

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

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

1 Podstawy c++ w pigułce.

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

1 Podstawy c++ w pigułce.

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

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

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

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

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

Język ludzki kod maszynowy

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

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

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

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

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

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

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

Podstawy Programowania C++

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

Podstawy programowania w języku C

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

Programowanie strukturalne język C - wprowadzenie

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

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Część 4 życie programu

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

2 Przygotował: mgr inż. Maciej Lasota

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

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

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Wprowadzenie do języka Java

Wstęp do programowania

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

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

Słowa kluczowe i nazwy

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Programowanie Obiektowe i C++

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

Programowanie obiektowe

Kontrola przebiegu programu

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

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

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

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

Zmienne, stałe i operatory

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

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

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

Programowanie Proceduralne

Pętla for. Wynik działania programu:

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

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

Projektowanie klas c.d. Projektowanie klas przykład

Programowanie - wykład 4

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

do instrukcja while (wyrażenie);

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do Programowania, laboratorium 02

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Instrukcje sterujące

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

I - Microsoft Visual Studio C++

Wstęp do informatyki- wykład 7

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

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

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

Język C - podstawowe informacje

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

Techniki Programowania

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

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

Struktura pliku projektu Console Application

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

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

Programowanie komputerowe. Zajęcia 1

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

Wstęp do programowania 1

INFORMATYKA Studia Niestacjonarne Elektrotechnika

ROZDZIAŁ 2. Operatory

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

( wykł. dr Marek Piasecki )

Podstawy Programowania. Wykład 1

Transkrypt:

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 jakiegoś problemu, składający się z ciągu następujących po sobie czynności (lub instrukcji) Sposób zapisu Słowny Przy pomocy schematu blokowego W pseudokodzie Implementacja w języku programowania Dudek A. Algorytm, sposób zapisu, język programowania - podstawy

Oznaczenia

Oznaczenia

Języki programowania Programowanie proceduralne programowanie strukturalne C, Pascal, Fortran programowanie funkcyjne - Scala programowanie imperatywne programowanie obiektowe Java, C++, C#, Objective C programowanie uogólnione programowanie logiczne - Prolog programowanie aspektowe - AspectJ programowanie deklaratywne Prolog, SQL programowanie sterowane zdarzeniami Dudek A. Algorytm, sposób zapisu, język programowania - podstawy

Struktura programu - podstawy W programie w języku C / C++ można wyróżnić w miarę stałe bloki: W przypadku prostych programów nie wykorzystujących funkcji lub klas: #include <iostream> using namespace std; // Deklaracje dołączanych bibliotek / plików nagłowkowych, dyrektywy kompilatora, przestrzenie nazw int main() { // funkcja main - główna funkcja programu int ile_razy=1; // Deklaracje zmiennych for(int i=0;i<0;i++){ // Właściwe instrukcje cout << "!!!Hello World!!!" << endl; } } return 0; // zakończenie funkcji main W przypadku bardziej złożonych programów, oprócz funkcji main występują jeszcze definicje innych funkcji i/lub klas, plik cpp jest jeszcze często połączony z plikiem nagłówkowym *.h zawierającym ich prototypy.

Słowa Kluczowe języka C Słowo asm auto break case char const continue default do double else enum OPIS Kod w asemblerze Modyfikator określający, że zmienne są pamiętane w domyślnym miejscu pamięci Polecenie kończące bezwarunkowo for, while, switch, i do...while W połączeniu ze switch - wybór wielokrotny Najprostszy typ danych, 1 bajt Modyfikator powodujący, że zmienna musi mieć w trakcie wykonywania programu tą samą wartość Polecenie powodujące przejście do następnej iteracji for, while, i do...while Domyślna wartość w instrukcji switch Instrukcja pętli Typ danych - podwójna precyzja, zmiennopozycyjne. Instrukcje do wykonania jeśli warunek po If...jest niespełniony Typ danych pozwalający aby zmienna przyjmowała tylko określone wartości

Słowa Kluczowe języka C extern Modyfikator określający, że zmienna jest zdefiniowana na zewnątrz programu/ funkcji float for goto if int long Typ danych pojedyncza precyzja, zmiennopozycyjne. Instrukcja pętli Instrukcja skoku Instrukcja wyboru Typ danych przechowujący liczby całkowite Typ danych przechowujący liczby całkowite długie register Modyfikator określający, że zmienne są pamiętane w rejestrze ( o ile to możliwe) return short Powrót z aktualnie wykonywanej funkcji Typ danych przechowujący liczby całkowite krótkie

Słowa Kluczowe języka C signed sizeof static struct switch typedef union unsigned void volatile while Modyfikator określające, że zmienne danego typu mogą być ujemne Operator określający rozmiar zmiennej Modyfikator określający, że wartość zmiennej nie zmienia się pomiędzy kolejnymi wywołaniami funkcji Deklaracja struktury Wybór wielokrotny Definicja nowego typu Deklaracja unii Modyfikator określające, że zmienne danego typu nie mogą być ujemne "Pusty" typ danych. Najczęściej służy do określenia, że funkcja nie ma zwracać żadnych wartości. Modyfikator określający, że zmienna może być modyfikowana Instrukcja pętli wykonywana dopóki warunek pętli jest prawdziwy.

Słowa Kluczowe języka C ++ catch inline template class new this delete operator throw except private try finally Protected virtual friend Public

Priorytety operatorów: Operatory Wiązanie 1. () [] -> ::. ++ i -- (przyrostkowe) od lewej do prawej 2.! ~ + - ++ -- & * (typ) sizeof new delete od prawej do lewej 3..* ->* (dostęp do składowych obiektów) od lewej do prawej 4. * / % od lewej do prawej 5. + - (dwuargumentowe) od lewej do prawej 6. << >> od lewej do prawej 7. < <= > >= od lewej do prawej 8. ==!= od lewej do prawej 9. & od lewej do prawej 10. ^ od lewej do prawej 11. od lewej do prawej 12. && od lewej do prawej 13. od lewej do prawej 14.?: od prawej do lewej 15. = *= /= %= += -= &= ^= = <<= >>= od prawej do lewej 16., od lewej do prawej

Funkcja: printf() biblioteka: <stdio.h> wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ; tekst sterujący jest to stała łańcuchowa (w podwójnych cudzysłowach) zawierająca: zwykłe znaki (które są po prostu kopiowane na ekran) kody formatujące kolejnych argumentów: %c pojedynczy znak %s łańcuch znaków %d liczba dziesiętna ze znakiem %f liczba zmiennoprzecinkowa (notacja dziesiętna) %e liczba zmiennoprzecinkowa (notacja wykładnicza) %g liczba zmiennoprzecinkowa (krótszy z formatów %f %e) %u liczba dziesiętna bez znaku %x liczba w kodzie szesnastkowym (bez znaku) %o liczba w kodzie ósemkowym (bez znaku) l przedrostek (long) stosowany przed: d u x o \n nowa linia

Instrukcja warunkowa: if ( wyrażenie ) instrukcja_1 ; else instrukcja_2 ; Przykład Napisz program, który rozwiąże układ równań ax+by=c dx+ey=e badając możliwe sytuacje (jedno rozwiązanie, wiele rozwiązań, brak rozwiązań)

Instrukcja while Składnia instrukcji while jest następująca: while ( warunek ) instrukcja; warunek jest wyrażeniem języka C++, zaś instrukcja jest dowolną instrukcją lub blokiem instrukcji C++. Gdy wartością wyrażenia warunek jest true (prawda), wykonywana jest instrukcja, po czym następuje powrót do początku pętli i ponowne sprawdzenie warunku. Czynność ta powtarza się, dopóki warunek zwraca wartość true. Gdy wyrażenie warunek ma wartość false, działanie pętli zostaje zakończone Może się zdarzyć, że przed wykonaniem całego zestawu instrukcji w pętli będziesz chcieć powrócić do jej początku. Służy do tego instrukcja continue (kontynuuj).

Może zdarzyć się także, że będziesz chcieć wyjść z pętli jeszcze przed spełnieniem warunku końca. Instrukcja break (przerwij) powoduje natychmiastowe wyjście z pętli i przejście wykonywania do następnych instrukcji programu. Przykład // zliczanie do 10 int x = 0; while (x < 10) { printf("x: %d", x); x++; } Przykład: Napisz program losujący liczbę całkowitą tak długo, aż wylosowana zostanie liczba podzielna przez 666.

Instrukcja do...while Składnia instrukcji do...while jest następująca: do instrukcja while (warunek); Wykonywana jest instrukcja, po czym sprawdzany jest warunek. Jeśli warunek jest spełniony, pętla jest powtarzana; w przeciwnym razie jej działanie się kończy. Pod innymi względami instrukcje i warunki są identyczne, jak w pętli while. Przykład // wypisujemy małe litery alfabetu char ch = 'a'; do { printf("%c",ch); ch++; } while ( ch <= 'z' ); Używaj pętli do...while, gdy chcesz mieć pewność że pętla zostanie wykonana co najmniej raz. Używaj pętli while, gdy chcesz pominąć pętlę (gdy warunek nie jest spełniony).

Składnia pętli for Składnia instrukcji for jest następująca: for (inicjalizacja; test; akcja ) instrukcja; Instrukcja inicjalizacja jest używana w celu zainicjalizowania stanu licznika lub innego przygotowania do wykonania pętli. Instrukcja test jest dowolnym wyrażeniem języka C++, które jest obliczane przed każdym wykonaniem zawartości pętli. Jeśli wyrażenie test ma wartość true, wykonywane jest ciało pętli, po czym wykonywana jest instrukcja akcja z nagłówka pętli (zwykle po prostu następuje inkrementacja zmiennej licznikowej). Przykład 1 // dziesięć razy wpisuje napis "Hello" for (int i = 0; i < 10; i++) printf("hello! "); Przykład 2 for (int i = 0; i < 10; i++) { printf("hello!"); printf("wartoscia i jest: %d",i); } Przykład Napisz program obliczający n-tą liczbę Fibbonaciego

Instrukcja switch Składnia instrukcji switch jest następująca: switch (wyrażenie) { case wartośćjeden: instrukcja; case wartośćdwa: instrukcja;... case wartośćn: instrukcja; default: instrukcja; } Instrukcja switch umożliwia rozgałęzienie programu (w zależności od wartości wyrażenia). Na początku wykonywania instrukcji następuje obliczenie wartości wyrażenia, gdy odpowiada ona którejś z wartości przypadku case, wykonanie programu przechodzi do tego właśnie przypadku. Wykonywanie instrukcji jest kontynuowane aż do końca ciała instrukcji switch lub do czasu napotkania instrukcji break. Jeśli wartość wyrażenia nie odpowiada żadnej z wartości przypadków case i występuje przypadek default, wykonanie przechodzi do przypadku default. W przeciwnym razie wykonywanie instrukcji switch się kończy. Przykład: Napisz program podający słownie dzień tygodnia, dla dnia tygodnia podanego w postaci liczby.

Tablice : int tablica [ 20 ]; // 20-cio elementowa tablica liczb całkowitych # define ile=15 float tekst [ile]; // 15-cio elementowa tablica zmiennych zmiennopozycyjnych (liczby rzeczywiste typu float char macierz [ 3 ] [ 5 ]; // dwuwymiarowa tablica: znaków 3 wiersze po 5 kolumny, w języku C tablice są zawsze indeksowane od zera np. pierwszym elementem tablicy macierz jest: macierz[ 0 ][ 0 ] a ostatnim elementem jest: macierz[ wymiar_1 1 ][wymiar_2 1] tzn. macierz[ 2][ 4 ] w języku C nie jest sprawdzana zgodność indeksu z wymiarami tablicy!!! często jest to przyczyną trudnych do wykrycia błędów. np. odwołanie: macierz[ 1 ][ 5 ] zwróci w rzeczywistości wartość pierwszego elementu z trzeciego wiersza tzn. macierz[ 2 ][ 0 ]

Definicję tablicy można połączyć z inicjacją jej zawartości: int tab[ 10 ]; // sama definicja bez inicjacji int tab_inicjowana[ 10 ] = { 20, -3, 12, 1, 0, 7, -5, 100, 2, 5 }; char tab_znakow[ 5 ] = { a, B, \n, 1, \0 }; float macierz_a[ 3 ][ 2 ] = { {1,1}, {3.5,7.0}, {-15,100} }; float macierz_b[ 3 ][ 2 ] = { 1, 1, 3.5, 7.0, -15, 100 }; Kolejne inicjatory zawsze wstawiane są do kolejnych komórek tablicy (w związku z tym można pominąć wewnętrzne nawiasy klamrowe).

Jeżeli lista inicjatorów jest krótsza niż ilość elementów tablicy to pozostałe elementy są uzupełniane zerami lub wskaźnikami NULL np. definicja: a definicja: jest równoważna: jest równoważna: lub: int tab[ 10 ] = { 20, -3, 12, 1 }; int tab[ 10 ] = { 20, -3, 12, 1, 0, 0, 0, 0, 0, 0 }; float macierz[ 3 ][ 2 ] = { {1}, {3.5,7.0} }; float macierz[ 3 ][ 2 ] = { {1,0}, {3.5,7.0}, {0,0} }; float macierz[ 3 ][ 2 ] = { 1, 0, 3.5, 7.0, 0, 0 };

PRZYKŁAD (tablice): Wprowadź dane do tablicy 10 elementowej Policz ile w tablicy jest elementów większych od trzech Znajdź minimalną i maksymalną wartość w tablicy Posortuj liczby w tablicy metodą sortowania bąbelkowego