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



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

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

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Tworzenie oprogramowania

Programowanie komputerów

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

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

Wprowadzenie do biblioteki klas C++

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

Król Łukasz Nr albumu:

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Wstęp do programowania

Podstawy programowania

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

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

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

Podstawy programowania wykład

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Programowanie proceduralne w języku C++ Podstawy

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

POLITECHNIKA LUBELSKA

Wstęp do programowania. Wykład 1

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

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Programowanie obiektowe

Praca w środowisku Visual Studio 2008, Visual C

Środowiska i platformy programistyczne

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wolne Oprogramowanie i GNU Fortran

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Java jako język programowania

Java EE produkcja oprogramowania

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Q E M U.

1.Wstęp. 2.Generowanie systemu w EDK

Programowanie w języku Python. Grażyna Koba

Utworzenie pliku. Dowiesz się:

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

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

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

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Języki i paradygmaty programowania - 1

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

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

Programowanie mikrokontrolerów AVR

Języki Programowania. Kompilatory Fortranu. Wojciech Sobieski

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Fragment wykładu z języka C ( )

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

Podstawy Programowania. Wykład 1

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

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

Translacja wprowadzenie

Wprowadzenie do programowania

Podstawy języka Java. przygotował:

Podstawy programowania. Wprowadzenie

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

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6

REFERAT PRACY DYPLOMOWEJ

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Podstawy programowania w C++

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

Kl 7-8 Szkoła Podstawowa

Roboty Przemysłowe. laboratorium. Budowa silnika bezszczotkowego i sterowanie silnikiem bezszczotkowym. Autorzy:

Programowanie procesora Microblaze w środowisku SDK

Opis efektów kształcenia dla modułu zajęć

Programowanie niskopoziomowe

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Siedmiomilowe buty Bezpłatne kompilatory C dla mikrokontrolerów firmy Renesas Do 64 kb za 0 zł!

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

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

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

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

Zaawansowane programowanie w języku C++

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

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

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

Co to jest Lazarus? Jak pobrać bezpłatną wersję Lazarus a Organizacja projektu w Lazarus ie

Języki i metody programowania I

Programowanie Niskopoziomowe

kodowanienaekranie.pl

ViLab- program służący do prowadzenia obliczeń charakterystyki energetycznej i sporządzania świadectw charakterystyki energetycznej

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

1 Podstawy c++ w pigułce.

Wykład 4. Środowisko programistyczne

Instrukcja instalacji oprogramowania dla środowiska Windows

Informatyka. Michał Rad

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

Transkrypt:

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++ 1979 rok Od 2003 roku C# jest językiem skonstruowanym niejako jako konkurencja dla Javy dr inż. Stanisław Wszelak 2

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

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

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

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 IDEE commercial software dr inż. Stanisław Wszelak 6

1. Blocks 8.02 z MinGW 4.2.1 Darmowe IDE 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

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

4. Code::Blocks Studio np. wersja 10.05 Zintegrowane środowisko programistyczne (IDE) umożliwiające tworzenie aplikacji w języku C i C++ przeznaczonych na platformę Windows i Linux. Wśród wielu zalet Code::Blocks Studio można wymienić obsługę kilku kompilatorów (GCC, MSVC++, Digital Mars, Borland C++ 5.5 i Open Watcom) oraz możliwość importu przygotowywanych projektów w programie Dev-C++. Dodatkową zaletą aplikacji jest możliwość poszerzenia narzędzi poprzez ogólnodostepne wtyczki. Można pisać własny plugin, ponieważ autorzy udostępnili na swojej stronie odpowiednie kody źródłowe, SDK. Można zarządzać kilkoma plikami na raz dzięki zastosowaniu tak zwanych paneli, w których poruszanie się jest podobne jak w przeglądarkach internetowych. Poza tym Code::Blocks Studio: -koloruje składnie, -wyświetla w czasie rzeczywistym podpowiedzi dotyczące funkcji. dr inż. Stanisław Wszelak 9

5. 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. Aktualnie jest wersja 2010 dr inż. Stanisław Wszelak 10