typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

Wielkość: px
Rozpocząć pokaz od strony:

Download "typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }"

Transkrypt

1 Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 2. Funkcje, argumenty funkcji, wskaźniki, adresy. Pętle. Operatory inkrementacji, dekrementacji, przypisania. Instrukcje goto, continue, break. Operacje na plikach. Projekt nr Podstawowe pojęcia: Funkcja w C (czasami nazywana podprogramem, rzadziej procedurą) to wydzielona część programu, która przetwarza argumenty i ewentualnie zwraca wartość, która następnie może być wykorzystana, jako argument w innych działaniach lub funkcjach. Funkcja może posiadać własne zmienne lokalne. Funkcje w C mogą zwracać dla tych samych argumentów różne wartości. Definicja funkcji: typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) ciało(treść) funkcji return Val; //zwracana wartość o Funkcja przed użyciem musi być zadeklarowana/zdefiniowana; o Typ zmiennej Val musi być zgodny z typ_zwracanej_wartości; o Typy argumentów formalnych w definicji i deklaracji funkcji muszą być zgodne z typami argumentów aktualnych (w miejscu wywołania funkcji); o Typ void przekazywany jako argument funkcji oznacza, że funkcja nie pobiera żadnych argumentów. Pojęcia: a. Parametr (argument formalny, parametr formalny) to zmienna z listy parametrów w definicji funkcji) b. Argument (argument aktualny, parametr aktualny) to zmienna (wartość) podawana podczas wywołania funkcji to, co podstawia użytkownik c. Return to słowo kluczowe języka C. W przypadku funkcji służy do: Przerwania funkcji (i przejścia do następnej instrukcji w funkcji wywołującej) Zwrócenia wartości 2. Przykład: funkcja power podnosi liczbę rzeczywistą x do potęgi całkowitej n. #include <stdio.h> double power(double base, int n); //deklaracja funkcji (prototyp) int main() int pow = 15; double a = 35.0; double res = 0.0; res = power(a, pow); //wywołanie funkcji printf("a = %le pow = %d a**pow = %le\n", a, pow, res); return 0; double power(double base, int n) //definicja funkcji int i; double res = 1.0; for (i = 1; i <= n; i++) res = res * base; return res; Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 1

2 3. Funkcja nie musi zwracać żadnej wartości. void nazwa_funkcji(lista deklaracji argumentów) // instrukcje return; //nie koniecznie Należy jednak pamiętać, że może zdarzyć się taka sytuacja: void nazwa_funkcji(lista deklaracji argumentów) // instrukcje if (wyrażenie_logiczne) return; // dalszy ciąg instrukcji return; //nie koniecznie 4. Przekazywanie argumentów do funkcji przez wartość. Przekazywanie argumentów przez wartość - wywołując funkcję, wartości argumentów, z którymi ją wywołujemy, są kopiowane do funkcji. Oznacza to, że wewnątrz funkcji operujemy tylko na ich kopiach (tworzonych na stosie). Po zakończeniu działania funkcji, kopie te zostają zniszczone (usunięte ze stosu), a wszystkie zmiany wykonane na wartościach kopii przekazanych argumentów stracone. Przykład. Napisz program obliczający wartości kilku wyrażeń arytmetycznych dla danej wartości y. 1 = = sin () = = sin +1+2sin ()+3sin Jeżeli przyjmiemy, że 1 ()= To powyższe równania można zapisać krócej =() =(6.4+)() =( )sin =(sin) Przyjmując, że zmienna i jest typu int, dodatkowo policz wartość wyrażenia: =3.2() #include <stdio.h> #include <stdlib.h> #include <math.h> int main() int i; double y, al, be, ga, de, ep; Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 2

3 double ff(double); printf("podaj liczbe rzeczywista "); scanf("%lf", &y); printf("podaj liczbe calkowita "); scanf("%d", &i); al = ff(y); be = (6.4 + y) * ff(y); ga = sin(y) * ff(y*y); de = ff(sin(y)); ep = ff((double)i)*3.2; printf("wyniki: %lf %lf %lf %lf %lf\n", al, be, ga, de, ep); // system("pause"); double ff(double x) double gg; gg = 1 / (x*x + sqrt(1 + 2 * x + 3 * x*x)); return gg; 5. Przekazywanie argumentów do funkcji przez wskaźnik. Wskaźnik - to specjalny rodzaj zmiennej, w której zapisany jest adres w pamięci komputera. Oznacza to, że wskaźnik wskazuje miejsce, gdzie zapisana jest jakaś informacja (np. zmienna typu liczbowego czy struktura). Warto też przytoczyć w tym miejscu definicję adresu pamięci - możemy powiedzieć, że adres to pewna liczba całkowita, jednoznacznie definiująca położenie pewnego obiektu w pamięci komputera. a) Przykład operacji pobrania adresu: double a=1; //definicja zmiennej typu double rezerwacja 8 bajtów pamięci double *b; /*definicja wskaźnika do zmiennej typu double; rezerwacja 4 B; ten wskaźnik teraz nie jest ustawiony */ b = &a; /*przypisanie zmiennej typu double * (wskaźnik do typu double) adresu zmiennej a; teraz zmienna b jest ustawiona*/ printf("rozmiar a = %d\n", sizeof(a)); // 8B printf("rozmiar b = %d\n", sizeof(b)); // 4B dla systemów 32-bitowych printf("a=%lf b=%d *b=%lf\n", a,b,*b); b) Przykład operacji dostępu do danych po adresie (operator wskazania pośredniego): double a = 3.14; double *b = NULL; //b = 0x double c = 0.0; /*inicjalizacja c = 0.0*/ b = &a; /*b = 0x0064ff12*/ c = *b; /* c = 3.14; *b to jest operator wskazania pośredniego*/ *b += a; /* *b L-value; *b = *b+a; Pod adresem b teraz jest zmienna o wartości 6.28; */ c = *b; /* c = 6.28;*/ printf("a = %le\n", a); /* wydruk: a = e+00;*/ Przykład umożliwia zmianę wartości zmiennej a poprzez operacje wykonane na jej adresie w pamięci. Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 3

4 Przekazywanie argumentów przez wskaźnik polega na przekazaniu adresu (np. zmiennej), a nie samej wartości. Dzięki temu funkcja może wykonywać operacje na oryginalnym obiekcie. #include <stdio.h> #include <stdlib.h> #include <math.h> int main() int i; double y, al; double *z; double ff(double *); printf("podaj liczbe rzeczywista "); scanf("%lf", &y); printf("podaj liczbe calkowita "); scanf("%d", &i); z = &y; printf("z = %p\n", z); al = ff(&y); //lub al = ff(z); printf("wyniki: %lf\n", al); printf("y=%lf\n", y); // system("pause"); double ff(double *x) double gg; printf("x = %p\n", x); gg = 1 / (*x * *x + sqrt(1 + 2 * *x + 3 * *x * *x)); *x = 12; //zmiana wartości y return gg; 6. Przekazywanie argumentów do funkcji przez referencję. Jest to niejawny sposób przekazywania zmiennych poprzez wskaźnik. Różni się formą zapisu. O referencji można myśleć jako o innej nazwie dla wskazywanego przez referencję obiektu. o przy definicji trzeba jednocześnie dokonać inicjalizacji, nie ma pustych referencji; o po inicjalizacji nie można już zmieniać celu referencji. Uwaga: w środowisku VS we właściwościach projektu ustawić opcje kompilacji: C/C++\Zaawansowane\Kompiluj jako: Domyślny void fun_3(int &k); int main() int i = 1; int &r = i; fun_3(i); printf("i=%d\n", i); r = 20; printf("i=%d\n", i); void fun_3(int &k) k = 10 * k; 7. Sposoby przekazywania argumentów do funkcji podsumowanie: Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 4

5 8. Wskaźniki typ void * - definiowania wskaźników na dane dowolnego typu. Nie ma zmiennych typu void, można jednak tworzyć wskaźniki typu void *. Ze względu na zgodność z językiem C, wskaźnikom takim można przypisać adres dowolnego obiektu (lub wartość dowolnego wskaźnika), i zrzutować na dowolny inny typ wskaźnika, obchodząc tym samym kontrolę typów wykonywaną przez kompilator. int n = 10; void *p = &n; int *pn = (int *)p; printf("n = %d\n", *pn); Zdefiniowano wskaźnik *p i przypisano mu adres zmiennej całkowitej n. Ponieważ kompilator nie ma żadnej informacji o typie danych wskazywanych przez p nie wolno bezpośrednio wyłuskiwać danych wskazanych przez p. Aby uzyskać dostęp do danych, należy jawnie wskazać na ich typ. 9. Napisz program, który dla podanego promienia, w funkcji void kolo ( ) obliczy pole i obwód koła. Prototyp funkcji: void kolo(double r, double *w1, double *w2); 10. Napisz i przetestuj funkcję: void zamien(int *x, int *y); zamieniającą wartości dwóch zmiennych całkowitych (posługując się przekazywaniem przez zmienną). 11. Napisz funkcję, która policzy: +!" + #1 (1) 2+ =!" $+5 (2) 1 2 +!" + $1 #+5 (3) oraz poda numer wzoru, wg którego wartość z została policzona. 12. Napisz program, który przy pomocy rekurencji wyznaczy sumę n kolejnych liczb naturalnych (liczba n podawana przez użytkownika; suma obliczana w dedykowanej funkcji). Korzystając z dokumentacji MSDN zapoznaj się z pojęciem rekurencji: Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 5

6 13. Przeanalizuj w trybie pracy krokowej następujące przykłady do wykładów: W językach imperatywnych instrukcje wykonywane są sekwencyjnie - jedna po drugiej. W celu zmiany takiego porządku stosuje się instrukcje sterujące. Do takich instrukcji zaliczamy instrukcje warunkowe (lab 1) czy pętle. W języku C wyróżniamy trzy podstawowe pętle: i. for - pętla składająca się z trzech wyrażeń: warunku początkowego (zwykle inicjalizacji zmiennej będącej licznikiem wykonywanych iteracji), warunku stopu (określającego kiedy nasza pętla ma się zatrzymać), wyrażenie wykonywane po każdej iteracji (zwykle inkrementacja licznika); ii. while - pętla przyjmująca jedno wyrażenie wykonywane zawsze przed instrukcjami w ciele pętli. Jeśli wyrażenie zwraca 0 (logiczny fałsz), pętla jest przerywana; iii. do-while - pętla podobna do while z tą różnicą, że wpierw wykonywane są instrukcje podane w ciele pętli, a następnie wyrażenie warunkowe. Pętla ta gwarantuje, że instrukcje wykonają się co najmniej jeden raz. Zapoznaj się ze strukturą i sposobem użycia wyrażeń w dokumentacji MSDN ( 15. Język C dostarcza skróconych zapisów przypisania łączonego z daną operacją arytmetyczną. Poniższa tabela przedstawia zapisy skrócone i ich pełne odpowiedniki. Lp. Zapis skrócony Zapis pełny 1. x += 2; x = x + 2; 2. x -= 2; x = x - 2; 3. x *= 2; x = x * 2; 4. x /= 2; x = x / 2; 5. x++; x = x + 1; 6. ++x; x = x + 1; 7. x--; x = x - 1; 8. --x; x = x - 1; Zapisy 5. i 6. nazywamy inkrementacją, natomiast 7. i 8. dekrementacją. Przetestuj poniższy kod - czym różnią się zapisy ? int a, b, c, d; a = 0; b = a++; c = 0; d = ++c; printf("a = %i\n", a); printf("b = %i\n", b); printf("c = %i\n", c); printf("d = %i\n", d); 16. Utwórz nowy projekt. Napisz program, który wypisuje określoną ilość razy tekst "Hello world!". Przed wykonaniem pętli poproś o podanie ilości powtórzeń. 17. Napisz program, który oblicza silnię dla podanego n. Algorytm zaimplementuj tworząc nową funkcję z pętlą. Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 6

7 18. Do instrukcji sterujących zaliczamy również poniższe polecenia: i. break - pozwala na opuszczenie wykonywania pętli w dowolnym momencie; ii. continue - powoduje przejście do kolejnej iteracji pętli; iii. goto etykieta - powoduje przejście do miejsca oznaczonego etykietą. 19. Napisz nieskończoną pętlę wczytującą wprowadzane z klawiatury przez użytkownika znaki do momentu podania znaku 'e'. Do przerwania wykorzystaj instrukcję break. 20. Edytuj powyższy program tak, aby zliczał wystąpienia liter: a, b, c - każdej osobno oraz wszystkich pozostałych znaków razem - do momentu podania znaku 'e'. Skorzystaj z instrukcji continue i break. 21. Edytuj powyższy program tak, aby w przypadku wystąpienia litery 'c' była ona zarówno zliczana jako litera 'c' jak i wliczana do sumarycznej liczby wystąpień pozostałych znaków. Skorzystaj z instrukcji goto. 22. Funkcje operacji na plikach dostarcza biblioteka stdio.h. Wyróżniamy dwie metody dostępu do plików: niskopoziomową (binarną, np. open()) i wysokopoziomową (tekstową, np. fopen()). Aby otrzymać dostęp do pliku musimy zadeklarować pusty wskaźnik na obiekt typu FILE. Następnie funkcją fopen(filename, mode), gdzie filename jest ścieżką dostępu (względną lub bezwzględną) wraz z nazwą pliku, natomiast mode określa nam uprawnienia, otrzymujemy dostęp do naszego pliku. Wyróżniamy następujące podstawowe metody dostępu (mode) do pliku: iv. "r" - otwiera na czytanie; plik musi istnieć; v. "w" - otwiera na pisanie; jeśli plik istnieje to jego zawartość zostaje zniszczona; vi. "a" - otwiera na pisanie; jeśli plik istnieje to zawartość jest dopisywana do końca pliku; jeśli plik nie istnieje to zostaje utworzony; vii. "r+" - otwiera na czytanie i pisanie; plik musi istnieć; viii. "w+" - otwiera na czytanie i pisanie; jeśli plik istnieje to jego zawartość zostaje zniszczona; ix. "a+" - otwiera na czytanie i pisanie; jeśli plik istnieje to zawartość jest dopisywana do końca pliku; jeśli plik nie istnieje to zostaje utworzony. Do parametru mode można również dołączyć opcje określające, czy mamy do czynienia z plikiem zwykłym (t) czy binarnym (b). Domyślnie wybierany jest tryb dla plików zwykłych (tekstowych). Więcej informacji nt. metod dostępu na wykładzie i w dokumentacji MSDN ( 23. Operacje odczytu i zapisu do pliku są bardzo podobne do znanych już nam operacji printf i scanf, z tą różnicą, że jako pierwszy argument podajemy wskaźnik do pliku. Do odczytu możemy wykorzystać funkcję fscanf, a do zapisu fprintf. Po każdej zakończonej pracy z plikiem należy go zamknąć poleceniem: fclose. Opis wymienionych i dodatkowych funkcji - na wykładzie i w dokumentacji MSDN. 24. Utwórz nowy projekt. Przekopiuj i przeanalizuj poniższy kod: Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 7

8 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) FILE *fp = NULL; fp = fopen("lab4.txt", "w"); if (fp == NULL) printf("nie mogę otworzyć pliku lab4.txt do zapisu!\n"); getchar(); exit(1); char tekst[] = "Hello world w pliku :)"; fprintf(fp, "%s", tekst); fclose(fp); fp = NULL; getchar(); return 0; 25. Utwórz plik tekstowy z wiadomością: "I <3 programming". Napisz program, który będzie odczytywał wiadomość z pliku po jednym znaku i wyświetlał ją na ekranie. Skorzystaj z pętli while. Podpowiedź: sprawdź jakie wartości zwraca funkcja fscanf w przypadku, gdy dojdzie do końca pliku. 26. Utwórz nowy projekt. W ustawieniach projektu (Projekt/nazwa_projektu Właściwości) wpisz argumenty przekazywane do programu wraz z jego wywołaniem w trybie Debug (tak jak na poniższym zrzucie ekranu). Przeanalizuj wywołanie poniższego kodu: #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) int i; printf("liczba argumentow: %i\n", argc); for (i = 0; i < argc; i++) Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 8

9 printf("%s\n", argv[i]); getchar(); return 0; 27. Tablicowanie funkcji w przedziale [a,b] z krokiem dx. Policzyć wartości funkcji 1 ()= Dla x zmieniającego od a do b z krokiem dx. Wartości funkcji () liczone w funkcji double ff(double x) Wyniki (, ()) wyświetl na ekranie i zapisz do pliku. fprintf(fw, "\t%10.2lf\t\t%15.4lf\n", x, y); printf("\t%10.2lf\t\t%15.4lf\n", x, y); 28. Tablicowanie funkcji w przedziale [a,b] z krokiem dx. Do wyznaczenia wartości funkcji w danym punkcie wykorzystaj rozwinięcie funkcji w szereg Taylora. Dla sprawdzenia poprawności rozwiązania wypisz wartość ścisłą funkcji w danym punkcie. Policzyć dla dowolnego argumentu wartość funkcji =& ' korzystając z jej rozwinięcia w szereg Taylora & ' =1+ 1! + 2! +) +, < < 3! Obliczenie sumy wykonaj z zadaną dokładnością. Sumę nieskończoną zastępujemy sumą skończoną: W której n przyjmujemy tak, by 2 & ' 0 1! ! 5< dla dowolnie małego. Natomiast dobierzemy tak, by < gdzie, 8 dokładna wartość funkcji & ', 9 przybliżona wartość funkcji & ', żądana dokładność. Zależność między i można wyznaczyć ze znanej postaci reszty szeregu Taylora. #pragma warning (disable: 4996) #include <stdio.h> #include <math.h> #include <stdlib.h> FILE *fw; double sz(double x, double delta); int main() /* Tablicowanie funkcji (szereg potegowy) */ double a, b, dx, x, y, delta, z; printf("podaj przedzial [a,b], krok dx oraz dokladnosc: "); if (scanf("%lf %lf %lf %lf", &a, &b, &dx, &delta)!= 4) printf("blad danych\n"); system("pause"); exit(1); Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 9

10 if (!(fw = fopen("wyniki.txt", "w"))) printf("blad otwarcia zbioru\n"); exit(2); for (x = a; x <= b + 0.5*dx; x += dx) y = sz(x, delta); z = exp(x); fprintf(fw, "\t%10.2lf\t\t%15.4le\t\t%15.4le\n", x, y, z); fclose(fw); exit(0); system("pause"); double sz(double x, double delta) /* Obliczanie sumy szeregu potegowego */ double d = 1, s = 1; int n = 1; do d *= x / n; s += d; n++; while (fabs(d) >= delta); return s; 29. PROJEKT NR1. Policz wartości funkcji =() we wszystkich punktach podziału na 6 części przedziału [",;]. Funkcja dana jest w postaci rozwinięcia w szereg potęgowy i w postaci wzoru analitycznego. Obliczanie sumy szeregu wykonaj z dokładnością. Algorytm obliczania sumy szeregu zapisz w oddzielnej funkcji. Uzupełnij funkcję obliczającą sumę szeregu tak, by sumowanych było co najmniej = wyrazów szeregu. Oznacza to, że przerwanie sumowania może nastąpić również wtedy, gdy nie została osiągnięta żądana dokładność. Informacja o tym, czy została osiągnięta dokładność czy też nie winna być znana w funkcji main(). Uzupełnij funkcję obliczającą sumę szeregu tak, by w funkcji main() znana była dodatkowo liczba sumowanych wyrazów szeregu. Wyniki wyświetl na ekranie i zapisz do pliku. Wyniki przedstaw w następującym układzie: x f_szereg(x) f_ścisłe(x) liczba wyrazów szeregu warunek stopu 30. Przeanalizuj w trybie pracy krokowej następujące przykłady do wykładu 4: Wszystkie przykłady dostępne pod adresem: *Treści oznaczone kursywą pochodzą z różnych źródeł internetowych. Wydział Fizyki, Matematyki i Informatyki Politechniki Krakowskiej 10

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 4. Podstawowe biblioteki. Pętle. Operatory inkrementacji, dekrementacji, przypisania. Instrukcje goto, continue, break. Operacje na plikach.

Bardziej szczegółowo

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość } Języki i paradygmaty programowania studia stacjonarne 208/9 Lab 3. Funkcje, argumenty funkcji, wskaźniki, adresy.. Podstawowe pojęcia: Funkcja w C (czasami nazywana podprogramem, rzadziej procedurą) to

Bardziej szczegółowo

Funkcja, argumenty funkcji

Funkcja, argumenty funkcji Funkcja, argumenty funkcji Funkcja to jest część programu, która ma swoje imię, może być wywołaną z drugiej części programu tyle razy, ile to jest koniecznie. Przykład: funkcja power podnosi liczbę rzeczywistą

Bardziej szczegółowo

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,

Bardziej szczegółowo

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

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

Bardziej szczegółowo

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

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

Bardziej szczegółowo

IX. Wskaźniki.(3 godz.)

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

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

int f(); //f - funkcja zwracająca wartość typu int int (*f)(); //f - wskaźnik do funkcji zwracającej wartość typu int

int f(); //f - funkcja zwracająca wartość typu int int (*f)(); //f - wskaźnik do funkcji zwracającej wartość typu int Języki i paradygmaty programowania 1 studia niestacjonarne 2018/19 Lab 5. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. Struktury danych: kolejka

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

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

Bardziej szczegółowo

4. Tablica dwuwymiarowa to jednowymiarowa tablica wskaźników do jednowymiarowych tablic danego typu.

4. Tablica dwuwymiarowa to jednowymiarowa tablica wskaźników do jednowymiarowych tablic danego typu. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 6. Tablice znakowe o dwóch indeksach, przekazywanie tablic do funkcji cd., dynamiczna alokacja pamięci, funkcje przetwarzające ciągi

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

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

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium, EE1-DI)

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.

Bardziej szczegółowo

Zmienne, stałe i operatory

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

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

Bardziej szczegółowo

Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe.

Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe. 1. Wektory i macierze: a. Przykład

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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,

Bardziej szczegółowo

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

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

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium)

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.

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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,

Bardziej szczegółowo

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie. Funkcje Deklaracja funkcji typ funkcji identyfikator_funkcji(lista parametrów formalnych); Typ funkcji określa typ wartości zwracanej przez funkcję (typ zdefiniowany pierwotnie jak int, typ zdefiniowany

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 3 - sem.iii. Dr inż. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 3 - sem.iii. Dr inż. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 3 - sem.iii Dr inż. M. Czyżak Przykład. (do wykonania w trakcie wykładu) Napisać i wywołać w main() następujące funkcje: a) funkcję obliczającą

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Część 4 życie programu

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ęść

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo

Język C zajęcia nr 5

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

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

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 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

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

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ę

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Pracownia nr 7 (10/20.04.2015) dr inż. Jarosław Forenc Rok

Bardziej szczegółowo

5 Przygotował: mgr inż. Maciej Lasota

5 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 5 1/6 Język C Instrukcja laboratoryjna Temat: Funkcje, parametry linii poleceń, typ wyliczeniowy. 5 Przygotował: mgr inż. Maciej Lasota 1) Parametry linii poleceń. Język C oprócz wprowadzania

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

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

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h> PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki Pliki TEKSTOWE zawierające ciągi liczb: TXT- 1: Kalkulator sumowanie dwóch liczb zapisanych w pliku tekstowym ( fopen, fscanf, fprintf,

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

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ą

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Instrukcje sterujące. Programowanie Proceduralne 1

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 +

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 3

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

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

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

Bardziej szczegółowo

Podstawy Programowania C++

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:

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

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

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

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

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

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

Bardziej szczegółowo

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,

Bardziej szczegółowo

do instrukcja while (wyrażenie);

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

Bardziej szczegółowo

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 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,

Bardziej szczegółowo

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Służą do łatwiejszej kontroli nad stałymi Ustawianie parametrów o ściśle określonym zbiorze wartości

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

Bardziej szczegółowo

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt

Bardziej szczegółowo

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle! Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

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:

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

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/ 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

Bardziej szczegółowo

7 Przygotował: mgr inż. Maciej Lasota

7 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 7 1/5 Język C Instrukcja laboratoryjna Temat: Operacje na plikach. 7 Przygotował: mgr inż. Maciej Lasota 1) Pliki. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych),

Bardziej szczegółowo

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 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()

Bardziej szczegółowo

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś

Bardziej szczegółowo

Podział programu na moduły

Podział programu na moduły Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

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,

Bardziej szczegółowo

Tablice, funkcje, wskaźniki - wprowadzenie

Tablice, funkcje, wskaźniki - wprowadzenie Tablice, funkcje, wskaźniki - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 4 19 listopada 2018 (Wykład 4) Tablice, funkcje, wskaźniki - wprowadzenie 19 listopada 2018 1 / 37 Outline 1 Tablice

Bardziej szczegółowo

Podstawy programowania w języku C

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

Bardziej szczegółowo

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1 Funkcje czyli jak programować proceduralne. Programowanie Proceduralne 1 Struktura programu w C # include / Dyrektywy p r e p r o c e s o r a / #define PI 3.1415 float g =. 5 ; / Zmienne

Bardziej szczegółowo

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std; Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu

Bardziej szczegółowo

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez

Bardziej szczegółowo

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. 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,

Bardziej szczegółowo

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 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 ======================================================================================================

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo