Kompilowanie programów

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

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

1. Wprowadzenie do C/C++

Lekcja 12 - POMOCNICY

Wska¹niki, tablice dynamiczne wielowymiarowe

C++ wprowadzanie zmiennych

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Programowanie proceduralne w języku C++ Podstawy

1. Wprowadzenie do C/C++

Lekcja 6 Programowanie - Zaawansowane

J zyk C dla sterowników programowalnych GeFanuc

Proces tworzenia programu:

Przykªadowe tematy z JiMP

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Wstawianie gotowych rysunków w texu - informacje podstawowe.

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

Wojewódzki Konkurs Matematyczny

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

ˆ tablice statyczne (o staªej ilo±ci elementów) ˆ tablice dynamiczne (o zmiennej ilo±ci elementów) 7.1 Tablice jednowymiarowe statyczne

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

Makroekonomia Zaawansowana

Wstęp do programowania. Wykład 1

7.3 Tablice jednowymiarowe dynamiczne

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

Lekcja 9 Liczby losowe, zmienne, staªe

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Podstawy Informatyki i Technologii Informacyjnej

Lekcja 5 Programowanie - Nowicjusz

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

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!

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

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

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Tworzenie oprogramowania

Wstęp do programowania

Centralizacji Systemu. Procedury zasilania danymi systemu LAS oprogramowania do aktualizacji LMN. etap C13 pkt 5

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Programowanie w języku Python. Grażyna Koba

Makroekonomia zaawansowana (1)

2 Skªadnia polece«w pliku

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

INSTRUKCJE WEJŚCIA I WYJŚCIA

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Elementy geometrii w przestrzeni R 3

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);

z programowania z przykładowymi rozwiązaniami

1 Podstawy c++ w pigułce.

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

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Lab. 02: Algorytm Schrage

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

Lekcja 3 Banki i nowe przedmioty

Wska¹niki, tablice dynamiczne jednowymiarowe, staªe

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

Utworzenie pliku. Dowiesz się:

Systemy mikroprocesorowe - projekt

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

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

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Podstawy Programowania.

Podstawy modelowania w j zyku UML

EGZAMIN POTWIERDZAJ CY KWALIFIKACJE W ZAWODZIE Rok 2014 CZ PRAKTYCZNA

Programowanie i struktury danych

WinAVR, Eclipse, AVR8 Burn-O-Mat niezb dne narz dzia programistyczne dla mikrokontolerów z rodziny AVR.

Model obiektu w JavaScript

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

Programowanie wspóªbie»ne

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

C++ - [1-3] Debugowanie w Qt Creator

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

Wektory w przestrzeni

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

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Wprowadzenie do środowiska Qt Creator

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Parowanie urządzeń Bluetooth. Instrukcja obsługi

Podstawy Programowania

RODOWISKO DEV-C++ Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM MHz Intel compatible CPU, 200 MB free disk space

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

Informatyka. I rok, semestr II. Bartosz Kuczewski. PWSZ Gªogów, 2010

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Użytkowanie elektronicznego dziennika UONET PLUS.

Programowanie wspóªbie»ne

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Metody dowodzenia twierdze«

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

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

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

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

Kompilacja image z CVS

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Niech wynik od 0 do 200F wyświetla w trzech kolumnach: F = (wartość) C = (wyliczona wartość) K = (wyliczona wartość)

WPROWADZENIE DO INFORMATYKI

Metodydowodzenia twierdzeń

Konfiguracja historii plików

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

Interpreter opisu dziaªa«quadrokoptera wtyczki. 1 Ogólny opis zadania. 2 Skªadnia nowych polece« 2.1 Polecenie Grasper

Transkrypt:

Rozdziaª 2 Kompilowanie programów 2.1 Wst p 2.2 Kompilatory, IDE Zacznijmy od podania kilku podstawowych informacji: ˆ Program - to ci g polece«(instrukcji) do wykonania dla komputera ˆ Program to algorytm zapisany w j zyku programowania ˆ Program mo»e wyst powa w dwóch postaciach: kod ¹ródªowy - to zapis programu komputerowego w pewnym j zyku programowania, jest to posta programu zrozumiaªa dla programisty (bez konieczno±ci jego uruchamiania) kod wynikowy - to rezultat pracy translatora (kompilatora, interpretera), nadaj cy si do bezpo±redniego wykonywania przez procesor ˆ Kompilacja to proces przeksztaªcania kodu ¹ródªowego na kod wynikowy (maszynowy) ˆ Kompilator to translator j zyka wysokiego poziomu, którego programy wynikowe mog by wprowadzone do pami ci i wykonane dopiero po zako«czeniu tªumaczenia (w odró»nieniu od interpretera, w którym instrukcje wynikowe s wykonywane na bie» co) Proces tworzenia programu wykonywalnego na podstawie kodu ¹ródªowego w j zyku C przedstawia poni»szy schemat: 25

Korzystaj c z systemu Windows i Linuks, nasze programy mo»emy kompilowa za pomoc IDE (Zintegrowane ±rodowisko programistyczne (ang. Integrated Development Environment, IDE)) o nazwie Code::Blocks. IDE jest zestawem wszystkich programów, których potrzebuje programista, najcz ±ciej z interfejsem gracznym. IDE zawiera : ˆ kompilator, ˆ linker ˆ edytor ˆ debugger ( zwykle ) Dzi ki niemu otrzymujemy : Kolorowanie skªadni Automatyczne formatowanie kodu Inteligentne uzupeªnianie kodu Wsparcie dla debuggera Przegl danie kodu Mo»liwo± rozszerzenia IDE (wªasne snippety, generacj kodu) Wszystkie przykªady dost pne w skrypcie zostaªy skompilowane przy u»yciu kompilatora gcc w systemie Linux. Na zaj ciach do kompilowania programów u»ywa b dziemy kompilatora GNU C ( gcc, w systemie Linux), lub MinGW (jego odpowiednika dla systemu Windows). W praktyce program zapisany w pliku ¹ródªowym program.c kompilowa b dziemy poleceniem (korzystaj c z kompilatora GNU, gcc): gcc -o mojanazwaprogramu program.c w wyniku którego powstanie program wykonywalny w pliku mojanazwaprogramu, który mo»na nast pnie uruchomi poleceniem:./mojanazwaprogramu [parametry] (oczywi±cie parametry s opcjonalne i ich wyst powanie zale»y od wymaga«uruchamianego programu). Tak wi c, nasze pierwsze, proste programy b dziemy uruchamia za pomoc polecenia:./mojanazwaprogramu Skompilujmy przykªadowy program, a nast pnie go uruchommy: 26

27

2.3 Zatrzymanie ekranu w systemie Windows Gdy korzystamy z systemu operacyjnego Windows, po skompilowaniu i uruchomieniu programu, okno aplikacji od razu si zamyka i nie mo»emy zobaczy efektu jej dziaªania. Dzieje si tak, poniewa» program po zako«czonej pracy po prostu si zaka«cza. Aby temu zaradzi, mo»emy napisa specjaln funkcj, oczekuj c na wci±ni cie dowolnego klawisza, któr wywoªamy na ko«cu programu, tu» przed wstawieniem linijki return 0;. Jest to najlepszy, przeno±ny (dziaªaj cy zarówno w systemie Windows i Linux) sposób zatrzymania ekranu. Nie wymaga on zaª cznia dodatkowych plików nagªówkowych (które mog by domy±lnie niedost pne w systemie, jak na przykªad conio.h) oraz nie zmusza nas do korzystania z zewn trznych programów (takich jak pause, b d cym zewn trznym programem w systemie Windows, które cz sto spotykamy w programach w postaci wywoªania system("pause");). 1 #include <s t d i o. h> 2 3 void zatrzymaj_ekran ( ) 4 { 5 char c ; 6 scanf ( "%c", &c ) ; 7 } 8 9 i n t main ( i n t argc, char ** argv ) 10 { 11 zatrzymaj_ekran ( ) ; 12 13 return 0 ; 14 } 28

2.4 Korzystanie z konsoli i edytora pico Uruchamiamy konsol : 29

Za pomoc polecenia touch prog1.c tworzymy nowy, pusty plik, w którym b dziemy zapisywa tre± naszego programu: W konsoli wydajemy polecenie pico prog1.c aby uruchomi edytor tekstowy, który pozwoli nam zapisa w pliku tre± programu: 30

Plik utworzony za pomoc polecenia touch prog1.c jest pusty, widzimy to po otwarciu go przez edytor pico: Wpisujemy kod programu do pliku prog1.c 31

Za pomoc kombinacji klawiszy CTRL+O zapisujemy plik (podaj c now nazw, lub wciskaj c enter, aby zatwierdzi bie» c ): Natomiast za pomoc CTRL+X wychodzimy z edytora, wracamy z powrotem do konsoli: 32

Kompilujemy plik (tªumaczymy za pomoc kompilatora gcc program z j zyka C na j zyk zrozumiaªy przez procesor). U»ywamy polecenia: gcc prog1.c -o app1, gdzie prog1.c to nazwa pliku z kodem j zyka C (naszym programem), natomiast app1 to nazwa pliku wykonywalnego, który mo»emy uruchomi : 33

Uruchamiamy program za pomoc polecenia./app1. Program wy±wietli napis - sprawd¹my: Je±li podczas kompilacji kompilator nie wy±wietli»adnych komentarzy, informacji - jest du»a szansa na to,»eby nasz program dziaªaª :) 34

2.5 Korzystanie z konsoli i edytora mcedit Uruchamiamy konsol, tworzymy plik z rozszerzeniem.c, a nast pnie otwieramy go za pomoc mcedita: Przy pomocy klawisza F2 mo»emy zapisa zmiany wprowadzone w kodzie: 35

Za pomoc F10 mo»emy wyj± z edytora: F9 pozwala na u»ycie opcji z bardziej rozbudowanego zestawu funkcji, po których mo»emy porusza si strzaªkami i zatwierdza wybór enterem: 36

2.6 Zadania do wykonania Zadanie 1 Napisz program Pole trójk ta. Program powinien pobra z klawiatury dwie liczby b d ce dªugo±ci podstawy i wysoko±ci trójk ta, a nast pnie wydrukowa na ekranie liczb wyra»aj c pole powierzchni danego trójk ta. Program powinien by czytelny dla u»ytkownika (tzn. powinien przedstawi si oraz ka»d liczb wczytywan z klawiatury lub drukowan na ekranie poprzedzi stosownym komunikatem). Zwró uwag,»e pole nie musi by liczb caªkowit. Zadanie 2 Zmodykuj program z poprzedniego zadania tak, aby wczytywaª liczby zmiennoprzecinkowe. Zadanie 3 Zmodykuj program z poprzedniego zadania tak, aby wczytywaª liczby zmiennoprzecinkowe b d ce dªugo±ciami boków trójk ta i nadal wypisywaª pole trójk ta. Skorzystaj ze wzoru Herona. (a+b+c)(a+b c)(a b+c)( a+b+c) S = p(p a)(p b)(p c) = 4 Niech p = 1 2 (a + b + c) oznacza poªow obwodu trójk ta. Zadanie 4 Napisz program Pole kwadratu. Zadanie 5 Napisz program Zamiana cali na centymetry. Program powinien pobra od u»ytkownika jedn liczb rzeczywist oznaczaj c dªugo± wyra»on w calach (np. 1) po czym wydrukowa na ekranie podan dªugo± po zmianie jednostki dªugo±ci na centymetry (np. 2,54). Program powinien si ªadnie przedstawi tzn. wydrukowa na ekranie czytelne informacje kto i kiedy program napisaª. Ka»da drukowana na ekranie oraz wczytywana z klawiatury liczba powinna by poprzedzona odpowiednim opisem (np. PODAJ DŠUGO WYRA ON W CENTYMETRACH DL=). Zadanie 6 Napisz program Zamiana zªotówek na dolary. Program ma sªu»y do przeliczenia kwoty pieni dzy wyra»onej w zªotówkach na kwot dolarów. Bie» cy kurs dolara znajdziesz w Internecie. 1 PLN = 3.2964 USD Zadanie 7 Napisz program przeliczaj cy temperatur wyra»on w stopniach Celsjusza na temperatur wyra»on w skali Fahrenheita. t [ C] = 5/9 ( t [ F] - 32 ) t [ F] = 9/5 t [ C] + 32 Zadanie 8 Napisz program przeliczaj cy obj to± wyra»on w litrach na galony. 1 litr = 0.264172052 galona Zadanie 9 Napisz program przeliczaj cy mas wyra»ona w kilogramach na funty. 1kg = 2.20 funty Zadanie 10 Napisz program przeliczaj cy wielko± k ta wyra»on w stopniach na radiany. Zadanie 11 Napisz program Pole koªa. radiany = (π stopnie) / 180 P = π r 2 37

Zadanie 12 Napisz program Pole prostok ta. Zadanie 13 Napisz program wyznaczaj cy obj to± sto»ka. V = 1 3 S h S - pole podstawy sto»ka h - wysoko± sto»ka Zadanie 14 Napisz program wyznaczaj cy warto± funkcji kwadratowej y = 2 x 2 + 2 x 3 w zadanym punkcie. 38