Podstawy programowania Ć JAVA C wiczenie 2
|
|
- Antoni Dudek
- 9 lat temu
- Przeglądów:
Transkrypt
1 Podstawy programowania Ć JAVA C wiczenie 2 1. Program rozwia zuja cy rownanie kwadratowe (zmienne podstawowe, operatory, instrukcje) public class Rownaniekwadratowe { public static void main (String args[]) { int a=1, b, c; b=-6; c=9; System.out.println("Rownanie kwadratowe Axx+Bx+C=0\n\n"); System.out.println("Parametry rownania:\n"); System.out.println("A: "+a+" B: "+b+" C: "+c+"\n"); if (a==0) { System.out.println("To nie jest rownanie kwadratowe: A=0!"); double delta = b*b-4*a*c; if (delta<0) { System.out.println("delta<0\n"); System.out.println("Brak rozwiazania w zbiorze liczb rzeczywistych"); double wynik; if (delta==0) { wynik= -b/2*a; System.out.println("Rozwiazanie: x = "+wynik); wynik=(-b+math.sqrt(delta))/2*a; System.out.print("Rozwiazanie: x1 = "+wynik); wynik=(-b-math.sqrt(delta))/2*a; System.out.println(",x2 = "+wynik); Powyzszy program jest klasycznym przykśadem obliczania pierwiastkow rownania kwadratowego 2 Ax + Bx + C = 0 o parametrach podanych bezposrednio w kodzie programu (Rownaniekwadratowe.java). Przedstawiono w nim m.in. sposob uzywania podstawowych typow zmiennych (deklaracje, inicjowanie oraz wyprowadzanie wartosci na ekran), operatorow i instrukcji warunkowej ifś else. Uwagi: Zmienne Typy zmiennych w Javie dziela sie na dwa rodzaje: typy podstawowe (Tabela 1) oraz typy odnosnikowe. Typy podstawowe dziela sie na typy arytmetyczne oraz typ logiczny. Typy arytmetyczne dziela sie z kolei na typy caćkowitoliczbowe oraz typy zmiennoprzecinkowe. Typy odnosnikowe (referencyjne) dziela sie na trzy rodzaje: typy klasowe, typy interfejsowe oraz typy tablicowe.
2 Arytmetyczny Typ Liczba bajtow Zakres wartosci Wartosc standartowa Logiczny boolean 1 true, false false char 2 Znaki Unicode \u0000 Caśkowitoliczbowy byte ń short ń int ń long ń Zmienno- float 4 ±3, przecinkowy double 8 ±1, Tabela 1. Typy podstawowe zmiennych w Javie Aby moc uzyc jakiejs zmiennej podstawowej w programie, wpierw trzeba ja zadeklarowac. Ogolna deklaracja ma postac : Typ_zmiennej nazwa_zmiennej; Mozna rowniezzadeklarowac wiele zmiennych danego typu oddzielaja c ich nazwy przecinkami. Wartosci zmiennych mozna przypisac juzpodczas deklaracji. Typ_zmiennej nazwa1 = wartosc1, nazwa2, nazwa3 = wartosc2; Nazwy zmiennych moga skśadac sie z duzych i maśych liter oraz cyfr, ale nie moga zaczynac sie od cyfry. Nie nalezy rowniezstosowac polskich znakow diakrytycznych. Zaleca sie aby nazwy zmiennych zaczynaśy sie od maśej litery, a pierwsze litery kolejnych wyrazow byśy wielkie np. zmiennabufor, stawkavat, liczbadni. Zmienne w Javie, podobnie jak w C, czy C++ mozna deklarowac w dowolnym miejscu funkcji czy metody. W przeciwienstwie do C++ w Javie dokśadnie okreslono sposob reprezentacji danych, niezaleznie od systemu operacyjnego (Tabela 1, Liczba bajtow). Do wyswietlania danych wykorzystuje sie metody System.out.print() oraz System.out.println(), ktore jako argumenty przyjmuja rozne typy danych (mozna je śa czyc operatorem + ). Druga metoda wymusza dodatkowo przejscie do nowej linii, zas pierwsza nie. Operatory Do wykonywania operacji na zmiennych sśuza operatory, ktore dzielimy na: arytmetyczne, bitowe, logiczne, przypisania, porownania. Do operatorow arytmetycznych zalicza sie : dodawanie (+), odejmowanie (-), mnoz enie(*), dzielenie (/), dzielenie modulo (%), inkrementacje (++) i dekrementacje (--). Operatory inkrementacji i dekrementacji moga wyste powac w formie przyrostowej x++, xź bad przedrostkowej ++x, --x. Operator przyrostowy zmienia wartosc zmiennej po jej wykorzystaniu, natomiast przedrostkowy przed jej wykorzystaniem! Do operatorow bitowych zalicza sie AND (&), OR ( ), XOR (^), przesunie cie bitowe w lewo (<<), w prawo (>>) oraz w prawo z wypeśnieniem zerami (>>>). W grupie operatorow logicznych wyroznia sie : operator logiczny AND (&&), logiczne OR ( ) i logiczna negacje (!). Argumentami operacji takiego typu musza byc wyrazenia posiadaja ce wartosc logiczna true lub false. Operatory przypisania sa dwuargumentowe i powoduja przypisanie wartosci argumentu prawostronnego do argumentu lewostronnego (Tabela 2). Operatory poro wnania sśuza do porownania wartosci argumentow. Wynikiem porownania jest wartosc true lub false. Rozroznia sie argumenty: ==,!=, <, >, >=, <+. Operator warunkowy?, ma skśadnie : warunek? wartosc1 : wartosc2; Wyrazenie takie przybiera wartosc1, jezeli warunek jest speśniony, lub wartosc2 w przeciwnym przypadku np. y = (x ==1? 12 : 24); da y = 12 gdy x =1 ba d y = 24 gdy x 1. Instrukcja warunkowa if...else Instrukcja warunkowa if...else ma ogolna postac : if ( wyraz enie warunkowe) { Instukcje do wykonania, jez eli warunek jest spećniony Instukcje do wykonania, jez eli warunek nie jest spećniony Wyrazenie warunkowe, inaczej nizw C/C++ musi dac w wyniku wartosc typu boolean.
3 Argument 1 Operator Argument 2 Znaczenie x = y x=y x += y x=x+y x -= y x=x-y x *= y x=x*y x /= y x=x/y x %= y x=x%y x <<= y x=x<<y x >>= y x=x>>y x >>>= y x=x>>>y x &= y x=x&y x = y x=x y x ^= y x=x^y Tabela 2. Operatory przypisania i ich znaczenie w Javie Funkcje matematyczne Funkcje matematyczne Javy sa zawarte w klasie Math. Funkcje te sa zadeklarowane jako statyczne, wie c mozna uzyskac do nich doste p bez tworzenia egzemplarza obiektu np. y=math.exp(x), y=math.sqrt(z). Zadania do samodzielnego wykonania: 2 1. Napisac program do obliczania pierwiastkow rownania kwadratowego Ax + Bx + C = 0 o parametrach podanych bezposrednio w kodzie programu z wykorzystaniem okna graficznego. 2. Napisac program wykonuja cy dzielenie zmiennych typu caśkowitego. Sprawdzic rezultaty w sytuacji, gdy rzeczywisty wynik jest uśamkiem. 3. Napisac program z zadeklarowana zmienna typu caśkowitego i sprawdzic przekroczenie dopuszczalnej wartosci tej zmiennej: a) podczas inicjacji; b) wykonuja c operacje arytmetyczna 4. Przeanalizowac ponizszy kod nie uruchamiaja c programu (IncDec.java). public class IncDec { public static void main (String args[]) { int x=1,y; System.out.println(++x); System.out.println(x++); System.out.println(x); y=x++; System.out.println(y); y=++x; System.out.println(++y); x=y; System.out.println(--x); System.out.println(x--); System.out.println(x); y=x--; System.out.println(y); y=--x; System.out.println(--y);
4 2. Program obliczaja cy wartosc srednia (instrukcje, tablice) import java.io.*; class Srednia { public static double czytaj (int k) { String input = ""; boolean error; double bufor=0; BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); do { error = false; System.out.print ("Podaj tablica["+k+"]: "); System.out.flush(); try { input = in.readline(); catch (IOException e) { System.out.println (e); System.out.println ("Przechwycono blad wejsciowy"); error = true; try { bufor = Double.valueOf (input).doublevalue(); catch (NumberFormatException e) { System.out.println(e); System.out.println("zly format, jeszcze raz"); error = true; while (error); return(bufor); public static void main (String args[]) { int ilosc = 5; double suma = 0; double tablica[] = new double[ilosc]; System.out.println("Obliczanie wartosci sredniej "+ilosc+" elementow tablicy"); for (int i=0; i<ilosc; i++) { tablica[i]= czytaj(i); System.out.print("\ntablica =["); for (int i=0; i<ilosc; i++) { suma += tablica[i]; System.out.print (" "+tablica[i]+" "); System.out.println("]"); double wynik = suma / ilosc ; System.out.println ("Srednia liczb wynosi: "+wynik+"\n");
5 Powyzszy program (Srednia.java) oblicza wartosc srednia elementow tablicy, zadanych w programie. Przedstawiono w nim m.in. technike pobierania danych z klawiatury oraz zamiane śancucha na liczbe. Dane wprowadzane sa typu rzeczywistego (double). Do pobierania danych z klawiatury stworzono metode czytaj, w ktorej uzyto klasy BufferedRaader zawieraja cej metode readline, ktora pobiera dane wejsciowe z obiektu BufferedReader i zwraca śancuch. W tym celu zaimportowano klasy z pakietu java.io (tam znajduje sie BufferedReader). W metodzie czytaj nalezaśo stworzyc nowy obiekt BufferedReader, ktory dostarczy dane z klawiatury. W tym celu wywośano konstruktor BufferedReader z argumentem System.in (standardowe wejscie). Aby przeczytac dane wymuszono oproznienie bufora wejsciowego metda System.out.flush. Metoda readline moze zgśosic wyja tek IOException (wejsciawyjscia), wie c uzyto pe tli do-while z blokiem try-catch, aby go przechwycic. Metoda readline zwraca śancuch. ktory jest przypisany zmiennej input typu String. Kolejnym etapem jest przeksztaścenie śancucha w liczbe Ż w tym przypadku double. Konwersje przeprowadza sie metoda valueof, zawartej w klasie Double. Klasa ta pozwala na umieszczenie typu podstawowego w obiekcie. Obiekt Double zawiera tylko jedno pole typu double. Klasa ta zawiera takze kilka metod do przeksztaścania obiektow Double w typ String. Jak wspomniano wartosc zmiennej input przeksztaścana jest w typ double za pomoca metody Double.valueOf(String).doubleValue(). Metoda ta moze zgśosic wyja tek NumberFormatException, jesli śancuch wejsciowy jest le sformatowany. Dzie ki zastosowaniu petli do-while z blokiem try-catch wyja tek ten jest przechwytywany. Uwagi: Zmienne odnosnikowe. Zmienne typow odnosnikowych (referencyjnych) deklaruje sie jak w przypadku zmiennych typow podstawowych: Typ_zmiennej nazwa_zmiennej1, nazwa_zmiennej2; Pisza c w ten sposob deklaruje sie jedynie odniesienie do zmiennej obiektowej, a nie sama zmienna! Takiemu odniesieniu przypisana jest wartosc pusta (null). W zwia zku z tym nie mozna jej wykorzystac w zadnej operacji. Dopiero po utworzeniu odpowiedniego obiektu w pamie ci mozna powia zac go z tak zadeklarowana zmienna. Jesli deklaruje sie zmienna typu caśkowitego: int a; mozna jej przypisac wartosc np. 10. Zeby moc skorzystac z tablicy nalezy zadeklarowac zmienna odnosnikowa typu tablicowego, utworzyc nowy obiekt tablicy i powia zac go za zmienna. Dopiero wtedy mozna swobodnie odwośywac sie do kolejnych elementow. Pisza c: int tablica[]; deklaruje sie odniesienie do tablicy, ktora bedzie zawieraśa elementy typu np. int. Samej tablicy jednak wcale jeszcze nie ma. Aby stworzyc nowa, jednowymiarowa tablice liczb typu int o rozmiarze np. 10 elementow i przypisac ja zmiennej odnosnikowej o nazwie tablica nalezy uzyc wyrazenie: int tablica = new int[10]; Po tej deklaracji mozna sie odwośywac do kolejnych elementow tej tablicy: tablica [index] Elementy tablicy sa numerowane od zera, a nie od 1!. Oznacza to, ze pierwszy element tablicy n- elementowej ma indeks 0, a ostatni (n-1). Rozmiar tablicy moze byc ustalony dynamicznie w fazie wykonywania programu Zawsze mozna uzyskac informacje o rozmiarze (liczbie elementow) za pomoca odwośania tablica.length; Deklaruja c: Button b; Zmiennej b przypisujemy odniesienie (referencje ) do obiektu typu Button, ale zmienna nie wskazuje na razie na zaden obiekt. Dopiero uzycie wyrazenia new: b = new Button(); tworzy obiekt, a zwrocona przez new referencja jest podstawiana za zmienna b. W deklaracjach zmiennych typu odnosnikowego mozna inicjowac dane, np.: int tablica[] = new int[100]; Button b = new Button; Button[] btab = new Button[n] String s = ala ma kotaą; Ostatni przykśad pokazuje, ze w Javie dopuszczalne sa literaśy śancuchowe, ktorych uzycie powoduje zbudowanie obiektu typu String i zwrot referencji do niego. Zmienna s zostaje zainicjowana referencja do automatycznie utworzonego obiektu typu String, ktory zawiera napis ala ma kota ;
6 Instrukcje Pe tla typu for ma naste puja ca skśadnie : for (wyraz enie poczatkowe; wyraz enie warunkowe; wyraz enie modyfikujace) { Instrukcje do wykonania Wyrazenie pocza tkowe jest stosowane do zainicjowania zmiennej uzywanej jako licznik ilosci wykonan pe tli. Wyrazenie warunkowe okresla warunek, jaki musi byc speśniony, aby dokonac kolejnej iteracji, wyrazenie modyfikuja ce uzywane jest do modyfikacji licznika iteracji. Ogolna konstrukcja pe tli do-while jest naste puja ca: do { instrukcje; while (warunek); Instrukcje sa wykonywane sa tak dśugo, dopoki wyrazenie warunkowe jest prawdziwe. Oznacza to, ze w ciele petli musi nasta pic modyfikacja warunku, bad tezinstrukcja break. Instrukcje zostana wykonane co najmniej 1 raz. Istnieje inna odmiana pe tli, a mianowicie while o konstrukcji: while (wyraz enie warunkowe { Instrukcje Wyja tki Do obsśugi wyja tkow sśuzy blok try...catch, ktorego schemat wykorzystania wygla da naste puja co: try { Blok instrukcji mogacy spowodowacwyjatek catch (TypWyjatku1 identyfikatorwyjatku1) { obsćuga wyjatku 1 catch (TypWyjatku2 identyfikatorwyjatku2) { obsćuga wyjatku 2 catch (TypWyjatku3 identyfikatorwyjatku3) { obsćuga wyjatku 3 finally { instrukcje Po try naste puje blok instrukcji moga cych spowodowac wyja tek. Jezeli podczas ich wykonywania zostanie on wygenerowany, wykonanie zostanie przerwane, a sterowanie przekazane do bloku instrukcji catch. Tu z kolei sprawdzane jest, czy ktoras z instrukcji odpowiada wygenerowanemu wyja tkowi. Jesli tak, wykonany zostanie kod po niej wyste puja cy. Instrukcje znajduja ce sie po sśowie finally wykonywane sa zawsze niezaleznie od tego czy wyja tek wysta piś czy nie. Nie ma koniecznosci stosowanie bloku finally. Zadania do samodzielnego wykonania: 1. Zadeklarowac i zainicjowac w programie tablice n-elementowa typu int. Sprobowac przypisac elementowi o indeksie wie kszym niz(n-1) dowolna liczbe caśkowita. 2. Zmodyfikowac program z p.1 tak aby po przekroczeniu dopuszczalnego indeksu tablicy nie wyst e powaś bśa d w programie, tzn. przechwycic generowany wyja tek. (Wskazowka: obsśuzyc wyja tek: ArrayIndexOutOfBoundsException) 3. Napisac program wykonuja cy elementarne dziaśanie na tablicach dwuwymiarowych taba i tabb (dodawanie, odejmowanie, mnozenie). Dane tablic powinny byc zadawane w programie. Po wczytaniu danych nalezy wyswietlic tablice, oraz wynik dziaśania.
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Odczyt danych z klawiatury Operatory w Javie
Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje
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
Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
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
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
Materiały pomocnicze do wykładu 3 - Elementy języka Java
Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648
Platformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Sł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 Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
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
Programowanie, algorytmy i struktury danych
1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania
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,
Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.
-1-1. Wyjątki 2. Przykładowe zadania Wyjątki Wyjątek w Java jest obiektem, który opisuje sytuację błędną powstałą w kodzie. Zaistnienie sytuacji błędnej w metodzie powoduje utworzenie obiektu reprezentującego
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
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
Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]
Programowanie w Javie Lista nr 1 1. Jak uruchomić pierwszy program w Javie? Przykład przy wykorzystaniu NetBeans: File->New Project Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]
Java. Æwiczenia praktyczne. Wydanie II
PRZYK ADOWY ROZDZIA Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl IDZ DO KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof
Wykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
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:
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
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
Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ
Sterowanie Zak lad Chemii Teoretycznej UJ 29 października 2007 1 2 3 4 arytmetyczne +, -, *, / % (dzielenie modulo) operatory sa lewostronnie l aczne priorytety: (*, /, %), (+, -) nie istnieje operator
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. Ważne terminy: Java DevelopRment
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
MATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe
wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/
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
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
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,
Materiały pomocnicze do wykładu 3 - Elementy języka Java
Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648
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
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
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Java Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Języki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy
PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić
WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.
WYJĄTKI Klasa Throwable Exception Error Klasy dziedziczące po klasie Exception są typami wyjątków, które automatycznie obsługuje Java lub program przy jawnym przechwytywaniu i obsłudze wyjątków w blokach
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
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ęść
2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";
1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja
Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.
Zadanie 1. Utworzyć klasę reprezentującą liczby wymierne. Obiekty klasy powinny przechowywać licznik i mianownik rozłożone na czynniki pierwsze. Klasa powinna mieć zdefiniowane operatory czterech podstawowych
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Wykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
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
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
Java. Zadania z programowania z przykładowymi rozwiązaniami
Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty
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
KOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
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.
Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz
Tablice i łańcuchy znakowe jako obiektowe typy danych dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? Klasy String, StringBuffer, StringBuilder Tablice jednowymiarowe
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
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
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
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Polimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
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
Podstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.
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ąć
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()
Wykład 3. Wyjątki 1) Obsługa wyjątków system czasu przebiegu Javy przerwanie programu class Wyjatek_1 //plik Proba_1.java int x; Wyjatek_1(int x_) x = x_; int iloraz() int p = 45/x; //generowanie wyjątku
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
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
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
Języki i paradygmaty programowania
Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja
Języki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
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
Przetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
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,
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 1, część 2 1 Struktura wykładu 1. Pisanie programu (definiowanie
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:
MATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody
MATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody Java jest językiem obiektowym. Wartości typów innych niż proste są obiektami określonych klas. Obiekty stanowią instancje klas, których
Programowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer
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
Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main
Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem
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ż
Wskaźniki, funkcje i tablice
, funkcje i tablice Zak lad Chemii Teoretycznej UJ 20 listopada 2008 wielowymiarowe 1 2 3 4 wielowymiarowe, funkcje i tablice Czym sa wskaźniki? Plan wielowymiarowe Zmienne wskaźnikowe wskazuja na inne
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196
Wyjątki 180 / 196 Wyjątki W Javie istnieje mechanizm tzw. wyjątków (ang. exception), który pozwala na przechwytywanie błędów pojawiających się w programie. Kompilacja tab [ 1 0 ] = 100; spowoduje powstanie
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
#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,... ) ;
Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Obliczenia, zmienne Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych. Proste
Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle
Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=
Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1
Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne
Operatory, wyrażenia i typy proste
Operatory, wyrażenia i typy proste La Menu / Toolbar Przyciski kompilacji Pokazuje otwarte projekty i listę użytych symboli Tu zazwyczaj pojawi się edytor kodu z plikami w poszczególnych zakładkach. Panele
Java. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE Java. Æwiczenia praktyczne Autor: Marcin Lis ISBN: 83-7197-723-9 Format: B5, stron: 166 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
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,
Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard