PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 TEMAT: Obsługa
Transkrypt
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 TEMAT: Obsługa
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 TEMAT: Obsługa pakietu - środowiska do tworzenia, analizy i uruchomienia programów w języku C/C++: Dev-C++. Ogólna struktura programu w języku C, stałe i zmienne, typy danych, operatory matematyczne, wyrażenia arytmetyczne. Środowisko Dev-C++: - produkcja: internet: licencja: wersja: download: Bloodshed Software www.bloodshed.net Free Software distributed under the GNU General Public License 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2 http://prdownloads.sourceforge.net/dev-cpp/devcpp4.9.9.2_setup.exe Wymagania sprzętowe (minimalne): - Microsoft Windows 95, 98, NT 4, 2000, XP - 8 MB RAM with a big swapfile - 100 MHz Intel compatible CPU, 30 MB free disk space Wymagania sprzętowe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space Domyślna instalacja: - ok. 60 MB Wybrane cechy: - środowisko typu IDE (ang. Integrated Development Environment) dla języka C/C++, - umożliwia stworzenie programów typu: - Windows application - program dla systemu Windows wykorzystujący Win32 API, - Console application - program uruchamiany w konsoli (oknie tekstowym), - Static library - biblioteka statyczna, - DLL - biblioteka dynamiczna (ang. Win32 Dynamic Link Library), - polskojęzyczne menu. Podstawy Informatyki 1 -1- © 2005 Jarosław Forenc Okno główne programu 1 2 3 4 5 6 1 - Menu główne programu 2 - Paski narzędzi (Główny, Edycja, Przeszukiwanie, Projekt, Kompilowanie i uruchamianie, Opcje, Dodatki, Klasy) 3 - Przeglądarka projektu / klas 4 - Edytor 5 - Pasek Zakładek 6 - Pasek stanu Podstawy Informatyki 1 -2- © 2005 Jarosław Forenc Menu główne programu: - zawiera wszystkie polecenia programu, - dostęp do wybranych pozycji w menu możliwy jest także poprzez przyciski na pasku narzędzi, skróty klawiszowe (ang. hot keys) i menu kontekstowe. Paski narzędzi: - zawierają najczęściej wywoływane polecenia programu. Główny: Projekt... - stworzenie nowego projektu, Otwórz projekt lub plik... (Ctrl+O) - otwarcie istniejącego pliku lub projektu, Plik źródłowy (Ctrl+N) - stworzenie nowego pustego pliku i ewentualne dodanie go do projektu - nowy plik otrzymuje domyślnie nazwę BezNazwyx, gdzie x jest kolejnym numerem, Zapisz (Ctrl+S) - zapisanie edytowanego pliku, Zapisz wszystko - zapisanie wszystkich otwartych plików, Zamknij (Alt+F4) - zamknięcie edytowanego pliku, Drukuj (Ctrl+P) - wydrukowanie edytowanego pliku. Edycja: Cofnij (Ctrl+Z) - cofnięcie ostatniej operacji edytorskiej, Powtórz (Shift+Ctrl+Z) - powtórzenie ostatniej operacji edytorskiej. Przeszukiwanie: Znajdź (Ctrl+F) - wyszukanie ciągu znaków, Zamień (Ctrl+R) - wyszukanie i zamiana ciągu znaków, Szukaj ponownie (F3) - ponowne szukanie ciągu znaków, Przejdź do wiersza... (Ctrl+G) - przejście w edytowanym pliku do wiersza o podanym numerze. Podstawy Informatyki 1 -3- © 2005 Jarosław Forenc Projekt: Dodaj do projektu - dodanie istniejącego pliku do projektu, Usuń z projektu - usunięcie pliku z projektu, Opcje projektu (Alt+P) - wyświetlenie opcji projektu. Kompilowanie i uruchamianie: Kompiluj (Ctrl+F9) - kompilacja programu, Uruchom (Ctrl+F10) - uruchomienie wcześniej skompilowanego programu, Kompiluj i uruchom (F9) - kompilacja i uruchomienie programu, Przebuduj wszystko (Ctrl+F11) - ponowna kompilacja wszystkich plików tworzących projekt, Odpluskwiaj (F8) - uruchomienie odpluskwiania programu. Opcje: Indeks pomocy Dev-C++ - uruchomienie systemu pomocy, O Dev-C++... - wyświetlenie informacji o programie. Dodatki: Zawiera cztery opcje: - Plik źródłowy (Ctrl+N), - Projekt, - Plik zasobów, - Szablon... Zawiera dwie opcje: - Data/Czas - wstawia do pliku źródłowego aktualną datę i czas w postaci: dd-mm-yy hh:mm, - Komentarz nagłówkowy - wstawia do pliku źródłowego nagłówek zawierający pola: Name, Copyright, Author, Date, Description, Umożliwia zdefiniowanie w pliku źródłowym do 9 zakładek, Umożliwia przejście do wcześniej zdefiniowanych zakładek. Podstawy Informatyki 1 -4- © 2005 Jarosław Forenc Przeglądarka projektu / klas: - zawiera trzy zakładki: Projekt, Klasy, Odpluskwiacz. Zakładka Projekt Zakładka Klasy Zakładka Odpluskwiacz Zakładka Projekt: - zawiera listę wszystkich plików tworzących projekt (jeśli projekt nie został stworzony, to zakładka ta jest pusta), - kliknięcie nazwy pliku na liście powoduje otwarcie go w edytorze. Zakładka Klasy: - zawiera listę klas, struktur, funkcji i zmiennych globalnych zdefiniowanych w programie, - kliknięcie wybranej nazwy powoduje przeniesienie w edytorze kursora do miejsca deklaracji wybranego elementu. Zakładka Odpluskwiacz: - w zakładce tej wyświetlane są wartości zmiennych obserwowanych podczas odpluskwiania programu. Edytor: - umożliwia jednoczesną edycję kilku plików źródłowych, każdy plik wyświetlany jest na oddzielnej zakładce, - umożliwia wykonywanie typowych operacji edytorskich, np. zaznaczanie, wycinanie, kopiowanie, zastępowanie tekstu, Podstawy Informatyki 1 -5- © 2005 Jarosław Forenc - wyświetla kod źródłowy odpowiednio „kolorując” go (np. słowa kluczowe języka C są pogrubione, łańcuchy znaków mają kolor czerwony zaś dyrektywy preprocesora - zielony), - jeśli edytowany plik zmienił się, ale nie został zapisany na dysku, to przed nazwą pliku pojawia się symbol [*]. Kompilator: - wyświetla listę błędów, które wystąpiły podczas kompilacji programu. Log kompilacji: - wyświetla przebieg kompilacji programu zawierający wszystkie wywoływane polecenia. Odpluskwiacz: - zawiera polecenia wykorzystywane podczas odpluskwiania programu. Podstawy Informatyki 1 -6- © 2005 Jarosław Forenc Wyniki poszukiwań: - zawiera wyniki poszukiwań wyrażeń, ale tylko wtedy, gdy dotyczy ono kilku plików. Pasek stanu: Liczba wierszy w edytowanym pliku Wstaw / Nadpisz - tryb edycji (Wstawianie / Nadpisywanie) Pojawienie się słowa Modyf. oznacza, że edytowany plik zmienił się, ale nie został zapisany na dysku Pozycja kursora w edytowanym pliku (numer wiersza i numer kolumny) Przykład programu w języku C #include <stdio.h> int main(void) { printf(“Witaj swiecie\n“); return 0; } Podstawy Informatyki 1 -7- © 2005 Jarosław Forenc Ogólna struktura programu w języku C/C++ #include < .... .h> - dołączenie pliku nagłówkowego, int main() { ... ... ... return (0); } - główna funkcja programu, zawsze musi występować w programie, można nie podawać typu int (jest to domyślny typ wartości zwracanej przez funkcję), - treść programu, - wartość zwracana przez funkcję main, wartość można zapisać także bez nawiasów, np. return 0; Komentarze /* komentarz w języku C i C++ */ // komentarz do końca linii – tylko w języku C++ Zmienne - służą do reprezentacji danych, mogą przyjmować różne wartości, - zbiór wartości jakie mogą przyjmować zmienne nazywa się typem, - zmienne przechowywane są w pamięci operacyjnej komputera, więc każda z nich posiada swój adres, - aby móc skorzystać z danej zmiennej trzeba ją zadeklarować. Deklarowanie zmiennych int a; int a; float b,c; średnik nazwa zmiennej nazwa typu Elementarne typy arytmetyczne * nazwa typu zakres wartości danych rozmiar* char -128 ... 127 1 int -32768 … 32768 2 float -3,4⋅10-38 … 3,4⋅1038 4 double -1,7⋅10-308 … 1,7⋅10308 8 uwagi małe liczby całkowite, znaki ASCII liczby całkowite liczby rzeczywiste, 7 cyfr znaczących liczby rzeczywiste, 15 cyfr znaczących Wszystkie rozmiary podane są dla kompilatora Borland C++ 3.1 Podstawy Informatyki 1 -8- © 2005 Jarosław Forenc Dodatkowe słowa kluczowe: - short, long - dla typu int oznaczają krótką lub długą liczbę całkowitą, - long - dla typu double pozwala zwiększyć precyzję (liczbę miejsc po przecinku), - signed, unsigned - stosowane do typów całkowitych, określają czy zmienna ma być ze znakiem czy bez znaku. nazwa typu signed char = char unsigned char signed int = int unsigned = unsigned int short = signed short int short unsigned = unsigned short int long = signed long int long unsigned = unsigned long int float double long double * zakres wartości danych rozmiar* uwagi -128 ... 127 0 … 255 -32768 … 32767 1 1 2 liczby całkowite liczby całkowite liczby całkowite 0 … 65535 2 liczby całkowite -32768 … 32767 2 liczby całkowite 0 … 65535 2 liczby całkowite -2147483648 … 2147483647 4 liczby całkowite 0 … 4294967295 4 liczby całkowite -3,4⋅10-38 … 3,4⋅1038 -1,7⋅10-308 … 1,7⋅10308 3,4⋅10-4932 … 1,1⋅104932 4 8 10 7 cyfr znaczących 15 cyfr znaczących 19 cyfr znaczących Wszystkie rozmiary podane są dla kompilatora Borland C++ 3.1 Rozmiar zmiennej a kompilator Kompilator int long double Borland C++ 3.1 2 10 Dev-C++ 4 12 Microsoft Visual C++ 6.0 4 8 Borland C++ Builder 6 4 10 Nazwy zmiennych - nazwa zmiennej może składać się z liter i cyfr, pierwszym znakiem nazwy musi być litera, - znak podkreślenia traktowany jest jak litera, - jako nazw zmiennych nie można używać słów kluczowych języka C (np. if, else, int, float, class, private, this, sizeof, try, static, register). Podstawy Informatyki 1 -9- © 2005 Jarosław Forenc Deklaracje zmiennych w programie zmienne globalne zmienne lokalne #include <stdio.h> #include <stdio.h> int a; double b; int main() { int a; double b; ... return 0; } int main() { ... return 0; } Przypisywanie wartości zmiennej (inicjlizacja) przy deklaracji zmiennej void main() { int a = 10; float b = -10.15; ... } w treści programu void main() { int a; float b,c,d; ... a = 10; b = c = d = 10.12; ... } - operator przypisania = Literały liczbowe Typy literałów liczbowych wynikają z formy ich zapisu i wartości jakie reprezentują. - liczby całkowite (int, long int, unsigned long int) 1 25000 39000 4100000000 - liczba całkowita, typ int, - liczba całkowita, typ int, - liczba całkowita, typ long (bo przekracza maksymalną wartość dla typu int), - liczba całkowita, typ unsigned long int (bo przekracza long), Liczby całkowite można zapisywać także w formie ósemkowej (0 na początku) lub szesnastkowej (0x lub 0X na początku), np. 011 0x11 - 11 w systemie ósemkowym to 9 w systemie dziesiętnym, - 11 w systemie szesnastkowym to 17 w systemie dziesiętnym. Podstawy Informatyki 1 - 10 - © 2005 Jarosław Forenc - liczby rzeczywiste (double) - liczba rzeczywista, typ double, - liczba rzeczywista 1,312·102, typ double, - liczba rzeczywista -2,124·10-1, typ double. 1.0 1.312e2 -2.124E-1 Zmiana typu literału liczbowego Typy literałów liczbowych mogą być zmieniane przez programistę poprzez użycie przyrostków: - dla typów całkowitych: - wartość ma być potraktowana jako unsigned (int lub long), u lub U l lub L - wartość ma być potraktowana jako long (int lub unsigned int). - dla typów rzeczywistych: - wartość ma być potraktowana jako long double, l lub L f lub F - wartość ma być potraktowana jako float. Przykłady: - liczba całkowita typu long, - liczba rzeczywista typu float (a nie long), - liczba rzeczywista typu long double. 5L 4.52f 2.5L Literały znakowe Literały znakowe (pojedyncze znaki) zapisywane są za pomocą apostrofów, np. char c = ’a’; c = ’1’; Operatory arytmetyczne - jednoargumentowe: + ++ -- - plus, znak liczby, - minus, zmienia wartość wyrażenia na przeciwną, - operator inkrementacji (zwiększa wartość zmiennej o 1), - operator dekrementacji (zmniejsza wartość zmiennej o 1). Operatory ++, -- mogą występować jako: - przedrostek (przed nazwą zmiennej): ++i, --i wartość zmiennej modyfikowana jest przed jej wykorzystaniem, - przyrostek (po nazwie zmiennej): i++, i-wartość zmiennej modyfikowana jest po jej wykorzystaniu. Podstawy Informatyki 1 - 11 - © 2005 Jarosław Forenc - dwuargumentowe multiplikatywne: - mnożenie, - dzielenie (zastosowany do liczb całkowitych obcina część ułamkową), - dzielenie modulo (reszta z dzielenia), może być stosowany tylko dla typów całkowitych (char, int, unsigned, long), * / % - dwuargumentowe addytywne: - dodawanie, - odejmowanie. + - Priorytet operatorów arytmetycznych Najwyższy Najniższy ++ -- + (jednoargumentowe) * / % + (dwuargumentowe) W wyrażeniach arytmetycznych można oczywiście stosować nawiasy, które zmieniają priorytet operatorów. Przykłady: a d k z = = = = b+c; a*b + d*c; k+1; (a+d)*c; Operatory przypisania (złożone) Operatory te zapisywane są jako: Zamiast Podstawy Informatyki 1 i = i + 10; i = i - 20; i = i * 40; i = i / 15; i = i % 5; += -= *= /= można napisać - 12 - %= i += 10; i -= 20; i *= 40; i /= 15; i %= 5; © 2005 Jarosław Forenc Funkcja printf printf(”tekst opcjonalny + sp_for”,argumenty); Funkcja printf wyprowadza tekst, gdy w tekście występuje sp_for (specyfikator formatu) zaczynający się od %, to następuje przekształcenie - w miejsce specyfikatora wstawiana jest wartość argumentu. Liczba specyfikatorów formatu musi być zgodna z liczbą argumentów. sp_for = %[znacznik][szerokość][.precyzja][modyfikator]typ [znacznik] - ”+” - przed liczbą stawiany jest znak (plus lub minus), ”-” wyrównanie wyświetlanych znaków do lewej strony, [szerokość] - określa minimalną liczbę wyprowadzanych znaków, jeśli znaków jest mniej to pole jest z lewej strony uzupełniane spacjami, jeśli więcej - podana szerokość jest ignorowana, .precyzja - liczba znaków po kropce dziesiętnej, typ - określa rodzaj i typ argumentu: d,i u x,X o f e,E g s c - liczba całkowita ze znakiem, dziesiętna, - liczba całkowita bez znaku, dziesiętna, - liczba całkowita bez znaku, szesnastkowa, - liczba całkowita bez znaku, ósemkowa, - liczba rzeczywista w postaci [-]ddd.ddd, - liczba rzeczywista w formacie „naukowym” (z użyciem e lub E), - liczba rzeczywista (format f lub e), - ciąg znaków, - pojedynczy znak. [modyfikator] - służy do zmodyfikowania podstawowego typu podawanego przez znak typu: l L - stosowany tylko do liczb całkowitych do wyświetlania wartości typu long (może stać przed d, i, o, u, x, X, o, np. %ld, %li), - stosowany do wyświetlania wartości rzeczywistych typu long double Przykłady: int a = -10; float b = 10.23; char imie[5] = “Jan”; printf(“liczba1 = %d, liczba2 = %f \n”,a,b); printf(“Imie: %s Nazwisko: %s \n”,imie,”Kowalski”); Podstawy Informatyki 1 - 13 - © 2005 Jarosław Forenc Funkcja scanf scanf(”sp_for”,argumenty); Funkcja scanf wczytuje znaki ze standardowego wejścia (klawiatura), interpretuje je zgodnie z zadanym sp_for (specyfikatorem formatu) i przypisuje wyniki argumentom w odpowiedniej kolejności. sp_for = %[szerokość_pola][modyfikator]typ [szerokość_pola] - określa ile znaków zostanie przeczytanych typ - określa rodzaj i typ argumentu: d D o O x X i I u U f,e,E g,G s c - liczba całkowita dziesiętna, typ int, - liczba całkowita dziesiętna, typ long, - liczba całkowita ósemkowa, typ int, - liczba całkowita ósemkowa, typ long, - liczba całkowita szesnastkowa, typ int, - liczba całkowita szesnastkowa, typ long, - liczba całkowita dziesiętna, ósemkowa lub szesnastkowa, typ int, - liczba całkowita dziesiętna, ósemkowa lub szesnastkowa, typ long, - liczba całkowita dziesiętna bez znaku, typ unsigned, - liczba całkowita dziesiętna bez znaku, typ unsigned long, - liczba rzeczywista, typ float, - liczba rzeczywista, typ float, - ciąg znaków, - pojedynczy znak, typ char. [modyfikator] - służy do zmodyfikowania podstawowego typu podawanego przez znak typu: l L h - zmienia wszystkie typy całkowitoliczbowe na ich długie wersje; zastosowany do znaków typu f, e, E, g, G spowoduje interpretację zawartości pól wejściowych jako liczb typ double, - zastosowany do znaków typu f, e, E, g, G spowoduje interpretację zawartości pól wejściowych jako liczb typ long double, - typy całkowitoliczbowe będą traktowane jako short. Argumenty funkcji scanf są adresami obszarów w pamięci, dlatego też muszą być poprzedzone znakiem & (nie dotyczy ciągu znaków). Przykłady: int a; int a; char name[20]; scanf(”%d”,&a); float b,c; scanf(”%s”,name); scanf(”%d %f %f”,&a,&b,&c); Podstawy Informatyki 1 - 14 - © 2005 Jarosław Forenc Plik nagłówkowy math.h abs() - wartość bezwzględna (liczby całkowitej), acos() - arcus cosinus (zwraca kąt w radianach), asin() - arcus sinus (zwraca kąt w radianach), atan() - arcus tanges (zwraca kąt w radianach), cabs() - moduł liczby zespolonej, ceil() - zaokrąglenie w górę, cos() - cosinus (kąt w radianach), cosh() - cosinus hiperboliczny (kat w radianach), div() - iloraz dwóch liczb całkowitych, exp() - liczba e do potęgi argument, fabs() - wartość bezwzględna argumentu (liczby rzeczywistej), floor() - zaokrąglenie w dół, fmod() - dzielenie modulo, log() - logarytm naturalny, log10() - logarytm dziesiętny, modf() - udostępnia część całkowitą i ułamkową argumentu, pow() - funkcja wykładnicza (oblicza x do potęgi y), pow10() - udostępnia liczbę 10 do wybranej potęgi, rand() - udostępnia liczbę pseudolosową z zakresu (0 ... 32767), random() - udostępnia liczbę pseudolosową z podanego zakresu, randomize() - inicjacja generatora liczb pseudolosowych, sin() - sinus (kąt w radianach), sinh() - sinus hiperboliczny (kąt w radianach), tan() - tangens (kąt w radianach), tanh() - tangens hiperboliczny (kąt w radianach). M_PI - stała określająca liczbę π (π = 3,1415926...), M_E - stała określająca liczbę e (e = 2,7182818...), Podstawy Informatyki 1 - 15 - © 2005 Jarosław Forenc