1900


Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z krokami tworzenia programów (edycją, kompilacją, konsolidacją i uruchamianiem) przy pomocy środowiska zintegrowanego Borland C/C++ wer. 3.1 na przykładzie prostego programu w języku C wykorzystującego standardowe funkcje wejścia/wyjścia w języku C: scanf() i printf() oraz instrukcję warunkową if i if/else.

Wprowadzenie

Tworzenie programu komputerowego składa się z kilku kroków:

0x08 graphic
Tok tworzenia programu komputerowego można również pokazać na następującym schemacie blokowym:

Tworzenie programu komputerowego.

Analiza problemu i projekt algorytmu ma na celu wyspecyfikowanie zadań danego programu, analizę możliwości i sposobów spełnienia tych zadań przez sprzęt, dla którego dane oprogramowanie jest projektowane oraz na opracowaniu i zapisie algorytmu rozwiązującego te zadania. Algorytm przedstawia się najczęściej w postaci sieci działania (flow chart'u) lub pseudokodu. Następnie należy wybrać właściwe narzędzia programis­tyczne pozwalające na sprawne napisanie i uruchomienie programu.

Kodowanie algorytmu programu polega na zapisie tego algorytmu w przyjętym języku programowania (assembler, C, C++, Pascal, Fortran itd). Do kodowania używa się programów do edycji tekstu zwanych edytorami. Edytory wykorzystywane do pisania tekstu programu muszą być edytorami nieformatującymi, to jest takimi, które nie zapisują w zbiorze wynikowym informacji o układzie tekstu (marginesów, wielkości strony itp). W związku z tym nie należy używać edytorów tekstu takich jak Word z pakietu Microsoft Office czy Ami Pro firmy Lotus. W środowisku MS-DOS do pisania tekstu programu wygodnie jest korzystać z edytora wbudowanego w środowisko zintegrowane Borland C/C++. Można też stosować edytory będące samodzielnymi programami np.: Norton Editor, MultiEdit, Brief w środowisku MS-DOS, vi, joe w środowisku UNIX. Wybór edytora należy do piszącego program i zależy od jego upodonań i przyzwyczajeń.

Po edycji tekst programu zostaje zapisany jako zbiór na dysku. W środowisku MS-DOS dla tekstów programów w języku C przyjęto stosować rozszerzenie nazwy .C, dla tekstów programów w języku C++ - rozszerzenie .CPP, a zbiorom nagłówkowym nadaje się rozszerzenie .H. W środowisku UNIX dla tekstów programów w języku C przyjęto stosować sufiks nazwy .c, dla tekstów programów w języku C++ - sufiks .cpp lub .cc, a zbiorom nagłówkowym nadaje się sufiks .h.

Kompilacja programu polega przetłumaczenia kodu źródłowego programu na relokowalny kod maszynowy (binarny) za pomocą specjalnego programu zwanego kompilatorem. Kompilatory języka C/C++ dokonują tłumaczenia w dwóch etapach:

W wyniku kompilacji otrzymuje się binarne zbiory zawierające relokowalny kod danego modułu programu (ang.: object file). W środowisku MS-DOS mają one rozszerzenie .OBJ, natomiast w środowisku systemu UNIX - .o.

W przypadku zgłoszenia przez kompilator błędów w tekście źródłowym programu należy ten tekst poprawić za pomocą edytora.

W celu umożliwienia testowania programu za pomocą debuggera należy w czasie kompilacji włączyć opcje kompilatora, które powodują dodanie do zbioru wykonywalnego informacji o nazwach zmiennych i kolejnych instrukcjach programu. Gdy używa się kompilatora wbudowanego w środowisko zintegrowane należy wybrać z menu: Options | Debbuger i w polu „Source Dubugging” ustawić opcję „On”. Używając kompilatora wywoływanego z linii poleceń (bcc) należy użyć parametru -v.

Konsolidacja programu jest procesem polegającym na połączeniu ze sobą skompilowanych, relokowalnych modułów programu i modułów zawartych w bibliotekach w celu otrzymania zbioru wykonywalnego. Do konsolidacji programu używa się specjalnego programu zwanego konsolidatorem (linkerem). W czasie konsolidacji mogą pojawić się błędy, które są wynikiem błędu w tekście źródłowym programu lub skompilowaniu programu z użyciem niewłaściwych parametrów kompilacji.

Uruchamianie i testowanie programu polega na sprawdzeniu poprawności działania programu zarówno pod kątem zgodności z założeniami działania programu jak i poprawności jego pracy w danym systemie (brak „zawieszania” się programu, prawidłowe reakcje programu w sytuacjach nietypowych itp.). Do wykrywania błędów w czasie testowania służą specjalne programy uruchomieniowe zwane debuggerami. Pozwalają one na monitorowanie wartości poszczególnych zmiennych, pracę krokową, ustawianie pułapek (ang.: breakpoint).

Zintegrowane środowisko programistyczne Borland C/C++ wer. 3.1 pozwala na wykonywanie wyżej opisanych kroków tworzenia programu w wygodny sposób w obrębie jednego programu. Zwalnia ono programistę od pisania często bardzo złożonych poleceń w celu skompilowania i skonsolidowania programu. Środowisko Borland C/C++ zawiera:

Poszczególne funkcje środowiska są dostępne z menu lub poprzez klawisze funkcyjne (lub kombinacje klawiszy) w celu szybszego dostępu do najczęściej używanych.

W tabeli 1 zestawiono najczęściej wykorzystywane kombinacje klawiszy i przypisane im funkcje środowiska Borland C/C++, natomiast w tabeli 2 przedstawiono funkcje przypisane kombinacjom klawiszy edytora środowiska Borland C/C++.

Program ćwiczenia

  1. Uruchomić środowisko Borland C/C++ poleceniem bc i zapoznać się z jego elementami:

  1. Przeanalizować program przedstawiony poniżej. Program ten zachęca użytkownika do wprowadzenia liczby całkowitej, czyta wprowadzoną liczbę, a następnie wyprowadza na terminal liczbę o wartości dwukrotnie większej. Zwrócić uwagę na specyfikator formatu w funkcjach printf() i scanf(). Skrócony opis działania tych funkcji jest przedstawiony w dokumentach „Funkcja printf( )” i „Funkcja scanf( )”.

Wpisać kod tego programu używając edytora środowiska Borland C/C++, skompilować go i uruchomić.

#include <stdio.h>

int main()

{

int liczba;

printf("Podaj liczbę całkowitą: ");

scanf("%d", &liczba);

printf("Dwukrotna wartość liczby wynosi %d\n",

2 * liczba);

return 0;

}

  1. Zobaczyć jak zmieni się sposób wyświetlania liczby całkowitej, jeśli specyfikator formatu %d zamieni się na:

  1. Zmodyfikować program uruchomiony w punkcie 1 tak, aby zachęcał do wprowadzenia dwóch liczb całkowitych, czytał je i wyprowadzał na terminal ich sumę, różnicę, iloczyn i iloraz każdy w innym wierszu. Zwrócić uwagę na wyniki w przypadku wprowadzenia liczb o dużych wartościach bezwzględnych (20000 ÷ 32000).

  2. Program uruchomiony w punkcie 4 zmodyfikować tak, aby uniemożliwiał wykonanie dzielenia przez 0 podczas obliczania ilorazu.

  3. Napisać program służący do rozwiązywania równania kwadratowego o zadanych współczynnikach. Uzależnić sposób rozwiązania i wyświetlania wyników od znaku wyróżnika równania.

TABELA 1. Ważniejsze klawisze funkcyjne środowiska BORLAND C/C++

KLAWISZ(E)

FUNKCJA

Alt+X

Wyjście ze środowiska do DOS'u

F1

Pomoc (Help)

Shift+F1

Indeks pomocy (spis treści)

F9

Kompilacja oraz konsolidacja całego projektu (make)

Alt+F9

Kompilacja modułu otwartego w oknie edycyjnym

Ctrl+F9

Uruchomienie programu

Ctrl+F2

Ponowne inicjowanie programu (reset)

F4

Wykonanie programu do miejsca kursora (debugger)

F7

Praca krokowa z wejściami do wnętrz funkcji (debugger)

F8

Praca krokowa bez wchodzenia do wnętrz funkcji (debugger)

Ctrl+F4

Monitorowanie wartości zmiennych (debugger)

Ctrl+F8

Wstawianie / usuwanie pułapek (break point'ów) dla debuggera

F6

Przełączanie okien

F5

Zwiększanie / zmniejszanie okna

Alt+F3

Zamknięcie okna

Alt+F3

Otwarcie wyjściowego okna użytkownika (user screen)

Alt+0

Wyświetlanie listy otwartych okien

TABELA 2. Klawisze funkcyjne edytora środowiska BORLAND C/C++

Funkcje przesuwania kursora

KLAWISZ(E)

FUNKCJA

Przesunięcie kursora o jeden znak w lewo

Przesunięcie kursora o jeden znak w prawo

Ctrl+←

Przesunięcie kursora o jedno słowo w lewo

Ctrl+→

Przesunięcie kursora o jedno słowo w prawo

Przesunięcie kursora o jeden wiersz w górę

Przesunięcie kursora o jeden wiersz w dół

Ctrl+W

Przesunięcie ekranu (scrolling) o jedną linię w górę

Ctrl+Z

Przesunięcie ekranu (scrolling) o jedną linię w dół

PgUp

Przesunięcie kursora o 1 stronę w górę

PgDn

Przesunięcie kursora o 1 stronę w dół

Home

Przesunięcie kursora do początku linii

End

Przesunięcie kursora do końca linii

Ctrl+PgUp

Przesunięcie kursora do początku tekstu

Ctrl+PgDn

Przesunięcie kursora do końca tekstu

Funkcje wstawiania i usuwania znaków i tekstu

KLAWISZ(E)

FUNKCJA

Del

Usunięcie znaku pod kursorem

Backspace

Usunięcie znaku po lewej stronie kursora

Ctrl+Y

Usunięcie całego wiersza

Ctrl+Q Y

Usunięcie tekstu od kursora do końca linii

Ctrl+T

Usunięcie słowa

Ctrl+N

Wstawienie pustego wiersza

Ins

Przełączanie trybu Insert / Overwrite

Operacje na blokach tekstu

KLAWISZ(E)

FUNKCJA

Ctrl+K B

Zaznaczenie początku bloku

Ctrl+K K

Zaznaczenie końca bloku

Shift+←

Shift+↑

Shift+→

Shift+↓

Zaznaczanie bloku (inny sposób)

Ctrl+Q B

Przesunięcie kursora na początek bloku

Ctrl+Q K

Przesunięcie kursora na koniec bloku

Ctrl+K H

Załączanie / wyłączanie podświetlenia zaznaczonego bloku

Ctrl+K L

Zaznaczanie linii tekstu jako blok

Ctrl+K T

Zaznaczanie słowa jako blok

Ctrl+K P

Drukowanie bloku

Ctrl+K Y

Usuwanie bloku

Ctrl+K C

Kopiowanie bloku

Ctrl+K V

Przenoszenie bloku

Ctrl+K I

Zwiększenie wcięcia (indent) bloku o 1 kolumnę

Ctrl+K U

Zwiększenie wcięcia (unindent) bloku o 1 kolumnę

Ctrl+K W

Zapisanie bloku do zbioru na dysku

Ctrl+K R

Czytanie bloku ze zbioru na dysku

Ctrl+Ins

Kopiowanie bloku do notatnika (clipboard'u)

Schift+Del

Przeniesienie bloku do notatnika (clipboard'u)

Schift+Ins

Kopiowanie zawartości notatnika (clipboard'u) do edytowanego tekstu

Ctrl+Del

Usuwanie bloku

Różne

KLAWISZE

FUNKCJA

F2

Zapisanie tekstu do zbioru

F3

Otwarcie zbioru do edycji

Ctrl+F1

Pomoc dotycząca słowa kluczowego lub funkcji języka C/C++

Alt+S F

Szukanie

Alt+S R

Szukanie i zamiana

Ctrl+L

Ponowne szukanie lub zamiana

Alt+F7

Skok do poprzedniego błędu wykrytego w czasie kompilacji

Alt+F8

Skok do następnego błędu wykrytego w czasie kompilacji

Alt+Backspace

Cofnięcie ostatniej operacji (undo)

Ctrl+Q [

Ctrl+Q ]

Znajdowanie par nawiasów ( ), [ ], { }

JĘZYK C, ĆWICZENIE 1 - PODSTAWY PROGRAMOWANIA 4

Katedra Automatyki Napędu i Urządzeń Przemysłowych AGH

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Cisco 1900 Catalyst Switch Commands
Kilka słów o dawniejszych bożnicach drewnianych w Polsce Z 1 1900
1900 03
Neudeutsche Dekoration (1900)
1900
1900
1900
1900
1900
History of the Black U S Soldier73 1900
38 A 1870 1900 r akademizm, Nieznany
Zetos Office?400 1900 zł
1900
39 A 1900 1906 r I pol XX w Nieznany
39 B 1900 1906 r I pol XX w Nieznany
55 Dekadentyzm i symbolizm w malarstwie i rzeźbie około 1900

więcej podobnych podstron