Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium 2: Typy, operatory, funkcje matematyczne Opracowali: dr hab. inż. Witold Beluch witold.beluch@polsl.pl dr inż. Jacek Ptaszny jacek.ptaszny@polsl.pl Gliwice 2016
Języki programowania z programowaniem obiektowym. Laboratorium 2 1 1. Typy zmiennych Zmienna to obiekt, który może się zmieniać podczas wykonywania programu. Zmienne mają określone nazwy i są określonych typów. Nazwy zmiennych są w zasadzie dowolne, z kilkoma wyjątkami: nie mogą się zaczynać od cyfry, nie mogą zawierać spacji, nie mogą być takie same, jak słowa kluczowe w C++. Wielkość znaków użytych w nazwach zmiennych ma znaczenie małe i wielkie litery są rozróżniane. W języku C++ każda nazwa musi zostać zadeklarowana przed użyciem. Deklaracja określa typ zmiennej, czyli jaka wielkość może być w niej przechowywana. Dobrym zwyczajem jest, by nazwa zmiennej kojarzyła się z jej przeznaczeniem - ułatwia to analizę kodu programu. Słowa kluczowe, czyli nazwy zarezerwowane zostały przedstawione w tabeli poniżej. Zarezerwowane są również tzw. zamienniki operatorów zestawione w poniższej tabeli. Typy mogą być: wbudowane składniki języka C++, zdefiniowane przez użytkownika. Do częściej stosowanych (np. na naszych zajęciach) typów wbudowanych należą: int do przechowywania liczb całkowitych; float, double, long double do przechowywania liczb zmiennoprzecinkowych; przy wątpliwościach sugerowane jest użycie typu double, char do przechowywania znaków alfanumerycznych (np. liter). To, ile zmienna danego typu zajmuje pamięci zależy od typu komputera oraz od kompilatora. Liczbę bajtów zajmowanych przez określony typ można sprawdzić stosując słowo kluczowe sizeof, np.: Więcej informacji na temat typów zmiennych podanych będzie na wykładzie.
Języki programowania z programowaniem obiektowym. Laboratorium 2 2 2. Napisy w C++ Tablice znakowe typu char są kłopotliwe w użyciu. Dlatego biblioteka standardowa C++ zawiera zaimplementowaną uogólnioną klasę napisów zwaną string (łańcuch znaków, napis). Dwa alternatywne przykłady użycia tej klasy przedstawione zostały poniżej. Klasa string posiada zdefiniowanych wiele operatorów, co ułatwia niektóre działania na napisach. Te operatory to m.in. =, ==,!=, +, <, > (o operatorach będzie również mowa później). Poniżej został przedstawiony przykład użycia operatorów klasy string. 3. Operatory Operatory arytmetyczne zestawiono w tabeli poniżej.
Języki programowania z programowaniem obiektowym. Laboratorium 2 3 Priorytet operatorów +,, oraz / jest taki sam jak w matematyce. W razie wątpliwości lepiej użyć nawiasów. Wynikiem dzielenia dwu liczb całkowitych jest liczba całkowita, np. wynikiem działania 4/3 będzie 1, a nie spodziewane 1.333(3)... Rozwiązanie 1. Przynajmniej jedną z liczb zapisujemy w postaci z kropką, np.: 4.0/3 Rozwiązanie 2. Stosujemy tzw. rzutowanie: Operatory logiczne zestawiono poniżej. Instrukcje wyboru (w tym if) będą omawiane na laboratorium nr 3. Uwaga: == oraz = to dwa zupełnie różne operatory: a=7 to przypisanie do zmiennej wartości 7, a==7 to porównanie a oraz 7. Przykład:
Języki programowania z programowaniem obiektowym. Laboratorium 2 4 4. Biblioteka matematyczna Aby skorzystać z elementów zawartych w bibliotece matematycznej należy w programie umieścić polecenie. Niektóre funkcje trygonometryczne: Funkcje trygonometryczne przyjmują argument wyrażony w radianach. Dla przypomnienia: x rad = π x stopnie. 180 Niektóre funkcje wykładnicze i logarytmiczne: Potęgi i pierwiastki: Inne przydatne funkcje: Istotniejsze stałe matematyczne: Czy wiesz, że... Większość samolotów Boeing została zaprojektowana z wykorzystaniem programu MES MSC Nastran. Z programem tym oraz innymi programami MES możesz zapoznać się wybierając specjalność na II stopniu studiów w Instytucie Mechaniki i Inżynierii Obliczeniowej: www.imio.polsl.pl/specjalnosci.aspx (Obraz: www.mscsoftware.com/industry/aerospace)