Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TSC00 009 (studia stacjonarne) Spis treści. Opis stanowiska..... Stosowana aparatura..... Oprogramowanie.... Wiadomości teoretyczne..... Zagnieżdżanie if-..... Operator warunkowy.... Przebieg ćwiczenia... 6. Literatura... 9 5. Zagadnienia na zaliczenie... 9 JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY 6. Wymagania BHP... 9 Numer ćwiczenia MITP0 Autor: dr inż. Jarosław Forenc Białystok 0 Materiały dydaktyczne przeznaczone dla studentów Wydziału Elektrycznego PB. Wydział Elektryczny, Politechnika Białostocka, 0 (wersja.) Wszelkie prawa zastrzeżone. Żadna część tej publikacji nie może być kopiowana i odtwarzana w jakiejkolwiek formie i przy użyciu jakichkolwiek środków bez zgody posiadacza praw autorskich. Metodyki i techniki programowania z 0 Instrukcja MITP0
. Opis stanowiska.. Stosowana aparatura Podczas zajęć wykorzystywany jest komputer klasy PC z systemem operacyjnym Microsoft Windows (XP/Vista/7)... Oprogramowanie Na komputerach zainstalowane jest środowisko programistyczne Microsoft Visual Studio 008 Standard Edition lub Microsoft Visual Studio 008 Express Edition zawierające kompilator Microsoft Visual C++ 008.. Wiadomości teoretyczne.. Zagnieżdżanie if- Jako instrukcja po if może występować kolejny if zawierający. Do której instrukcji if zatem on należy? Ogólna zasada: danemu odpowiada pierwszy poprzedzający go i znajdujący się w tym samym bloku if nie mający jeszcze swojej pary w postaci. W poniższym przykładzie przyporządkowany jest do if (wyrażenie): if (wyrażenie) if (wyrażenie) instrukcja; Przykład: if (delta >= 0) if (delta > 0) printf("dwa pierwiastki\n"); printf("jeden podwojny pierwiastek \n"); Stosując dodatkowe nawiasy klamrowe można przyporządkować do pierwszej instrukcji if: if (wyrażenie): if (wyrażenie) if (wyrażenie) instrukcja; Standard języka C pozwala na obsługę co najmniej 7 poziomów zagnieżdżania if-: if (wyrażenie) if (wyrażenie) instrukcja; if (wyrażenie) instrukcja; if (wyrażenie) instrukcja5;..... Operator warunkowy Operator warunkowy składa się z dwóch symboli (? - znak zapytania, : - dwukropek) i wymaga trzech operandów (wyrażeń w, w, w). Stosując operator warunkowy otrzymujemy następującą postać wyrażenia: w? w : w Wyrażenie warunkowe obliczane jest w następujący sposób: najpierw obliczane jest wyrażenie w. Jeśli jego wartość jest różna od zera, to obliczane jest wyrażenie w i jego wartość staje się wartością całego wyrażenia warunkowego. Metodyki i techniki programowania z 0 Instrukcja MITP0 Metodyki i techniki programowania z 0 Instrukcja MITP0
W przeciwnym razie w jest ignorowane, a wartością wyrażenia warunkowego staje się wartość wyrażenia w (po wcześniejszym jego obliczeniu). Wyrażenia warunkowe stosowane są najczęściej wtedy, gdy pewnej zmiennej nadawana jest jedna z dwóch możliwych wartości. Mogą one zastępować proste instrukcje if.... Przykładowo, obliczanie wartości bezwzględnej zmiennej x: if (x < 0) y = -x; y = x; można zastąpić przez: y = (x < 0)? x : x; Podobnie postępujemy z wyznaczeniem większej z dwóch zmiennych a i b: if (a > b) max = a; max = b; można zastąpić przez: max = (a > b)? a : b; Zastosowanie wyrażania warunkowego upraszcza kod programu i może dawać w wyniku kompilacji bardziej zoptymalizowany kod wykonywalny. W poniższym przykładzie operator warunkowy został zastosowany bezpośrednio w instrukcji printf() do sprawdzenia czy liczba jest parzysta/nieparzysta, dodatnia/ujemna i wyświetlenia odpowiedniego tekstu. Program sprawdzający czy liczba wprowadzona z klawiatury jest parzysta/nieparzysta, dodatnia/ujemna. #include <stdio.h> int main(void) int x; printf("podaj liczbe: "); scanf("%d",&x); if (x == 0) printf("liczba: zero\n"); printf("liczba: %s\n", x>0? "dodatnia" : "ujemna"); printf("liczba: %s\n", x%==0? "parzysta" : "nieparzysta"); return 0; Przykładowe wyniki uruchomienia programu: Podaj liczbe: 5 Liczba: dodatnia Liczba: nieparzysta Podaj liczbe: -6 Liczba: ujemna Liczba: parzysta Podaj liczbe: 0 Liczba: zero. Przebieg ćwiczenia Na pracowni specjalistycznej należy wykonać wybrane zadania wskazane przez prowadzącego zajęcia. W różnych grupach mogą być wykonywane różne zadania.. Napisz program rozwiązujący równanie kwadratowe: ax + bx + c = 0 () Współczynniki a, b, c wczytaj z klawiatury. Jeśli z wprowadzonych danych wynika, że nie jest to równanie kwadratowe, to wyświetl odpowiedni komunikat. Przykładowe wartości współczynników równania kwadratowego oraz otrzymane pierwiastki przedstawia Tabela. Metodyki i techniki programowania 5 z 0 Instrukcja MITP0 Metodyki i techniki programowania 6 z 0 Instrukcja MITP0
Tabela. Przykładowe współczynniki i pierwiastki równania kwadratowego a b c delta x x - - 0 - - brak. Na Rys. przedstawiony jest przebieg impulsu trapezowego. Napisz program, który na podstawie wczytanego z klawiatury czasu t obliczy i wyświetli wartość napięcia u. u[v] t[s]. Firma OldBook prowadzi antykwariat internetowy wysyłając książki listami poleconymi priorytetowymi. Koszt wysłania takiego listu zależnie od wagi przesyłki przedstawia Tabela. Gabaryt A to przesyłki, w których żaden z wymiarów nie może przekroczyć: wysokość 0 mm, długość 5 mm, szerokość 0 mm. Napisz program, w którym użytkownik podaje: wysokość (w mm), długość (w mm), szerokość (w mm) i wagę przesyłki (w gramach), a program wyświetla koszt wysłania przesyłki. Zakładamy, że przesyłki nie są cięższe niż 000 gramów. Tabela. Koszt wysłania listu poleconego priorytetowego Waga Gabaryt A Gabaryt B do 50 g 5,50 PLN 8,0 PLN ponad 50 g do 000 g 7,0 PLN,00 PLN ponad 000 g do 000 g,00 PLN,50 PLN 5 Rys.. Przebieg impulsu trapezowego. Napisz program sprawdzający, czy punkt o współrzędnych (x, y) wprowadzonych z klawiatury leży w obszarze zaznaczonym na Rys. (do obszaru zaliczamy także jego granicę). 5 y a) 5 y b) 5. Napisz program, w którym użytkownik wprowadza z klawiatury trzy liczby, a program wyświetla je od największej do najmniejszej, a następnie od najmniejszej do największej. 6. Napisz program, w którym użytkownik wprowadza z klawiatury liczbę całkowitą. Jeśli liczba jest ujemna, to przypisz zmiennej znak wartość -. Jeśli liczba jest równa zero, to przypisz zmiennej znak wartość 0. Jeśli liczba jest dodatnia, to przypisz zmiennej znak wartość. Zastosuj operator warunkowy. Wyświetl wartość zmiennej znak. 7. Napisz program obliczający i wyświetlający liczbę bajtów potrzebną do zapisania wprowadzonej z klawiatury liczby bitów. Przyjmij, że bajt to 8 bitów. Zastosuj operator warunkowy. x x 5 6 5 6 Rys.. Oznaczenie obszarów do zadania 6 Metodyki i techniki programowania 7 z 0 Instrukcja MITP0 Metodyki i techniki programowania 8 z 0 Instrukcja MITP0
. Literatura [] Kernighan B.W., Ritchie D.M.: Język ANSI C. Programowanie. Wydanie II. Helion, Gliwice, 00. [] Prata S.: Język C. Szkoła programowania. Wydanie V. Helion, Gliwice, 006. [] King K.N.: Język C. Nowoczesne programowanie. Wydanie II. Helion, Gliwice, 0. [] Summit S.: Programowanie w języku C. FAQ. Helion, Gliwice, 00. [5] Wileczek R.: Microsoft Visual C++ 008. Tworzenie aplikacji dla Windows. Helion, Gliwice, 009. 5. Zagadnienia na zaliczenie. Omów sposób wykonywania programu przy zagnieżdżaniu instrukcji if-.. Omów zasadę działania operatora warunkowego? :. W jaki sposób operator warunkowy może zastępować instrukcję if-? 6. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw pożarową oraz przestrzeganie zasad w nich zawartych. W trakcie zajęć laboratoryjnych należy przestrzegać następujących zasad. - Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. - Jeżeli istnieje taka możliwość, należy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. - Sprawdzić prawidłowość połączeń urządzeń. - Załączenie komputera może nastąpić po wyrażeniu zgody przez prowadzącego. - W trakcie pracy z komputerem zabronione jest spożywanie posiłków i picie napojów. - W przypadku zakończenia pracy należy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego może się odbywać tylko na wyraźne polecenie prowadzącego. - Zabronione jest dokonywanie jakichkolwiek przełączeń oraz wymiana elementów składowych stanowiska. - Zabroniona jest zmiana konfiguracji komputera, w tym systemu operacyjnego i programów użytkowych, która nie wynika z programu zajęć i nie jest wykonywana w porozumieniu z prowadzącym zajęcia. - W przypadku zaniku napięcia zasilającego należy niezwłocznie wyłączyć wszystkie urządzenia. - Stwierdzone wszelkie braki w wyposażeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu należy przekazywać prowadzącemu zajęcia. - Zabrania się samodzielnego włączania, manipulowania i korzystania z urządzeń nie należących do danego ćwiczenia. - W przypadku wystąpienia porażenia prądem elektrycznym należy niezwłocznie wyłączyć zasilanie stanowiska. Przed odłączeniem napięcia nie dotykać porażonego. Metodyki i techniki programowania 9 z 0 Instrukcja MITP0 Metodyki i techniki programowania 0 z 0 Instrukcja MITP0