= b) {printf("%d wieksze lub rowne %d\n", a, b);} if (a > b) {printf("%d wieksze niz %d\n", a, b);} return; } mniejsze niz 5 1 mniejsze lub rowne 5 1 rozne od 5"> = b) {printf("%d wieksze lub rowne %d\n", a, b);} if (a > b) {printf("%d wieksze niz %d\n", a, b);} return; } mniejsze niz 5 1 mniejsze lub rowne 5 1 rozne od 5">

Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.

Podobne prezentacje


Prezentacja na temat: "Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki."— Zapis prezentacji:

1 Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/wsb-wdi/ Wprowadzenie do informatyki Wykład 5a

2 J.Nawrocki, Język C - część II Plan wykładu Relacje w języku C Czytanie ciągu o nieznanej długości Liczba cyfr raz jeszcze Dyrektywa #include Automatyczne testowanie funkcji Testowanie sterowane danymi Tablice w C

3 J.Nawrocki, Język C - część II Relacje w języku C void main() { int a, b; scanf("%d %d", &a, &b); if (a < b) {printf("%d mniejsze niz %d\n", a, b);} if (a <= b) {printf("%d mniejsze lub rowne %d\n",a, b);} if (a == b) {printf("%d rowne %d\n", a, b);} if (a != b) {printf("%d rozne od %d\n", a, b);} if (a >= b) {printf("%d wieksze lub rowne %d\n", a, b);} if (a > b) {printf("%d wieksze niz %d\n", a, b);} return; } 1 5 1 mniejsze niz 5 1 mniejsze lub rowne 5 1 rozne od 5

4 J.Nawrocki, Język C - część II Wynik funkcji scanf scanf(.. ) >= 0 oznacza OK. (liczba przecz. elementów) scanf(.. ) = -1 oznacza błąd (niezgodność z formatem)

5 J.Nawrocki, Język C - część II Suma liczb 3 1212 6 123123 20 1 2 3 4 10

6 J.Nawrocki, Język C - część II Suma liczb void main() { int a, suma; suma= 0; while (scanf("%d", &a) > 0) { suma= suma + a; } printf("Suma= %d\n", suma); return; } 1 2 3 4 10 Suma= 20

7 J.Nawrocki, Język C - część II Suma liczb void main() { int a, suma; suma= 0; while (scanf("%d", &a) > 0) { suma= suma + a; } printf("Suma= %d\n", suma); return; } 1 2 3 4 10 Suma= 20 Suma += a;

8 J.Nawrocki, Język C - część II Funkcje nast ( 3 ) = 4 void main() { int X, Y; scanf("%d", &X); Y= X + 1; printf("%d \n", Y); return; } void main() { int X, Y; scanf("%d", X); Y= nast(X); printf("%d \n", Y); return; } int nast(int n) { return n+1; } Napisać program wyświetlający liczbę o 1 większą od podanej. 3 4

9 J.Nawrocki, Język C - część II Ile cyfr ma podana liczba X? void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; } void main() { int X, C; scanf("%d", X); C= LiczbaCyfr(X); printf("%d ma cyfr: %d \n", X, C); return; }

10 J.Nawrocki, Język C - część II Ile cyfr ma podana liczba X? void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; } int LiczbaCyfr(int n) { int C, G; C= 1; G= 10; while (n >= G) { C= C + 1; G= G * 10; } return C; }

11 J.Nawrocki, Język C - część II Funkcje Program = zbiór funkcji Wykonanie zaczyna się od funkcji main void main() { int X, Y; scanf("%d", X); Y= nast(X); printf("%d \n", Y); return; } int nast( int n ){ return n+1 ; }

12 J.Nawrocki, Język C - część II Dyrektywa #include #include " nazwa_pliku

13 J.Nawrocki, Język C - część II Jeden program w dwóch plikach int LiczbaCyfr(int n) { int C, G;... return C; } void main() { int X, C; scanf("%d", X); C= LiczbaCyfr(X); printf("%d ma cyfr: %d \n", X, C); return; } #include "liczbacy.c" void main() { int X, C; scanf("%d", X); C= LiczbaCyfr(X); printf("%d ma cyfr: %d \n", X, C); return; } int LiczbaCyfr(int n) { int C, G; C= 1; G= 10; while (n >= G) { C= C + 1; G= G * 10; } return C; } liczbacy.c

14 J.Nawrocki, Język C - część II Organizacja plików Testowana funkcja Oprogramowanie korzystające z tej funkcji #include... Program testujący #include...

15 J.Nawrocki, Język C - część II Prosty program testujący #include "liczbacy.c" void main() { int n, fWynik, oWynik, Blad; int Blad=0; n=0; oWynik=1; fWynik= LiczbaCyfr(n); if (fWynik != oWynik){ printf("LiczbaCyfr(%d)=%d a nie %d.\n", n, fWynik, oWynik); Blad=1; } n=10; oWynik=2; fWynik= LiczbaCyfr(n); if (fWynik != oWynik){ printf("LiczbaCyfr(%d)=%d a nie %d.\n", n, fWynik, oWynik); Blad=1; } if (!Blad) { printf("Wszystko OK. Brawo!\n"); } return; }

16 J.Nawrocki, Język C - część II Organizacja plików Testowana funkcja Oprogramowanie korzystające z tej funkcji #include... Program testujący #include... Dane testowe

17 J.Nawrocki, Język C - część II Testowanie sterowane danymi #include "liczbacy.c" void main() { int n, fWynik, oWynik; int Blad=0; while (scanf("%d %d", &n, &oWynik)>0){ fWynik= LiczbaCyfr(n); if (fWynik != oWynik){ printf("LiczbaCyfr(%d)=%d a nie %d.\n", n, fWynik, oWynik); Blad=1; } if (!Blad) { printf("Wszystko OK. Brawo!\n"); } return; }

18 J.Nawrocki, Język C - część II Wszystko OK. Brawo! Dane testowe dla LiczbaCyfr Testowana funkcja Program testujący #include... 0 1 1 1 2 1 9 1 10 2 11 2 99 2 100 3 999 3

19 J.Nawrocki, Język C - część II Odwracanie ciągu liczb 123123 321321

20 J.Nawrocki, Język C - część II Odwracanie ciągu liczb void main() { #define n 3 int i, a[n]; i= 0; while (i < n){ scanf("%d", &a[i]); i= i + 1; } i= n - 1; while (i >= 0){ printf("%d\n", a[i]); i= i - 1; } return; }

21 J.Nawrocki, Język C - część II Podsumowanie Automatyczne testowanie funkcji Testowanie sterowane danymi Tablice w języku C Wreszcie!

22 J.Nawrocki, Język C - część II Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Tempo (wolniej, OK., szybciej)? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?


Pobierz ppt "Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki."

Podobne prezentacje


Reklamy Google