Karta programu przedmiotu WYDZIAŁ FIZYKI, MATEMATYKI I
Transkrypt
Karta programu przedmiotu WYDZIAŁ FIZYKI, MATEMATYKI I
Karta programu przedmiotu WYDZIAŁ FIZYKI, MATEMATYKI I INFORMATYKI Rodzaj studiów: studia niestacjonarne pierwszego stopnia Kierunek: INFORMATYKA Rok studiów: I Specjalność: INFORMATYKA STOSOWANA Przedmiot: Języki i paradygmaty programowania 1 ( język C) Rok studiów: I Semestr: 2 Rodzaj zajęć: ECTS: 4 W Ć L P 18 0 18 0 Liczba godzin w semestrze: Przedmioty wprowadzające / wymagania wstępne Wstęp do programowania, Algorytmy i struktury danych - wiadomości bieżące. Cele przedmiotu Celem przedmiotu jest zapoznanie studentów z programowaniem w języku C, jako przykładu zastosowania paradygmatu programowania imperatywnego oraz języka strukturalnego pozwalającego na programowanie proceduralne. Poznanie środowisk i metod projektowania aplikacji konsolowych w systemach Linux/Windows. Metody dydaktyczne Wykład z wykorzystaniem środków audiowizualnych (komputer i projektor). Laboratorium, praca z wykorzystaniem środowiska i kompilatorów systemu operacyjnego Linux lub Windows, praca pod kierunkiem prowadzącego zajęcia i opracowanie indywidualnego projektu. Forma i warunki zaliczenia przedmiotu: 1. Obecność i aktywność na laboratoriach (dopuszczona jedna nieobecność nieusprawiedliwiona). 2. Kolokwium: napisanie programu i analiza programu - zakres w załączonych tematach na zaliczenie 3. Indywidualny projekt zaliczony na komputerze. TREŚCI PROGRAMOWE Wykłady: 1. Omówienie paradygmatów programowania przykłady. Język C: składnia i pojęcia: identyfikatora, instrukcji, funkcji i komentarza, funkcja główna, obsługa wejścia i wyjścia, dyrektywy preprocesora. 2. Typ całkowity i rzeczywisty, wyrażenie arytmetyczne, formatowanie, operatory arytmetyczne, wyrażenie i instrukcja przypisania, funkcje matematyczne, Instrukcje warunkowe if i if…else, blok instrukcji, porównanie z j. Pascal, operatory i wyrażenia logiczne, funkcja zakończenie programu. 3. Funkcje: definicja, wywołanie i prototyp: typ funkcji, typ argumentu formalnego i aktualnego. Typ wskaźnika do zmiennej: reprezentacja w pamięci, operator adresowania i wskazania pośredniego, typ pusty, przekazywanie argumentów do funkcji przez wskaźnik i wartość 4. Instrukcje pętli for i while, obsługa operacji plikowych, rozszerzone operatory przypisania. Pętla do...while, operator inkrementacji i dekrementacji, dokładność liczb rzeczywistych. 5. Typ znakowy, przekształcenie typu znakowego, operatory przy- i przedrostkowy. 6. Tablica znakowa, stała tekstowa, identyfikator tablicy - rola wskaźnika, operacje we / wy, inicjalizacja – klasa pamięci static, biblioteka operacji tekstowych. 7. Instrukcje wyboru i skoku, zastosowanie: switch … case, break, continue i operatora przecinkowego w pętlach, obsługa tablic znakowych w funkcjach. 8. Tablice znakowe o dwóch indeksach, dynamiczna alokacja, odczyt z pliku. Wyrażenie warunkowe, inicjalizacja, argumenty funkcji main, wielomodułowość. 9. Alokacja pamięci dla jednowymiarowych tablic typu rzeczywistego, zwalnianie pamięci, obliczanie rozmiaru, zastosowanie w funkcjach. 10. Alokacja i zwalnianie pamięci dla tablic dwuwymiarowych typu rzeczywistego – tablica dwuwymiarowa, jako argument funkcji. 11. Klasy pamięci, zakres dostępności i życia zmiennych, dyrektywa kompilacji warunkowej, przykład aplikacji z podziałem na moduły. 12. Rekurencja, zasady rekurencyjnego wywoływania funkcji 13. Funkcje w argumentach innych funkcji: identyfikator funkcji, jako wskaźnik. 14. Operacje bitowe, przykład zastosowania struktur i operacji bitowych w projektowaniu wielomodułowym, instrukcja skoku bezwarunkowego. 15. Struktury: deklaracja struktury, deklaracja typedef, zmienne strukturalne, dostęp do składowych struktury, dostęp poprzez wskaźnik, tablice struktur. 16. Kolejka struktur: struktura z wskaźnikiem do struktury, zastosowanie struktury w obsłudze kolejki, przegląd dwukierunkowy, porządkowanie. 17. Budowa drzewa binarnego, funkcje rekurencyjne w obsłudze drzewa. 18. Podsumowanie - wprowadzenie do paradygmatu obiektowego. Ćwiczenia laboratoryjne 1. Operacje wejścia i wyjścia, dyrektywa preprocesora, kompilacja, linkowanie i wykonywanie programów, obsługa błędów, podstawowe typy, wyrażenia, instrukcja przypisania. 2. Instrukcje warunkowe, kończenie programu, blok instrukcji, operatory i wyrażenia logiczne biblioteka matematyczna. 3. Funkcje, przekazywanie argumentów: definicja, odwołania i prototyp funkcji, argumenty formalne i aktualne. 4. Funkcje, wskaźniki w argumentach funkcji, instrukcje pętli, operacje plikowe. 5. Zmienne i stałe znakowe, operatory inkrementacji i dekrementacji, instrukcja switch, case, break i continue 6. Wyrażenie warunkowe, inicjalizacja, argumenty funkcji main - klasy pamięci. 7. Tablice znakowe, dynamiczna alokacja pamięci: dostęp poprzez wskaźniki. 8. Tekstowe tablice dwuwymiarowe, wyrażenie warunkowe, inicjalizacja tablic i wskaźników, argumenty przekazywane do programu. 9. Zarządzanie pamięcią dla tablic typu rzeczywistego o jednym indeksie: elementy tablic i wskaźniki, zwalnianie pamięci. 10. Alokacja pamięci dla tablic o dwóch indeksach inicjalizacja tablic dwuwymiarowych - projekt z zastosowanie tablic dwuwymiarowych rzeczywistych lub znakowych. 11. Funkcje w argumentach innych funkcji. 12. Struktura, sposoby definicji - deklaracja typedef, przekazywanie struktur do funkcji. 13. Tablice struktur – z polem wskaźnika do funkcji 14. Budowa i obsługa listy dowiązaniowej. 15. Funkcje rekurencyjne. 16. Operacje bitowe, program ustawiający i testujący stan obiektu. 17. Tablica struktur ze wskaźnikiem do funkcji. 18. Zaliczenie przedmiotu – projekty i kolokwium. Wykaz literatury podstawowej: [1] Danuta Zboś, - Podstawy programowania w C, skrypt Politechnika Krakowska, seria. Informatyka Stosowana Kraków 2002 r. [2] Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C Programowanie - Wydawnictwo HELION Wyd. 2, 2010 Wykaz literatury uzupełniającej: [1] Stephen Prata - Język C szkoła programowania, Wydanie V, Wydawnictwo HELION, 2006 r. [2] Clovis L. Tondo, Scott E. Gimpel, Język ANSI C Programowanie - Ćwiczenia - Wydanie 2 Wydawnictwo HELION, 2010 r.