Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Podobne dokumenty
Wstęp do programowania

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!

Wykład 1

Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ

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

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

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

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

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

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

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Podstawy programowania wykład

Podstawy Kompilatorów

Języki i metody programowania I

Zaawansowane programowanie w języku C++ Wstęp

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

dr inż. Jarosław Forenc

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

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

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

Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ

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

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

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

O programowaniu komputerów

Wskaźniki. Przemysław Gawroński D-10, p Wykład 1. (Wykład 1) Wskaźniki / 9

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

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

Języki i metodyka programowania

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

Języki Programowania. Kompilatory Fortranu. Wojciech Sobieski

Systemy Operacyjne - Operacje na plikach

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

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

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

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Język ludzki kod maszynowy

Podstawy programowania C. dr. Krystyna Łapin

Podstawy programowania. Wprowadzenie

KARTA KURSU. Wstęp do programowania

Wstęp do programowania

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014. Forma studiów: Stacjonarne Kod kierunku: 06.

Podstawy Programowania. Wykład 1

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

KONSTRUKCJA KOMPILATORÓW

Programowanie strukturalne język C - wprowadzenie

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

Wstęp do programowania. Wykład 1

Wolne Oprogramowanie i GNU Fortran

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

Proste algorytmy w języku C

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Programowanie mikrokontrolerów AVR

Typy danych. Przemysław Gawroński D-10, p lutego Wykład 1. (Wykład 1) Typy danych 25 lutego / 11

Tworzenie oprogramowania

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

Semestr letni Brak Tak

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

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

Praktyka Programowania

Podstawy Programowania.

dr inż. Jarosław Forenc

Systemy Operacyjne. Ćwiczenia

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

Wprowadzenie do OpenMP

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

PODSTAWY PROGRAMOWANIA W C. Bibliografia W-1. Dr. Inż. Hab. Siergiej Fialko, PK,

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

PRZEWODNIK PO PRZEDMIOCIE

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

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Z-ETI-0611 Język Programowania C++ Programming Language C++

Wstęp do Informatyki i Programowania

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Projekty Zaliczeniowe Laboratorium Sieci Komputerowych

Metody Kompilacji Wykład 1 Wstęp

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Stacjonarne Kod kierunku: 06.

PROGRAMOWANIE w C prolog

O programowaniu komputerów

Programowanie komputerów

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Wprowadzenie do biblioteki klas C++

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

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

Programowanie I. Wprowadzenie. Proces programowania

Języki i paradygmaty programowania - 1

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wskaźniki, funkcje i tablice

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Transkrypt:

Wyk lad niesystematyczny Zak lad Chemii Teoretycznej UJ 24 października 2008

Przeglad jezyka Gdzie szukać narzedzi i informacji? 1 Wst ep 2 3 Przeglad jezyka 4 Gdzie szukać narz

Przeglad jezyka Gdzie szukać narz Troch e historii Prehistoria: ALGOL, COBOL, FORTRAN... i prosta droga do C... BCPL B (pierwszy Unix) C (Ritchie, przepisany ca ly kod Unix-a, 1973) C Programming Language, Kernighan, Ritchie, 1978 C++, Java, Perl, PHP,...

Przeglad jezyka Gdzie szukać narz Standardy j ezyka oraz C vs C++ Standardy C C89 C90 C99 C a C++ C nie jest podzbiorem C++ C nie jest kompatybilny z C++ poprawny kod w C może być niepoprawnym kodem w C++

Przeglad jezyka Gdzie szukać narz Cechy j ezyka prosty i minimalistyczny w praktycznych zastosowaniach silnie oparty na bibliotekach niskopoziomowy programy w C zbudowane sa w zasadzie z dwojakiego rodzaju klocków: funkcji - zawieraja instrukcje określajace, jakie operacje należy wykonać zmiennych - przechowuja wartości używane podczas procesu obliczeniowego

Przeglad jezyka Gdzie szukać narz Fazy kompilacji Co si e dzieje gdy: stworz e plik z kodem źród lowym programu w C... i postanowi e go skompilować... gcc my superb code.c?

Przeglad jezyka Gdzie szukać narz Podzia l odpowiedzialności Preprocesor Bierze kod źród lowy, usuwa komentarze, realizuje dyrektywy preprocesora (oznaczane przez #). Kompilator Bierze kod otrzymany od preprocesora, wykonuje optymalizacj e i t lumaczenie na j ezyk maszynowy (asembler). Asembler Tworzy pliki obiektowe - *.o (Unix), *.obj (MS DOS). Linker Bierze pliki obiektowe, do l acza potrzebne biblioteki, tworzy plik z kodem wykonywalnym (program).

Przeglad jezyka Gdzie szukać narz Najpi ekniejszy najkrótszy program świata #i n c l u d e <s t d i o. h> /* Wypisz H e l l o w o r l d */ i n t main ( ) p r i n t f ( H e l l o w o r l d \n ) ; r e t u r n 0 ;

$$$... Przeglad jezyka Gdzie szukać narzedzi i informacji? #i n c l u d e <s t d i o. h> #d e f i n e USD to PLN 2. 5 /* P r z e l i c z podana kwote w USD na PLN. Wersja z d e f i n e */ i n t main ( ) double USD amount ; double PLN amount ; p r i n t f ( I l e USD?\ n ) ; s c a n f ( %l f, &USD amount ) ; PLN amount = USD to PLN * USD amount ; p r i n t f ( USD : %l f PLN %l f \n, USD amount, PLN amount ) ; r e t u r n 0 ;

Przeglad jezyka Gdzie szukać narz $$$... jeszcze raz #i n c l u d e <s t d i o. h> /* P r z e l i c z podana kwote w USD na PLN. Wersja z c o n s t */ i n t main ( ) double USD amount, PLN amount ; c o n s t double USD to PLN = 2. 5 ; p r i n t f ( I l e USD?\ n ) ; s c a n f ( %l f, &USD amount ) ; PLN amount = USD to PLN * USD amount ; p r i n t f ( USD : %l f PLN %l f \n, USD amount, PLN amount ) ; r e t u r n 0 ;

P etla Przeglad jezyka Gdzie szukać narzedzi i informacji? #i n c l u d e <s t d i o. h> /* P r z e l i c z kwoty od 5 do 100 USD na PLN, krok : 5 USD */ i n t main ( ) double USD amount, PLN amount ; c o n s t double begin = 5. 0, end = 100.0, step = 5. 0 ; c o n s t double USD to PLN = 2. 5 ; USD amount = begin ; w h i l e ( USD amount <= end ) PLN amount = USD to PLN * USD amount ; p r i n t f ( USD : %l f PLN %l f \n, USD amount, PLN amount ) ; USD amount += step ; r e t u r n 0 ;

Przeglad jezyka Gdzie szukać narz... i jeszcze jedna p etla #i n c l u d e <s t d i o. h> /* P r z e l i c z kwoty od 5 do 100 USD na PLN, krok : 5 USD, u z y c i e p e t l i f o r */ i n t main ( ) double USD amount ; c o n s t double begin = 5. 0, end = 100.0, step = 5. 0 ; c o n s t double USD to PLN = 2. 5 ; f o r ( USD amount = b e g i n ; USD amount <= end ; USD amount += s t e p ) p r i n t f ( USD : %l f PLN %l f \n, USD amount, USD to PLN * USD amount ) ; r e t u r n 0 ;

Przeglad jezyka Gdzie szukać narz Kopiowanie znaków #i n c l u d e <s t d i o. h> /* K o p i u j z n a k i z w e j s c i a na w y j s c i e */ i n t main ( ) i n t c ; c = g e t c h a r ( ) ; w h i l e ( c!= EOF) p u t c h a r ( c ) ; c = g e t c h a r ( ) ; r e t u r n 0 ;

Przeglad jezyka Gdzie szukać narz i zliczanie... #i n c l u d e <s t d i o. h> /* Z l i c z a j z n a k i na w e j s c i u */ i n t main ( ) unsigned amount = 0 ; w h i l e ( g e t c h a r ( ) amount++;!= EOF) p r i n t f ( Razem %u z n a k i \n, amount ) ; r e t u r n 0 ;

Tablica Przeglad jezyka Gdzie szukać narzedzi i informacji? #i n c l u d e <s t d i o. h> /* Wypisz k o l e j n e l i c z b y c i a g u F i b o n a c c i e g o, F 0,... F 23 */ i n t main ( ) i n t f i b o n a c c i [ 2 4 ] ; i n t i ; f i b o n a c c i [ 0 ] = 0 ; f i b o n a c c i [ 1 ] = 1 ; f o r ( i = 2 ; i < 2 4 ; i ++) f i b o n a c c i [ i ] = f i b o n a c c i [ i 1] + f i b o n a c c i [ i 2]; f o r ( i = 0 ; i < 2 4 ; i ++) p r i n t f ( %3d %6d\n, i, f i b o n a c c i [ i ] ) ;

Przeglad jezyka Gdzie szukać narzedzi i informacji? Funkcja zjadajaca w lasny ogon #i n c l u d e <s t d i o. h> /* Wypisz k o l e j n e l i c z b y c i a g u F i b o n a c c i e g o, F 0,... F 23 w e r s j a z r e k u r e n c y j n y m wywolaniem f u n k c j i */ i n t f i b o n a c c i ( i n t ) ; i n t main ( ) f o r ( i n t i = 0 ; i < 2 4 ; i ++) p r i n t f ( %3d %6d\n, i, f i b o n a c c i ( i ) ) ; r e t u r n 0 ; i n t f i b o n a c c i ( i n t i ) i f ( i == 0) r e t u r n 0 ; i f ( i == 1) r e t u r n 1 ; i f ( i > 1) r e t u r n f i b o n a c c i ( i 1) + f i b o n a c c i ( i 2 ) ;

Przeglad jezyka Gdzie szukać narzedzi i informacji? Kompilatory http://www.thefreecountry.com/compilers/cpp.shtml Linki do darmowych kompilatorów C/C++. GCC - Linux Intel - Linux Cygwin - Windows Mingw - Windows Open Watcom - Windows

Przeglad jezyka Gdzie szukać narz Zasoby w sieci http://www.chemia.uj.edu.pl/~makowskm/c_course.html Materia ly zwiazane z tym kursem. http://galaxy.uci.agh.edu.pl/~chwastek/lectures/c/ spis.html Folie do wyk ladów by AGH. http://www.cprogramming.com/ Your resource for C and C++. http: //www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf Techniczny i szczegó lowy opis standardu C99.

Ksiażki Przeglad jezyka Gdzie szukać narzedzi i informacji? J ezyk ANSI C, Kernighan B.W., Ritchie D.M., WNT Klasyczny podr ecznik napisany przez twórców j ezyka. Zgodny ze standardem ANSI C. J ezyk C. Szko la programowania, Prata S., Helion Obszerny, zgodny z C99. Oprócz kursu C, zagadnienia zwiazane z algorytmika i strukturami danych. J ezyk C. Programowanie, Oualline A., Helion Podobno dobry podr ecznik. Podobno źle przet lumaczony.