Katedra Elektrotechniki Teoretycznej i Informatyki sem. III Dr inż. M. Czyżak
REGULAMIN zaliczeń i wystawiania ocen z przedmiotu Informatyka realizowanych w Katedrze Elektrotechniki Teoretycznej i Informatyki na studiach stacjonarnych I stopnia na kierunku Elektrotechnika w sem. III, 2010/2011 1. Obecność studentów na wykładach i laboratorium jest obowiązkowa. 2. Na laboratorium obecność jest kontrolowana. W przypadku stwierdzenia 3-krotnej nieusprawiedliwionej nieobecności, student nie jest klasyfikowany. 3. Podczas semestru sprawdzian przeprowadzany jest 2- krotnie na laboratorium (2 x 90 min) zgodnie z podanym harmonogramem laboratorium.
4. W przypadku usprawiedliwionej nieobecności na sprawdzianie, potwierdzonej zwolnieniem lekarskim, student jest zobowiązany w terminie 2 tygodni od daty zakończenia zwolnienia, odrobić sprawdzian w godzinach konsultacji. W przypadku nieobecności nieusprawiedliwionej student otrzymuje 0 punktów ze sprawdzianu. W przypadku 2-krotnej nieusprawiedliwionej nieobecności na sprawdzianie (lub nie odrobienia w podanym terminie usprawiedliwionej nieobecności na sprawdzianie) student nie uzyskuje klasyfikacji i nie ma prawa przystąpienia do poprawkowych sprawdzianów zaliczających.
5. Zaliczenie laboratorium następuje w oparciu o ilość punktów uzyskanych przez studenta. Podział punktów dla laboratorium na poszczególne elementy jest następujący: - sprawdziany 50 pkt ( 2 x 25 pkt) - sprawozdania 36 pkt ( 12 x 3 pkt) - projekt 1 4 pkt - projekt 2 10 pkt Każde sprawozdanie obejmuje również zadania domowe. Sprawozdanie musi być oddane na kolejnym laboratorium, za sprawozdanie oddane po terminie student nie otrzymuje punktów. Projekty powinny być oddane przed sesją podstawową. Prowadzący zajęcia laboratoryjne wystawia oceny punktowe.
Każde sprawozdanie obejmuje również zadania domowe. Sprawozdanie musi być oddane na kolejnym laboratorium, za sprawozdanie oddane po terminie student nie otrzymuje punktów. Projekty powinny być oddane przed sesją podstawową. Prowadzący zajęcia laboratoryjne wystawia oceny punktowe. 6. Zaliczenie części wykładowej następuje w oparciu o kolokwium organizowane na koniec semestru oraz pracę domową ( 90 pkt kolokwium, 10 pkt praca domowa). 7. Na zakończenie zajęć w semestrze oblicza się końcową punktową ocenę każdego studenta, wg wzoru: Z = 2 * L + 1 * W 3 3 gdzie: L ocena punktowa uzyskana z części laboratoryjnej, W ocena punktowa uzyskana z części wykładowej. Oceny są wystawiane zgodnie z tabelą przyjętą w Katedrze ( zaliczenie od 50%).
9. Prowadzący laboratorium organizuje dodatkowy sprawdzian poprawkowy z laboratorium w sesji poprawkowej. W wyniku tego sprawdzianu student może otrzymać połowę maksymalnej ilości punktów ze sprawdzianów czyli 25 pkt. 10. Dla studentów, którzy nie uzyskali wymaganego minimum punktów, organizowane jest kolokwium poprawkowe z części wykładowej w sesji poprawkowej. 11. W wyniku kolokwium poprawkowego można uzyskać tylko połowę maksymalnej liczby punktów, czyli dla kolokwium z wykładu 45 pkt. 12. Obliczanie ocen po sesji poprawkowej odbywa się z uwzględnieniem wyniku kolokwium poprawkowego oraz pozostałych elementów składających się na część laboratoryjną i wykładową.
Literatura: 1. A.R. Neubauer, Języki C i C++, Twój pierwszy program, Help, W-wa, 1995. 2. C. Sexton, Język C to proste, RM, W-wa, 2001. 3. G. Perry, Język C w przykładach, Que, W-wa, 2000. 4. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa, 1994 (ciągle wznawiane, BKI - Biblioteka Klasyki Informatyki) 5.H.Schildt, Programowanie C, RM, wyd.i,w-wa, 2002. 6. K.A. Reek, Język C. Wskaźniki. Vademecum profesjonalisty,helion, Gliwice, 2003.
Ogólna budowa programu w języku C W języku C program składa się z jednego lub większej liczby segmentów kodu zwanych funkcjami, z których jedna musi nazywać się main(). Wykonanie programu zaczyna się od funkcji main() i program powinien kończyć się wraz z zakończeniem działania funkcji main(). Program również może się zakończyć, gdy pojawi się sytuacja nienormalna-wyjątek, np. dzielenie przez zero, albo też gdy zostanie zakończony w sposób jawny ( ctrl-break, zamknięcie okna w systemie Windows), powodem zakończenia może być też wywołanie funkcji exit().
Język C funkcje Powody stosowania funkcji w programach (1) 1. Korzystanie z bibliotek lub funkcji stworzonych przez innych programistów. 2. Podział zadania programistycznego na mniejsze, które mogą być opracowywane niezależnie( np. w różnym czasie lub równocześnie przez różnych programistów).
Język C funkcje Powody stosowania funkcji w programach (2) 3. Ułatwienia w uruchamianiu dużych programów ( można niezależnie uruchamiać i testować poszczególne funkcje). 4. Program jest zbyt duży, by pisać go jako jedną funkcję main(). 5. Unikanie powtarzania w programie tego samego kodu, gdy pewne zadania trzeba wykonywać wielokrotnie.
Funkcje a struktura programu w języku C (1) Program w języku C może być programem jednoplikowym lub wieloplikowym. W programie jednoplikowym wszystkie funkcje znajdują się w jednym pliku źródłowym lub są do niego dołączane przy zastosowaniu dyrektywy #include. W programie wieloplikowym pliki są łączone w sposób zależny od środowiska (np. w środowisku Dev C++ opcja Projekt->Dodaj do projektu).
Funkcje a struktura programu w języku C (2) - Funkcje nie muszą występować w pliku źródłowym w określonym porządku ( pewne sposoby uporządkowania mogą wymagać dodatkowych deklaracji), jednak umieszczenie main() jako pierwszej funkcji w pliku ułatwia analizę programu. -Każda funkcja może wywoływać dowolną inną funkcję. - Nie jest dopuszczalne zagnieżdżanie funkcji, tzn. nie można jednej funkcji definiować wewnątrz innej funkcji. - W programie występuje tylko jedna funkcja main() i musi ona wystąpić niezależnie od liczby plików źródłowych.
Przykład. Prosty program stosujący funkcję do obliczania kwadratu pewnej wartości. #include <stdio.h> // lub #include <cstdio> int kwadrat (int num){ int main() { int pom; // zmienna lokalna funkcji pom=num*num; return pom; } // zmienna pom nie jest konieczna, int kw, wartosc; //być return num*num; printf("\n Podaj wartosc :"); scanf("%d",&wartosc);
kw= kwadrat(wartosc); Język ANSI C funkcje W momencie zakończenia działania, funkcja kwadrat przesyła do funkcji main() obliczoną wartość i wartość ta jest wstawiana w miejsce wywołania funkcji. W kolejnym etapie następuje wstawienie tej wartości do zmiennej kw. Wywołanie funkcji - (uruchomienie kodu funkcji) /* zmienna wartosc jest tzw. argumentem funkcji, zmienna wartość zawiera liczbę, która ma być podniesiona do kwadratu */ printf ("\n Kwadrat liczby %d wynosi :%d",wartosc, kw); system("pause"); return 0;}
Przykład. Zastosowanie deklaracji funkcji. #include <stdio.h> int kwadrat (int); // deklaracja funkcji int main() { int kw, wartosc; printf("\n Podaj wartosc :"); scanf("%d",&wartosc); kw=kwadrat(wartosc); printf("\n Kwadrat liczby %d wynosi:%d \n", wartosc,kw); system ("PAUSE"); return 0;} int kwadrat (int num){ int pom; pom=num*num; return pom;}
Wynik działania programu ------------------------ Podaj wartosc :25 Kwadrat liczby 25 wynosi:625 Aby kontynuować, naciśnij dowolny klawisz...
Przykład. (do wykonania w trakcie wykładu) Napisać i wywołać w main() następujące funkcje: a) funkcję obliczającą sumę swoich argumentów typu int b) funkcję obliczającą różnicę swoich argumentów typu int c)funkcję obliczającą iloczyn swoich argumentów typu double Funkcje obliczające sumę i różnicę wywołać dla dwóch par argumentów.
#include <stdio.h> int sum (int a, int b); // deklaracje funkcji int roznica (int a, int b); double iloczyn (double a, double b); int main() { int a,b,c,d,sum,roz; double e,f,ilo; printf("\n Podaj a :"); scanf("%d",&a); printf("\n Podaj b :"); scanf("%d",&b); sum=suma(a,b);// a,b to argumenty wywołania funkcji
cz 2. programu printf("\n Suma %d + %d =%d ", a,b,sum); printf("\n Podaj c :"); scanf("%d",&c); printf("\n Podaj d :"); scanf("%d",&d); sum=suma(c,d); printf("\n Suma %d + %d =%d ", c,d,sum); roz=roznica(a,b); printf("\n Roznica %d - %d =%d ", a,b,roz); roz=roznica(c,d); printf("\n Roznica %d - %d =%d \n", c,d,roz);
cz 3. programu printf("\n Podaj e :"); scanf("%lf",&e); printf("\n Podaj f :"); scanf("%lf",&f); ilo=iloczyn(e,f); printf("\n Iloczyn %f * %f =%f \n", e,f,ilo); system ("PAUSE"); return 0;}
cz 4. programu int suma (int a, int b){ int sum; sum=a+b; return sum;} int roznica (int a, int b){ int roz; roz=a-b; return roz;} double iloczyn (double a, double b){ double ilo; ilo=a*b; return ilo;}
Wynik działania programu --------------------------------- Podaj a :2 Podaj b :3 Suma 2 + 3 =5 Podaj c :4 Podaj d :5 Suma 4 + 5 =9 Roznica 2-3 =-1 Roznica 4-5 =-1 Podaj e :2.5 Podaj f :3.5 Iloczyn 2.500000 * 3.500000 =8.750000
Przykład. Napisać i zastosować w programie funkcję silnia. #include <stdlib.h> int silnia (int n ){ int i, sil=1; if (n>0) for (i=1;i<=n;i++) sil=sil*i; return sil; } int main() { int l1=5, l2=6; int sil1,sil2; sil1=silnia (l1); sil2=silnia (l2); printf("\n % d! wynosi %d", l1,sil1); printf("\n % d! wynosi %d\n", l2,sil2);
Przykład. Napisać i zastosować w programie funkcję silnia. Wynik działania programu 5! wynosi 120 6! wynosi 720 Aby kontynuować, naciśnij dowolny klawisz...
Przykład. Napisać i zastosować w programie funkcję wczytajd wczytującą zmienną typu double. #include <stdio.h> double wczytajd (void ){ int k; double x; do{ printf("\n Podaj zmienna :"); k=scanf("%lf",&x); if (k==0) printf("\n Niepoprawny format liczby!"); fflush(stdin); } while (k==0); // można też while (!k); return x;} int main() { double x1,x2; x1=wczytajd (); x2=wczytajd(); printf("\n x1 wynosi %f", x1); printf("\n x2 wynosi %f \n", x2); system("pause"); return 0;}
Wynik działania programu ------------------------ Podaj zmienna :12 Podaj zmienna :23 x1 wynosi 12.000000 x2 wynosi 23.000000 Aby kontynuować, naciśnij dowolny klawisz...