Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu 3. Przykłady algorytmów 1
1. Organizacja zajęć na laboratorium INF a) kontakt z prowadzącym i konsultacje b) program przedmiotu c) literatura d) zasady zaliczenia przedmiotu 1a. Kontakt i konsultacje mgr inż.. Paweł Myszkowski pokój j 208 (II piętro) tel. 085 746 93 74 e-mail: pmyszkowski@we.pb.edu.pl www: http://we.pb.edu.pl/~pmyszkowski pmyszkowski Konsultacje: Poniedziałek ek 10 15 12 Środa 10 15 12 00 12 00 2
1b. Program przedmiotu 1. Zajęcia organizacyjne. Algorytmy, sposoby opisu. Przykłady algorytmów. 2. Obsługa środowiska Dev-C++ przeznaczonego do tworzenia, analizy i uruchamiania programów w w języku j C/C++. Etapy tworzenia programu. Kompilacja i konsolidacja. 3. Ogólna struktura programu w języku j C/C++. Zmienne, deklaracje, typy i nazwy zmiennych. Wyprowadzanie i wprowadzanie danych - instrukcje cout i cin oraz printf() i scanf() ().. Stałe e liczbowe. Operatory i wyrażenia arytmetyczne, priorytet operatorów. 4. Operatory relacyjne (porównania) i logiczne. Wyrażenia logiczne. Instrukcja warunkowa if.. Zagnieżdżanie anie if-else else. Operator warunkowy? :. 1b. Program przedmiotu 5. Instrukcja wyboru wielowariantowego switch.. Operatory bitowe. 6. Instrukcja iteracyjna for.. Zagnieżdżanie anie pętli p for.. Instrukcje break, goto i continue. 7. Instrukcje iteracyjne while i do while. 8. Tablice, deklaracja tablicy jednowymiarowej, inicjalizacja elementów w tablicy. 9. Tablice dwuwymiarowe. Operacje na tablicach. 10. Łańcuchy znaków. Inicjalizacja łańcucha znaków. Stała znakowa. Funkcje do wprowadzania i wyprowadzania znaków. Plik nagłówkowy string.h. 3
1b. Program przedmiotu 11. Struktury, odwołania do pól p l struktury, inicjalizacja zmiennej strukturalnej. Pola bitowe i unie. 12. Funkcje, ogólna struktura funkcji. Umieszczanie definicji funkcji w programie. Zmienne lokalne i globalne. Zasięg g i widzialność identyfikatorów. 13. Przekazywanie argumentów w do funkcji przez wartość i referencje. Rekurencyjne wywołanie funkcji. Argumenty funkcji main. 14. Pliki tekstowe i binarne. Operacje na plikach tekstowych. 15. Operacje na plikach binarnych. Zaliczenie zajęć ęć. 1c. Literatura B. W. Kernighan,, D. M. Ritchie: Język ANSI C. WNT, Warszawa, 2007. J. Grębosz: Symfonia C++ standard. Tom 1 i 2. 2 Edition 2000, Warszawa, 2006. S. Prata: Język C. Szkoła a programowania.. Wydanie V. V Helion, Gliwice, 2006. A. Sopek: W głąg łąb b języka j C. Helion, Gliwice, 1993. (http://helion.pl helion.pl/online/wglab/wglab.zip) K. Barteczko: Praktyczne wprowadzenie do programowania obiektowego w języku j C++. Wydawnictwo Lupus,, Warszawa, 1994. A. Zalewski: Programowanie w językach j C i C++ z wykorzystaniem pakietu Borland C++.. Wydawnictwo Nakom,, Poznań,, 2000. S. Oualline: Język C. Programowanie.. Helion, Gliwice, 2003. S.G. Kochan: Język C. Wprowadzenie do programowania.. Helion, Gliwice, 2005. więcej na http://helion.pl 4
1d. Zasady zaliczenia przedmiotu projekt (jeśli będąb kandydaci) oceny ze sprawdzianów + i - za pracę na zajęciach + i - za ewentualne prace domowe obecność studenta na zajęciach zaliczenie wykładu na podstawie oceny z laboratorium -> tylko dla ocen 4.5 i 5.0 z obniżeniem o półp oceny 2. Algorytmy i sposoby ich opisu Algorytm różne definicje: - skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania - metoda rozwiązania zadania - skończony zbiór reguł, wskazujący kolejność operacji przy rozwiązywaniu problemu pewnego typu 5
2. Algorytmy i sposoby ich opisu - ściśle określona procedura obliczeniowa, która dla właściwych danych wejściowych zwraca żądane dane wyjściowe zwane wynikiem działania algorytmu Dane wej. Proces Wyniki Algorytm 2. Algorytmy i sposoby ich opisu Sposoby opisu algorytmów: - Opis w punktach, w języku naturalnym (lista kroków w postaci słownej) - Schemat blokowy - Pseudokod, czyli niezbyt formalna odmiana języka programowania (coś na bazie Pascala, C, C++) - Konkretny język programowania, np. Pascal, C, C++, język skryptowy programu Matlab 6
2. Algorytmy i sposoby ich opisu Elementy występuj pujące w schematach blokowych: START -Początek algorytmu -Występuje dokładnie jeden raz STOP -Koniec algorytmu -Występuje przynajmniej jeden raz OPERACJA WARUNEK -Instrukcja elementarna -Blok funkcyjny -Operacje obliczeniowe lub organizacyjne -Blok decyzyjny -Operacje warunkowe -Testy 3. Przykłady algorytmów START a) Jak powstaje program? Edycja kodu źródłowego.c.cpp Uruchomienie.exe Kompilacja Czy są błędy? Łączenie.o.obj dołączanie bibliotek Czy są błędy? STOP Czy są błędy? 7
3. Przykłady algorytmów b) Pierwiastki równania kwadratowego START wczytaj (a,b,c) delta=b 2-4ac delta<0? wypisz (brak pierwiastków) delta=0? STOP x1=(-b- delta)/2a x2=(-b+ delta)/2a x1=x2=-b/2a wypisz (x1) wypisz (x2) wypisz (x1) STOP 3. Przykłady algorytmów Co zrobi algorytm z poprzedniego slajdu, gdy użytkownik u na wejściu wprowadzi a=0? x1=x2=-b/2a x1=(-b- delta)/2a x2=(-b+ delta)/2a Dokonaj stosownych poprawek i uzupełnie nień,, aby program działał w każdym przypadku, niezależnie od wartości współczynnik czynników a, b i c. 8
3. Przykłady algorytmów Sporządź schematy blokowe, rozwiązuj zujące następuj pujące zadania: a) x x dla x 0 = x dla x < 0 b) n! = 1 2... n c) zbadaj, czy dana liczba jest parzysta Dziękuj kuję za uwagę 9