Historia języka C. Struktura programu
|
|
- Krystyna Orzechowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Historia języka C : Dennis Ritchie i system UNIX; : K & R (Kernighan & Ritchie) C; : standard ANSI (C90). Struktura programu dyrektywy preprocesora opis nazw zmiennych i ich typu; ciąg instrukcji; wyprowadzenie rezultatu Analogie do przepisu kulinarnego: nazwa potrawy nazwa programu, składniki deklaracje zmiennych, przepis ciąg instrukcji. Programowanie z elementami algorytmiki, folia 1
2 Książka: S. Prata (1999): Język C. Szkoła programowania. Wrocław: Robomatic. Środowisko programistyczne: Dev-C++, przejśćdodownloads i wybrać Dev-C beta 9.2 ( ) with Mingw/GCC int a, b, c; scanf("%d %d", &a, &b); c = a + b; printf("%d %d %d\n", a, b, c); getch(); /* Nie zamykaj okna! */ Efekt wykonania programu: _ Programowanie z elementami algorytmiki, folia 2
3 Możliwe wariacje: Poprzez scanf uzyskuje się taki sam efekt jak a = 13, b = 11, ale nie trzeba zmieniać programu. Można napisać scanf("%d", &a); scanf("%d", &b); ale scanf("%d %d", &a, &b); jest bardziej zwarte. printf("%d %d %d\n", a, b, c); jest równoważne printf("%d ", a); printf("%d ", b); printf("%d\n", c); Programowanie z elementami algorytmiki, folia 3
4 Komunikacja z użytkownikiem int a, b, c; printf("podaj dwie liczby: "); scanf("%d %d", &a, &b); c = a + b; printf("1-szy skladnik = %d\n", a); printf("2-gi skladnik = %d\n", b); printf("suma skladnikow = %d\n", c); Efekt wykonania programu: Podaj dwie liczby: 13 1-szy składnik = gi składnik = 11 Suma _ składników = 24 Programowanie z elementami algorytmiki, folia 4
5 Komentarze Wszystko, co stoi między symbolami /* i */ jest ignorowane przy tłumaczeniu programu źródłowego na kod maszynowy. int a; /* Maly program z komentarzami */ a = 1; printf("to na ekranie: a = %d\n", a); /* Ten komentarz jest zbyteczny */ Efekt wykonania programu: To _ na ekranie: a = 1 Programowanie z elementami algorytmiki, folia 5
6 Styl ( charakter pisma ) int main(void)int a, b, c; scanf("%d %d", &a, &b); c = a + b ; printf("%d %d %d\n", a, b, c); Instrukcja przypisania int a; a = 4; printf("%d\n", a); a = a + 1; printf("%d\n", a); a = 8; printf("%d\n", a); Programowanie z elementami algorytmiki, folia 6
7 Operacje na liczbach całkowitych int a, b, c; a = 17; b = 3; c = a * b; printf("17 * 3 = %d\n", c); c = a / b; printf("17 / 3 = %d\n", c); c = a % b; printf("17 %% 3 = %d\n", c); c = a + b; printf(" = %d\n", c); c = a - b; printf("17-3 = %d\n", c); Programowanie z elementami algorytmiki, folia 7
8 Efekt wykonania programu: 17 * 3 = / 3 = 5 17 % 3 = = _ - 3 = 14 Co to jest float? float a, b, c; a = 3.5; b = 7.6; c = a + b; printf("suma = %f\n", c); Efekt wykonania programu: Suma _ = Programowanie z elementami algorytmiki, folia 8
9 Zapis liczb Reguła: W liczbie rzeczywistej pojawia się kropka dziesiętna, a nie przecinek!.7 0. poprawne! poprawne! Postać z wykładnikiem: liczba = mantysa 10 potęga Przykłady 2.7e3 =2, =2, = e-5 = 1, = 0, e12 = e-12 = Programowanie z elementami algorytmiki, folia 9
10 Specyfikatory konwersji a = ; printf("%f\n", a); printf("%e\n", a); e-005 printf("%g\n", a); 2.3e-005 a = 0.45; printf("%f\n", a); printf("%e\n", a); e-001 printf("%g\n", a); 0.45 a = ; printf("%f\n", a); printf("%e\n", a); e+006 printf("%g\n", a); e+006 Programowanie z elementami algorytmiki, folia 10
11 int i float razem #include <math.h> int n, k; float a, b; a = -3.6; n = 4; b = n; printf("%g ", b); n = a; printf("%d ", n); k = floor(a); printf("%d\n", k); 4_ -3-4 Czy dozwolone są poniższe instrukcje przypisania? b := n + 4.6; b := 3 * n; n := 2.5 * 4; Programowanie z elementami algorytmiki, folia 11
12 Wykorzystanie nawiasów i priorytety Jak interpretować poniższą instrukcję przypisania? Mamy dwie możliwości: 1 4 (3 8) 2 (4 3) 8 n = 4-3 * 8; Mamy następujące reguły priorytetów : Mnożenie i dzielenie wykonuje się wcześniej niż dodawanie i odejmowanie (lub: mnożenie i dzielenie mają wyższy priorytet niż dodawanie i odejmowanie). Operacje o identycznym priorytecie wykonują się od lewej na prawo. Mnożenie i dzielenie mają jednakowy priorytet (podobnie dodawanie i odejmowanie). Operacje na zmiennych zawartych w nawiasach mają pierwszeństwo. Programowanie z elementami algorytmiki, folia 12
13 Przykład wykorzystania nawiasów: float far, cel; printf("podaj temperature " "Fahrenheita\n"); scanf("%f", &far); cel = ((far ) / 9.0) * 5.0; printf("temperatura " "Celsjusza: %g", cel); Funkcje matematyczne na typie float #include <math.h> float a = 2.0, b; b = pow(a, 2.0); printf("pow(2.0, 2.0) = %g\n", b); Programowanie z elementami algorytmiki, folia 13
14 b = sqrt(a); printf("sqrt(2.0) = %g\n", b); b = sin(a); printf("sin(2.0) = %g\n", b); b = cos(a); printf("cos(2.0) = %g\n", b); b = atan(a); printf("atan(2.0) = %g\n", b); b = log(a); printf("log(2.0) = %g\n", b); b = exp(a); printf("exp(2.0) = %g\n", b); pow(2.0, 2.0) = 4 sqrt(2.0) = sin(2.0) = cos(2.0) = atan(2.0) = log(2.0) = exp(2.0) _ = Programowanie z elementami algorytmiki, folia 14
15 Funkcje te można składać: a = -4.0; b = sqrt( abs(a * 6.5)); Stałe float obwod, r, pi; pi = ; scanf("%f", &r); obwod = 2 * pi * r; printf("obwod = %g\n", obwod); Jak zabezpieczyć się przed przypadkową zmianą wartości pi? Programowanie z elementami algorytmiki, folia 15
16 Lepiej napisać #define PI float obwod, r; scanf("%f", &r); obwod = 2 * PI * r; printf("obwod = %g\n", obwod); Zadanie. Obliczyć czas lotu t u idrogę x(t u ) ciała rzuconego z prędkością v pod kątem α. Fizyka daje zależności x(t) =vt cos(α), y(t) =vt sin(α) 1 2 gt2. Z równania y(t u )=0mamy t u = i dalej x(t u )=vt u cos(α). 2v sin(α), g Programowanie z elementami algorytmiki, folia 16
17 #include <math.h> #define G 9.81 #define PI float v, alfa, t_u, x_u; printf("podaj predkosc " "poczatkowa [m/s]:\n"); scanf("%f", &v); printf("podaj kat [stopnie]:\n"); scanf("%f", &alfa); alfa = alfa * PI / 180.0; t_u = 2.0 * v * sin(alfa) / G; x_u = v * t_u * cos(alfa); printf("czas lotu: %.3f s\n", t_u); printf("przebyta odleglosc:" " %.3f m\n", x_u); Programowanie z elementami algorytmiki, folia 17
18 Typ double i dokładność obliczeń float x; double y; x = 1.0f - 0.2f - 0.2f - 0.2f - 0.2f - 0.2f; y = ; printf("x = %e\n y = %e\n", x, y); x = e-008 y _ = e-017 Rezultat wcale nie jest zerem! Programowanie z elementami algorytmiki, folia 18
19 #include <math.h> #define G 9.81 #define PI double v, alfa, t_u, x_u; printf("podaj predkosc " "poczatkowa [m/s]:\n"); scanf("%lf", &v); printf("podaj kat [stopnie]:\n"); scanf("%lf", &alfa); alfa = alfa * PI / 180.0; t_u = 2.0 * v * sin(alfa) / G; x_u = v * t_u * cos(alfa); printf("czas lotu: %.3f s\n", t_u); printf("przebyta odleglosc: " "%.3f m\n", x_u); Zwrócićuwagę na zmieniony łańcuch sterujący w funkcji scanf i ten sam w funkcji printf! Programowanie z elementami algorytmiki, folia 19
20 Typy zmiennych i ich rozmiary printf("rozmiary w bajtach:\n"); printf("char: %d\n", sizeof(char)); printf("int: %d\n", sizeof(int)); printf("unsigned: %d\n", sizeof(unsigned)); printf("short: %d\n", sizeof(short)); printf("long: %d\n", sizeof(long)); printf("long long: %d\n", sizeof(long long)); printf("float: %d\n", sizeof(float)); printf("double: %d\n", sizeof(double)); Programowanie z elementami algorytmiki, folia 20
21 Rozmiary w bajtach: char: 1 int: 4 unsigned: 4 short: 2 long: 4 long long: 8 float: 4 double: _ 8 Sekwencje sterujące: typ scanf printf char %c %c int %d %d unsigned %u %u short %hd %hd long %ld %ld long long %lld %lld float %f %f double %lf %f Programowanie z elementami algorytmiki, folia 21
22 Formatowane wyjście float a1, a2, b1, b2; a1 = 1.111; a2 = a1 * a1; b1 = 1.222; b2 = b1 * b1; printf("%10s %10s\n", "Wielkosc", "Kwadrat"); printf("%10.2f %10.2f\n", a1, a2); printf("%10.2f %10.2f\n", b1, b2); _ Wielkosc Kwadrat Programowanie z elementami algorytmiki, folia 22
23 Type znakowy char uporządkowany zbiór wszystkich znaków graficznych oraz sterujących reprezentowanych na danym komputerze (zależy od typu komputera). Znaki ASCII: Litery: A, B, C, D,..., Z, a, b, c, d,..., z ; Cyfry: 0, 1, 2, 3,..., 9 ; Znaki #, %,...; Spacja: ; Znaki sterujące, np. \r, czyli CR (ang. carriage return) powrót kursora na początek wiersza, \n czyli NL (ang. new line) przejście kursora do następnego wiersza. Pytanie: Jak uzyskać apostrof? \ Programowanie z elementami algorytmiki, folia 23
24 Znaki sąwewnętrznie reprezentowane przez ciąg zer i jedynek. Jeżeliteciągi zinterpretuje sięjako liczby całkowite, zdefiniuje się w ten sposób uporzadkowanie zbioru znaków, np.: A 65 B 66 C 67 a 97 b 98 c 99 char ch; printf("wpisz jakis znak\n"); scanf("%c", &ch); printf("kod znaku %c to %d.\n", ch, ch); Jak uzyskać następny znak? Bardzo prosto: ch = ch + 1; Programowanie z elementami algorytmiki, folia 24
25 Łańcuchy znakowe char imie[7]; imie = "Ola"; O l a \0 #include <string.h> char imie[20], nazwisko[20]; printf("podaj swoje imie " "i nazwisko:\n"); scanf("%s %s", imie, nazwisko); printf("%s %s\n", nazwisko, imie); printf("twoje imie ma %d liter " "i zajmuje %d bajtow.\n", strlen(imie), sizeof imie); Programowanie z elementami algorytmiki, folia 25
26 Pętla while #define KOREKTA -1 #define MNOZNIK double but, stopa; printf("rozmiar buta " "Dlugosc stopy\n"); but = 24.0; while (but < 45) stopa = MNOZNIK * but + KOREKTA; printf("%8.1f %15.2f cm\n", but, stopa); but = but + 1.0; Programowanie z elementami algorytmiki, folia 26
27 Rozmiar buta Dlugosc stopy cm cm cm cm _ cm Operator inkrementacji int a = 1, b = 1; int aplus, plusb; aplus = a++; plusb = ++b; printf("a aplus " "b plusb \n"); printf("%1d %5d %5d %5d\n", a, aplus, b, plusb); Programowanie z elementami algorytmiki, folia 27
28 a aplus b plusb 2_ int a, q; a = 2; q = 2 * ++a; printf("a = %d, q = %d\n", a, q); a = 2; q = 2 * a++; printf("a = %d, q = %d\n", a, q); a = 3, q = 6 a _ = 3, q = 4 Pytanie: Jak wykorzystać operator inkrementacji do uproszczenia programu o numeracji butów? Programowanie z elementami algorytmiki, folia 28
29 Wyrażenia logiczne int x = 4, b; b = x > 3; printf("%d\n", b); b = x < 3; printf("%d\n", b); 1 0_ W wielu programach występuje sytuacja, kiedy na podstawie określonego warunku będzie lub nie będzie wykonany szereg instrukcji. Taki warunek możemy rozumieć jako stwierdzenie prawdziwe lub fałszywe (warunek spełniony lub niespełniony). Programowanie z elementami algorytmiki, folia 29
30 symbol relacja przykład < < x < 3 <= x <= 3 > > x > 3 >= x >= 3 == = x == 3!= x!= 3 Warunki mogązawierać wyrażenia arytmetyczne: x < y * 5 Można też rozważać bardziejzłożone warunki, np. x < 7 i x > 3 x > 100 lub x < 10 dla których odpowiednio mamy zapis x < 7 && x > 3 x > 100 x < 10 Programowanie z elementami algorytmiki, folia 30
31 a b a && b a b Oprócz tego istnieje operator!, który neguje wartość wyrażenia:!(a < b) a >= b Pytanie: Jak zinterpretować poniższy warunek? 3 < x && x < < x && x<20 Instrukcja warunkowa if Instrukcje warunkowe służą do wpływania na kolejność wykonania instrukcji programu. if (x < 3) printf("%d\n", x); Programowanie z elementami algorytmiki, folia 31
32 printf("podaj swoj wiek\n"); scanf("%d", &wiek); if (wiek >= 18) printf("jestes pelnoletni\n"); if (x < 3) printf("x < 3\n"); else printf("x >= 3\n"); printf("podaj swoj wiek\n"); scanf("%d", &wiek); if (wiek >= 18) printf("jestes pelnoletni\n"); else printf("jestes maloletni\n"); Uwaga! Zwrócićuwagęnaśrednik przed else! Programowanie z elementami algorytmiki, folia 32
33 Pytanie: Jaki będzie rezultat poniższych instrukcji? #include <math.h> #define NUM #define EPS 1.0e-10 double x = 1.0; printf("%d\n", x / NUM * NUM == x); printf("%d\n", fabs(x / NUM * NUM - x) < EPS); 0 1_ Programowanie z elementami algorytmiki, folia 33
34 Pytanie: Jaki zamieniać małe litery na duże? char ch; printf("znak\n"); scanf("%c", &ch); if ( a <= ch && ch <= z ) ch = ch - a + A ; printf("%c\n", ch); Pętla while Zadanie. Obliczyć sumę ciągu liczb, w którym pierwszy składnik jest zadany, a każdy następny jest o jeden mniejszy od poprzedniego. Ciąg ma się kończyć na ostatniej liczbie większej od 5.5. Programowanie z elementami algorytmiki, folia 34
35 #define KONIEC 5.5f float x, sum; x = 10.0f; sum = 0.0f; while (x > KONIEC) sum = sum + x; x = x - 1; printf("sum = %6.2f\n", sum); printf(" x = %6.2f\n", x); sum = _ x = 5.00 Programowanie z elementami algorytmiki, folia 35
36 Można jeszcze zwięźlej: x = 10.0f; sum = 0.0f; while (x > KONIEC) sum += x; x--; Wiele instrukcji wewnątrz pętli zastosować instrukcję złożoną (blok).... Wartość wyrażenia logicznego musi być modyfikowana wewnątrz pętli. Liczba wykonań nie jest z góry wiadoma. Kiedy instrukcje wewnątrz pętli nie wykonanją się? Programowanie z elementami algorytmiki, folia 36
37 Pętla do... while #define KONIEC 5.5f float x, sum; x = 10.0f; sum = 0.0f; do sum = sum + x; x = x - 1; while (x > KONIEC); printf("sum = %6.2f\n", sum); printf(" x = %6.2f\n", x); Programowanie z elementami algorytmiki, folia 37
38 Wersja skrócona: x = 10.0f; sum = 0.0f; do sum += x; while (--x > KONIEC); Pętla for for (k = 3; k <= 23; k++) printf("%d\n", k * k); for (k = 99; k >= 78; k--) printf("%d\n", k * k); Pytanie: Co wypisze następujący fragment? int sum, x; sum = 0; for (x = 5; x >= 1; sum += x--) ; printf("sum = %d", sum); Programowanie z elementami algorytmiki, folia 38
39 Zadanie. Wyznaczyć wartość sumy float sum, a; int k; sum = 0.0f; for (k = 1; k <= 5; k++) a = 1.0f / (float) k; sum += a * a; printf("sum = %8.5f\n", sum); Jeszcze krótsza wersja: sum = 0.0f; for (k = 1; k <= 5; sum += a * a) a = 1.0f / (float) k++; Programowanie z elementami algorytmiki, folia 39
40 Ćwiczenia nt. pętli Zadanie. Napisać program znajdujący cyfry reprezentacji binarnej liczby naturalnej n. int n, i; printf("podaj liczbe " "naturalna:\n"); scanf("%d", &n); printf("reprezentacja " "binarna %d to ", n); i = n; do printf("%d", i % 2); i /= 2; while (i!= 0); Pytanie: Jak odwrócić kolejność cyfr w wyniku? Programowanie z elementami algorytmiki, folia 40
41 Zadanie. Jeżeli y jest przybliżeniem 3 x,to (2y 3 + x)/3y 2 jest jeszcze dokładniejszym przybliżeniem tego pierwiastka. Wykorzystać ten schemat do wyznaczenia 3 x. #include <math.h> #define ZAWSZE 1 #define EPS 1.0e-7 float x, y, nowe_y; printf("podaj liczbe:\n"); scanf("%f", &x); nowe_y = 1.0f; do y = nowe_y; nowe_y = (2.0f * y * y * y + x) / (3.0f * y * y); while (fabs(y - nowe_y) >= EPS); printf("%g\n", nowe_y); Programowanie z elementami algorytmiki, folia 41
42 Zadanie. Rozłożyć liczbę n na czynniki pierwsze. #include <math.h> int i, k, n; printf("podaj liczbe:\n"); scanf("%d", &n); printf("czynniki pierwsze:\n"); k = n; while (k % 2 == 0) printf("%d\n", 2); k /= 2; i = 3; while (i <= sqrt(k) + 1.0) if (k % i == 0) printf("%d\n", i); k /= i; else i += 2; if (k > 1) printf("%d\n", k); Programowanie z elementami algorytmiki, folia 42
43 Interaktywne wejście long num, stan; long suma = 0L; printf("podaj liczbe do " "zsumowania lub q aby" " zakonczyc.\n"); while (scanf("%ld", &num) == 1) suma += num; printf("podaj liczbe do " "zsumowania lub q aby" " zakonczyc.\n"); printf("suma liczb wynosi " "%ld.\n", suma); Programowanie z elementami algorytmiki, folia 43
44 Operator przecinkowy Zadanie. Problem Zenona z Elei, czyli przybliżanie sumy int licznik, granica; double czas, x; printf("ile wyrazow?\n"); scanf("%d", &granica); for (czas = 0.0, x = 1.0, licznik = 1; licznik <= granica; licznik++, x *= 2.0) czas += 1.0 / x; printf("czas = %f gdy licznik" " = %d.\n", czas, licznik); Programowanie z elementami algorytmiki, folia 44
45 Pętle zagnieżdżone #define WIERSZE 6 #define ZNAKI 6 int w; char ch; for (w = 0; w < WIERSZE; w++) for (ch = A + w; ch < A + ZNAKI; ch++) printf("%c", ch); printf("\n"); ABCDEF BCDEF CDEF DEF EF F_ Programowanie z elementami algorytmiki, folia 45
46 Typ tablicowy Zadanie. Pewna 100-osobowa grupa studencka zdawała egzamin z informatyki. Napisać program pytający użytkownika o numery ewidencyjne i liczby zdobytych punktów kolejnych studentów, a następnie komunikujący którzy studenci uzyskali wynik powyżej średniej. Nasuwające się rozwiązania: ❶ Wczytać dane, obliczyć średnią, po czym ponownie wczytać dane. ❷ int ocena1, ocena2,..., ocena100; int numst1, numst2,..., numst100; Co jednak zrobić, gdy taką statystykę należy wykonać dla setek lub nawet tysięcy wartości? Trudność: Jedna zmienna poznanych typów może przechowywać tylko jednąwartość. Remedium: Zastosować typ tablicowy; zmienna tego typu może przechowywać cały zbiór wartości. Programowanie z elementami algorytmiki, folia 46
47 Tablica = uporządkowany zbiór elementów tego samego typu, do których dostęp uzyskuje się poprzez podanie ich pozycji. Wymiary tablicy liczba wartości koniecznych do określenia położenia elementu w tablicy Tablica jednowymiarowa (analogia: wektor): int v[6]; deklaracja v nazwa całej tablicy v[0],..., v[5] poszczególne elementy v[0] v[1] v[2] v[3] v[4] v[5] Programowanie z elementami algorytmiki, folia 47
48 #define L_STUDENTOW 100 int nrstud[l_studentow]; int ocena[l_studentow]; int sumaocen = 0, i; float srednia = 0.0f; for (i = 0; i < L_STUDENTOW; i++) printf("podaj nr studenta" " i jego ocene\n"); scanf("%d %d", &nrstud[i], &ocena[i]); sumaocen += ocena[i]; srednia = (float) sumaocen / (float) L_STUDENTOW; printf("numery studentow " "z ocenami powyzej sredniej:\n"); for (i = 0; i < L_STUDENTOW; i++) if (ocena[i] > srednia) printf("%d\n", nrstud[i]); Programowanie z elementami algorytmiki, folia 48
49 Funkcje getchar i putchar #define ODSTEP char ch; ch = getchar(); while (ch!= \n ) if (ch == ODSTEP) putchar(ch); else putchar(ch + 1); ch = getchar(); putchar(ch); mow mi Hal npx _ nj Ibm Programowanie z elementami algorytmiki, folia 49
50 Wersja skrócona: #include <ctype.h> char ch; while ((ch = getchar())!= \n ) if (isspace(ch)) putchar(ch); else putchar(ch + 1); putchar(ch); Rodzina ctype.h tolower() zamienia wielkie litery na małe; toupper() zamienia małe litery na duże. Programowanie z elementami algorytmiki, folia 50
51 Nazwa isalnum() isalpha() iscntrl() isdigit() isgraph() islower() isupper() Prawdziwa jeśli argument jest literą lub cyfrą literą znakiem sterującym cyfrą znakiem drukowanym małą literą dużą literą Operator warunkowy x = y < 0? -y : y; oznacza to samo, co if (y < 0) x = -y; else x = y; Programowanie z elementami algorytmiki, folia 51
52 #define POKRYCIE 18 int m_kw, puszki; printf("podaj liczbe m kw. do " "pomalowania:\n"); while (scanf("%d", &m_kw) == 1) puszki = m_kw / POKRYCIE; puszki += m_kw % POKRYCIE == 0? 0 : 1; printf("potrzeba %d %s " "farby.\n", puszki, puszki == 1? "puszki" : "puszek"); printf("podaj kolejno wartosc " "(q konczy program):\n"); Programowanie z elementami algorytmiki, folia 52
53 Instrukcja continue #define MIN 0.0f #define MAX 100.0f float wynik; float suma = 0.0f; int n = 0; float min = MAX; float max = MIN; printf("podaj wyniki:\n"); while (scanf("%f", &wynik) == 1) if (wynik < MIN wynik > MAX) printf("%0.1f jest " "nieprawidlowa " "wartoscia.\n", wynik); continue; Programowanie z elementami algorytmiki, folia 53
54 printf("przyjeto %0.1f:\n", wynik); min = wynik < min? wynik : min; max = wynik > max? wynik : max; suma += wynik; n++; if (n > 0) printf("srednia z %d wynikow " "wynosi %0.1f.\n", n, suma / n); printf("najnizszy = %0.1f, " "najwyzszy = %0.1f\n", min, max); else printf("nie podano zadnych " "prawidlowych wynikow.\n"); Programowanie z elementami algorytmiki, folia 54
55 Instrukcja break float dlug, szer; printf("podaj dlugosc " "prostokata:\n"); while (scanf("%f", &dlug) == 1) printf("dlugosc = %0.2f:\n", dlug); printf("podaj szerokosc " "prostokata:\n"); if (scanf("%f", &szer)!= 1) break; printf("szerokosc = %0.2f:\n", szer); printf("pole = %0.2f:\n", dlug * szer); printf("podaj dlugosc " "prostokata:\n"); Programowanie z elementami algorytmiki, folia 55
56 Instrukcja switch #include <ctype.h> char ch; int a_licz, e_licz, i_licz, o_licz, u_licz, y_licz; a_licz = e_licz = i_licz = o_licz = u_licz = y_licz = 0; printf("wpisz tekst; " "# konczy program.\n"); while ((ch = getchar())!= # ) ch = toupper(ch); switch (ch) case A : a_licz++; break; case E : e_licz++; Programowanie z elementami algorytmiki, folia 56
57 break; case I : i_licz++; break; case O : o_licz++; break; case U : u_licz++; break; case Y : y_licz++; break; default : break; printf("liczba samoglosek: " "A = %d, E = %d, I = %d, " "O = %d, U = %d, Y = %d\n", a_licz, e_licz, i_licz, o_licz, u_licz, y_licz); Programowanie z elementami algorytmiki, folia 57
58 Wstęp do funkcji double potega(double a, int b); double x, xpot; int n; printf("podaj liczbe oraz potege " "naturalna. Wpisz q aby " "zakonczyc program.\n"); while (scanf("%lf%d", &x, &n)==2) xpot = potega(x, n); printf("%.3g do potegi %d to " "%.5g\n", x, n, xpot); printf("podaj kolejna pare " "liczb lub wpisz q aby " "zakonczyc.\n"); Programowanie z elementami algorytmiki, folia 58
59 double potega(double a, int b) double pot = 1.0; int i; for (i = 1; i <= b; i++) pot *= a; return pot; Zadanie. Na podstawie zadanych wartości x i y należy obliczyć u = max(x + y, xy), v = max(1/2,u). Programowanie z elementami algorytmiki, folia 59
60 Pierwsze podejście float x, y, u, v; scanf("%f %f", &x, &y); if (x + y > x * y) u = x + y; else u = x * y; if (0.5 > u) v = 0.5; else v = u; printf("u = %f, v = %f", u, v); Programowanie z elementami algorytmiki, folia 60
61 Istnieja powtórzenia float x, y, u, v; float a, b, s; scanf("%f %f", &x, &y); a = x + y; b = x * y; if (a > b) s = a; else s = b; u = s; a = 0.5; b = u; if (a > b) s = a; else s = b; v = s; printf("u = %f, v = %f", u, v); Programowanie z elementami algorytmiki, folia 61
62 Jak ich uniknać? float max(float a, float b); float x, y, u, v; scanf("%f %f", &x, &y); u = max(x + y, x * y); v = max(0.5, u); printf("u = %f, v = %f", u, v); float max(float a, float b) float s; if (a > b) s = a; else s = b; return s; Programowanie z elementami algorytmiki, folia 62
63 Wersja kompakt float max(float, float); float x, y, u, v; scanf("%f %f", &x, &y); u = max(x + y, x * y); v = max(0.5, u); printf("u = %f, v = %f", u, v); float max(float a, float b) return a > b? a : b; Programowanie z elementami algorytmiki, folia 63
64 Największy wspólny dzielnik float nwd(int, int); int m, n, q; scanf("%d %d", &m, &n); q = nwd(m, n); printf("m = %d, n = %d, q = %d\n", m, n, q); float nwd(int a, int b) while (a!= b) if (a > b) a = a - b; else b = b - a; return a; Programowanie z elementami algorytmiki, folia 64
65 Można bez zwracania wartości... #define WIERSZE 5 void n_znak(char, int); int i; for (i = 1; i <= WIERSZE; i++) n_znak( #, i); n_znak( *, WIERSZE - i + 1); putchar( \n ); void n_znak(char ch, int n) int i; for (i = 1; i <= n; i++) putchar(ch); Programowanie z elementami algorytmiki, folia 65
66 Silnia wersja klasyczna long silnia(int); int num; scanf("%d", &num); printf("%d! = %ld\n", num, silnia(num)); long silnia(int n) long odp; for (odp = 1; n > 1; n--) odp *= n; return odp; Programowanie z elementami algorytmiki, folia 66
67 Silnia wersja rekurencyjna long silnia(int); int num; scanf("%d", &num); printf("%d! = %ld\n", num, silnia(num)); long silnia(int n) return n > 1? n * silnia(n - 1) : 1; Programowanie z elementami algorytmiki, folia 67
68 Zamiana wartości zmiennych void zamiana(int, int); int x = 5, y = 10; printf("x = %d, y = %d\n", x, y); zamiana(x, y); printf("x = %d, y = %d\n", x, y); void zamiana(int u, int v) int temp; temp = u; u = v; v = temp; x = 5, y = 10 x _ = 5, y = 10 Programowanie z elementami algorytmiki, folia 68
69 Wersja poprawiona void zamiana(int *, int *); int x = 5, y = 10; printf("x = %d, y = %d\n", x, y); zamiana(&x, &y); printf("x = %d, y = %d\n", x, y); void zamiana(int * u, int * v) int temp; temp = *u; *u = *v; *v = temp; x = 5, y = 10 x _ = 10, y = 5 Programowanie z elementami algorytmiki, folia 69
Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Funkcje i tablice. Elwira Wachowicz. 23 maja 2013
Funkcje i tablice Elwira Wachowicz elwira@ifd.uni.wroc.pl 23 maja 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Funkcje i tablice 23 maja 2013 1 / 22 Największy wspólny dzielnik: algorytm Euklidesa Problem:
Funkcje printf() i scanf() i operatory
Funkcje printf() i scanf() i operatory Elwira Wachowicz elwira@ifd.uni.wroc.pl 4 kwietnia 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Funkcje printf() i scanf() i operatory 4 kwietnia 2013 1 / 23 Łańcuch
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja
Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa
Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Instrukcje sterujące. Programowanie Proceduralne 1
Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Wstęp do programowania 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Podstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania
Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest
Język C część 2. Podejmowanie decyzji w programie. if else. switch
Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane
Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop
Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na
dr inż. Jarosław Forenc
Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?
Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja
Rok akademicki 2011/2012, Pracownia nr 9 2/24 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;
Rok akademicki 2014/2015, Pracownia nr 5 2/36 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2014/2015 Pracownia
Programowanie w elektronice: Podstawy C
Programowanie w elektronice: Podstawy C Projekt Matematyka dla Ciekawych Świata, Robert Ryszard Paciorek 2019-05-05 C / C++ są najpopularniejszymi językami kompilowanymi do kodu maszynowego
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.
Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Język C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą
wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
( wykł. dr Marek Piasecki )
INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Język C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Programowanie komputerowe. Zajęcia 3
Programowanie komputerowe Zajęcia 3 Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,
, Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
Język C, instrukcje sterujące (laboratorium)
Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe
Język C zajęcia nr 5
Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Instrukcje sterujące
Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:
TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Programowanie strukturalne. dr inż. Tadeusz Jeleniewski
Wykład 2 Wejście i wyjście - funkcje scanf i printf Operator przypisania prostego Operatory arytmetyczne Kolejność wykonywania operacji Operatory przypisania arytmetycznego Operatory inkrementacji/dekrementacji
Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,
WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Języki i metody programowania. Omówienie języków C, C++ i Java
Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC
Priorytety operatorów. Łączność operatorów. Operatory - podsumowanie. Sterowanie wykonaniem programu
Priorytety operatorów Łączność operatorów Mówią o tym, jaka jest kolejność aplikowania operatorów w wyrażeniu/przypisaniu Mówią o tym, jaka jest wiemy np. z matematyki, że mnożenie jest silniejsze (ma
Programowanie Proceduralne
Programowanie Proceduralne Unie, typdef, opeartory bitowe, operator przecinkowy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Definicja Unia (ang. union) jest typem,
Elementarne wiadomości o języku C
Elementarne wiadomości o języku C 1. Wprowadzenie Oprac.: Zbigniew Rudnicki Pierwszą wersję języka C opracował Dennis Ritchie w roku 1972 (wykorzystując niektóre rozwiazania z opracowanych w latach1967-1970
Podstawy programowania 1
Podstawy programowania 1 Krzysztof Grudzień kgrudzi@kis.p.lodz.pl Wykład nr 2 1 Plan spotkań Wskaźniki Tablice jednowymiarowe & wska źniki. Programowanie w C. Wikibooks 2 Co to jest wskaźnik?? Wskaźnik
Warszawa dnia 2 stycznia 2011 r. Zbiór zadań z programowania w języku C do samodzielnego wykonania
Warszawa dnia 2 stycznia 2011 r. Przedmioty: Wstęp do programowania Wstęp do informatyki Zbiór zadań z programowania w języku C do samodzielnego wykonania Prowadzący; dr inż. Stanisław Wszelak Ćwiczenie
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Język C, tablice i funkcje (laboratorium)
Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009
Informatyka 1 zajęcia nr 11 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Łańcuchy znaków 2. Wprowadzanie i wyprowadzanie znaków w i łańcuchów
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Wstęp do wskaźników w języku ANSI C
Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,
Typy danych i formatowanie
Typy danych i formatowanie Elwira Wachowicz elwira@ifd.uni.wroc.pl 28 marca 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 1 / 16 Sªowa kluczowe typów danych Pierwotne
Wykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
IX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
Programowanie komputerowe. Zajęcia 2
Programowanie komputerowe Zajęcia 2 Funkcje Funkcje są podstawowym składnikiem programów w C++. Każda funkcja jest fragmentem programu, który można używać wielokrotnie i niezależnie od pozostałych funkcji.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica