dr inż. Jarosław Forenc

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

Download "dr inż. Jarosław Forenc"

Transkrypt

1 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 1 ( )

2 Rok akademicki 2014/2015, Wykład nr 1 2/66 Dane podstawowe Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok WE j.forenc@pb.edu.pl tel. (0-85) Dydaktyka - slajdy prezentowane na wykładzie konsultacje: poniedziałek, godz. 08:30-10:00, WE-204 piątek, godz. 13:00-14:30, WE-204 sobota, godz. 15:05-16:35, WE-204 (zaoczne)

3 Rok akademicki 2014/2015, Wykład nr 1 3/66 Przedmioty Informatyka 1 i Informatyka 2 Informatyka 1 semestr II wykład: 15 godz. (J. Forenc) pracownia specjalistyczna: 30 godz. (A. Choroszucho, J. Forenc) ECTS: 4 pkt. kod przedmiotu: ES1C Informatyka 2 semestr III wykład: 15 godz. (J. Forenc) pracownia specjalistyczna: 30 godz. (J. Forenc) ECTS: 3 pkt. kod przedmiotu: ES1C

4 Rok akademicki 2014/2015, Wykład nr 1 4/66 Program wykładu (1/2) 1. Operacje wejścia-wyjścia w języku C: znakowe, łańcuchowe, sformatowane, rekordowe. Strumienie. Pliki tekstowe i binarne. 2. Wskaźniki, operacje na wskaźnikach. Dynamiczny przydział pamięci w języku C. 3. Programowanie obiektowe w języku C++: operacje wejściawyjścia, klasy i obiekty, dane i funkcje składowe, prawa dostępu do składników klasy, definiowanie funkcji składowych klasy, konstruktory i destruktory. 4. Programowanie obiektowe w języku C++: funkcje zaprzyjaźnione, przeładowanie operatorów, dziedziczenie, funkcje wirtualne. 5. Sprawdzian nr 1.

5 Rok akademicki 2014/2015, Wykład nr 1 5/66 Program wykładu (2/2) 6. System operacyjny. Funkcje i zadania systemu operacyjnego. Zarządzanie procesami, pamięcią i dyskami. 7. Sieci komputerowe. Technologie, protokoły, urządzenia. Zasada działania sieci Internet. 8. Sprawdzian nr 2.

6 Rok akademicki 2014/2015, Wykład nr 1 6/66 Literatura (1/2) 1. S. Prata: Język C. Szkoła programowania. Wydanie V. Helion, Gliwice, B.W. Kernighan, D.M. Ritchie: Język ANSI C. Programowanie. Wydanie II. Helion, Gliwice, R. Reese: Wskaźniki w języku C. Przewodnik. Helion, Gliwice, J. Grębosz: Symfonia C++ standard: programowanie w języku C++ orientowane obiektowo. Tom 1 i 2. Wydawnictwo Edition 2000, Kraków, B. Stroustrup: Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie II poprawione. Helion, Gliwice, B. Eckel: Thinking in C++. Edycja polska. Helion, Gliwice, 2002.

7 Rok akademicki 2014/2015, Wykład nr 1 7/66 Literatura (2/2) 7. A.S. Tanenbaum: Systemy operacyjne. Wydanie III. Helion, Gliwice, W. Stallings: Systemy operacyjne. Struktura i zasady budowy. Mikom, Warszawa, A.S. Tanenbaum, D.J. Wetherall: Sieci komputerowe. Wydanie V. Helion, Gliwice, K. Krysiak: Sieci komputerowe. Kompendium. Wydanie II. Helion, Gliwice, 2005.

8 Rok akademicki 2014/2015, Wykład nr 1 8/66 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę dostateczny (3): podaje definicję i wymienia podstawowe zadania systemu operacyjnego opisuje wybraną metodę szeregowania żądań dostępu do dysku oraz wybraną metodę przydziału pamięci dyskowej wyjaśnia podstawowe pojęcia związane z sieciami komputerowymi charakteryzuje wybrane media transmisyjne i urządzenia sieciowe

9 Rok akademicki 2014/2015, Wykład nr 1 9/66 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): podaje strukturę dysku logicznego w wybranym systemie plików (FAT, NTFS, ext) wyjaśnia pojęcia stronicowania i segmentacji pamięci oraz opisuje zasadę działania pamięci wirtualnej charakteryzuje podstawowe protokoły sieciowe oraz topologie sieci komputerowych

10 Rok akademicki 2014/2015, Wykład nr 1 10/66 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): opisuje sposób przechowywania informacji o położeniu pliku na dysku w wybranym systemie plików (FAT, NTFS, ext) opisuje modele ISO/OSI i TCP/IP stosowane w sieciach komputerowych

11 Rok akademicki 2014/2015, Wykład nr 1 11/66 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: pisze i uruchamia programy zorientowane obiektowo stosując konstruktory, destruktory oraz deklaracje przyjaźni Student, który zalicza na ocenę dostateczny (3): wyjaśnia podstawowe pojęcia związane z programowaniem obiektowym charakteryzuje strumienie i operatory odpowiadające za wczytywanie i wyświetlanie danych w języku C++ oraz wyjaśnia zasadę działania manipulatorów sterujących formatem wejścia-wyjścia opisuje definicję i składniki klasy oraz prawa dostępu do składników klasy; podaje przykładową definicję klasy podaje przeznaczenie oraz sposób definiowania konstruktorów i destruktorów; wyjaśnia co to są i kiedy są stosowane funkcje zaprzyjaźnione z klasą

12 Rok akademicki 2014/2015, Wykład nr 1 12/66 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: pisze i uruchamia programy zorientowane obiektowo stosując konstruktory, destruktory oraz deklaracje przyjaźni Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): wyjaśnia na czym polega przeładowanie/przeciążenie nazwy funkcji i kiedy jest stosowane w definicji klasy opisuje rolę wskaźnika this w funkcjach składowych klasy charakteryzuje operatory języka C++ przeznaczone do dynamicznego przydziału i zwalniania pamięci

13 Rok akademicki 2014/2015, Wykład nr 1 13/66 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: pisze i uruchamia programy zorientowane obiektowo stosując konstruktory, destruktory oraz deklaracje przyjaźni Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): charakteryzuje konstruktory kopiujące i domniemane, wyjaśnia kiedy są wywoływane opisuje zastosowanie dziedziczenia i funkcji wirtualnych w programowaniu obiektowym

14 Rok akademicki 2014/2015, Wykład nr 1 14/66 Zaliczenie wykładu - efekty kształcenia (EK3) Student, który zaliczył przedmiot: tworzy w programach zorientowanych obiektowo funkcje przeładowujące operatory Student, który zalicza na ocenę dostateczny (3): opisuje strukturę funkcji przeładowującej operator, podaje przykład takiej funkcji wyjaśnia różnice w definicji funkcji przeładowującej operator, w przypadku, gdy jest ona funkcją składową klasy i funkcją globalną

15 Rok akademicki 2014/2015, Wykład nr 1 15/66 Zaliczenie wykładu - efekty kształcenia (EK3) Student, który zaliczył przedmiot: tworzy w programach zorientowanych obiektowo funkcje przeładowujące operatory Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): charakteryzuje funkcje przeładowujące operatory jednoi dwuargumentowe charakteryzuje funkcje przeładowujące operatory: << i >> Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): wyjaśnia kiedy konieczne jest przeładowanie operatora przypisania (=)

16 Rok akademicki 2014/2015, Wykład nr 1 16/66 Zaliczenie wykładu Dwa sprawdziany pisemne: sprawdzian 1: (czwartek), godz. 12:15-13:00, WE-Aula III sprawdzian 2: (czwartek), godz. 13:15-14:00, WE-Aula III poprawa: termin do ustalenia (sesja egzaminacyjna) Ocena końcowa jest średnią arytmetyczną trzech ocen za trzy EK: ocena punkty średnia ocena końcowa 5 5,0 4,75-5, ,8 4,25-4,74 4,5 4,5 4,5 3,75-4, ,0 3,25-3,74 3,5 4-3,8 3,00-3,24 3 3,5 3,5 3 3,0 2 2,0

17 Rok akademicki 2014/2015, Wykład nr 1 17/66 Terminy zajęć Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr (sprawdzian nr 1) Wykład nr Wykład nr Wykład nr (1h, 13:15-14:00, sprawdzian nr 2)

18 Rok akademicki 2014/2015, Wykład nr 1 18/66 Plan wykładu nr 1 Operacje wejścia-wyjścia w języku C Strumienie Operacje na plikach otwarcie pliku zamknięcie pliku Typy operacji wejścia-wyjścia znakowe łańcuchowe sformatowane rekordowe (blokowe)

19 Rok akademicki 2014/2015, Wykład nr 1 19/66 Operacje wejścia-wyjścia wyjścia w języku C Operacje wejścia-wyjścia nie są elementami języka C Zostały zrealizowane jako funkcje zewnętrzne, znajdujące się w bibliotekach dostarczanych wraz z kompilatorem Standardowe wejście-wyjście (strumieniowe) plik nagłówkowy stdio.h duża liczba funkcji, proste w użyciu ukrywa przed programistą szczegóły wykonywanych operacji Systemowe wejście-wyjście (deskryptorowe, niskopoziomowe) plik nagłówkowy io.h mniejsza liczba funkcji programista sam obsługuje szczegóły wykonywanych operacji funkcje bardziej zbliżone do systemu operacyjnego - działają szybciej

20 Rok akademicki 2014/2015, Wykład nr 1 20/66 Typy standardowych operacji wejścia-wyjściawyjścia znakowe getc() - putc() getchar() - putchar() fgetc() - fputc() ungetc() sformatowane scanf() - printf() fscanf() - fprintf() sscanf() - sprintf() łańcuchowe gets() - puts() fgets() - fputs() rekordowe (blokowe) fread() - fwrite() fgetpos() - fsetpos() fseek() ftell() rewind()

21 Rok akademicki 2014/2015, Wykład nr 1 21/66 Strumienie Standardowe operacje wejścia-wyjścia opierają się na strumieniach (ang. stream) Strumień jest pojęciem abstrakcyjnym - jego nazwa bierze się z analogii między przepływem danych, a np. wody W strumieniu dane płyną od źródła do odbiorcy Użytkownik określa źródło i odbiorcę, typ danych oraz sposób ich przesyłania Strumień może być skojarzony ze zbiorem danych znajdujących się na dysku (plik) lub zbiorem danych pochodzących z urządzenia znakowego (klawiatura) Niezależnie od fizycznego medium, z którym strumień jest skojarzony, wszystkie strumienie mają podobne właściwości

22 Rok akademicki 2014/2015, Wykład nr 1 22/66 Strumienie Strumienie reprezentowane są przez zmienne będące wskaźnikami na struktury typu FILE (definicja w pliku stdio.h) struct _iobuf { char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; }; typedef struct _iobuf FILE; Podczas pisania programów nie ma potrzeby bezpośredniego odwoływania się do pól tej struktury

23 Rok akademicki 2014/2015, Wykład nr 1 23/66 Strumienie W każdym programie automatycznie tworzone są i otwierane trzy standardowe strumienie wejścia-wyjścia: stdin - standardowe wejście, skojarzone z klawiaturą stdout - standardowe wyjście, skojarzone z ekranem monitora stderr - standardowe wyjście dla komunikatów o błędach, skojarzone z ekranem monitora _CRTIMP FILE * cdecl iob_func(void); #define stdin (& iob_func()[0]) #define stdout (& iob_func()[1]) #define stderr (& iob_func()[2]) Funkcja printf() niejawnie używa strumienia stdout, zaś funkcja scanf() niejawnie używa strumienia stdin

24 Rok akademicki 2014/2015, Wykład nr 1 24/66 Operacje na plikach Strumień wiąże się z plikiem za pomocą otwarcia, zaś połączenie to jest przerywane przez zamknięcie strumienia Operacje związane z przetwarzaniem pliku zazwyczaj składają się z trzech części 1. Otwarcie pliku (strumienia): - funkcje: fopen() 2. Operacje na pliku (strumieniu), np. czytanie, pisanie: - funkcje dla plików tekstowych: fprintf(), fscanf(), fgetc(), fputc(), fgets(), fputs() - funkcje dla plików binarnych: fread(), fwrite(), 3. Zamknięcie pliku (strumienia): - funkcja: fclose()

25 Rok akademicki 2014/2015, Wykład nr 1 25/66 Otwarcie pliku - fopen() FOPEN stdio.h FILE* fopen(const char *fname, const char *mode); Otwiera plik o nazwie fname, nazwa może zawierać całą ścieżkę dostępu do pliku mode określa tryb otwarcia pliku: "r" - odczyt "w" - zapis - jeśli pliku nie ma to zostanie on utworzony, jeśli plik istnieje, to jego poprzednia zawartość zostanie usunięta "a" - zapis (dopisywanie) - dopisywanie danych na końcu istniejącego pliku, jeśli pliku nie ma to zostanie utworzony

26 Rok akademicki 2014/2015, Wykład nr 1 26/66 Otwarcie pliku - fopen() FOPEN stdio.h FILE* fopen(const char *fname, const char *mode); Otwiera plik o nazwie fname, nazwa może zawierać całą ścieżkę dostępu do pliku mode określa tryb otwarcia pliku: "r+" - uaktualnienie (zapis i odczyt) "w+" - uaktualnienie (zapis i odczyt) - jeśli pliku nie ma to zostanie on utworzony, jeśli plik istnieje, to jego poprzednia zawartość zostanie usunięta "a+" - uaktualnienie (zapis i odczyt) - dopisywanie danych na końcu istniejącego pliku, jeśli pliku nie ma to zostanie utworzony, odczyt może dotyczyć całego pliku, zaś zapis może polegać tylko na dodawaniu nowych danych

27 Rok akademicki 2014/2015, Wykład nr 1 27/66 Otwarcie pliku - fopen() FOPEN stdio.h FILE* fopen(const char *fname, const char *mode); Zwraca wskaźnik na strukturę FILE skojarzoną z otwartym plikiem Gdy otwarcie pliku nie powiodło się to zwraca NULL Zawsze należy sprawdzać, czy otwarcie pliku powiodło się Po otwarciu pliku odwołujemy się do niego przez wskaźnik pliku Domyślnie plik jest otwierany w trybie tekstowym, natomiast dodanie litery "b" w trybie otwarcie oznacza tryb binarny

28 Rok akademicki 2014/2015, Wykład nr 1 28/66 Otwarcie pliku - fopen() Przykłady wywołania funkcji fopen(): FILE *stream1, *stream2, *stream3; stream1 = fopen("dane.txt","r"); stream2 = fopen("c:\\baza\\data.bin","wb"); stream3 = fopen("wynik.txt","wt"); dane.txt - tryb tekstowy, tylko do odczytu data.bin - tryb binarny, tylko do zapisu wynik.txt - tryb tekstowy, tylko do zapisu

29 Rok akademicki 2014/2015, Wykład nr 1 29/66 Zamknięcie pliku - fclose() FCLOSE int fclose(file *stream); stdio.h Zamyka plik wskazywany przez stream Zwraca 0 (zero) jeśli zamknięcie pliku było pomyślne W przypadku wystąpienia błędu zwraca EOF #define EOF (-1) Po zamknięciu pliku, wskaźnik stream może być wykorzystany do otwarcia innego pliku W programie może być jednocześnie otwartych wiele plików

30 Rok akademicki 2014/2015, Wykład nr 1 30/66 Przykład: otwarcie i zamknięcie pliku #include <stdio.h> int main() { FILE *stream; stream = fopen("plik.txt","w"); if (stream == NULL) { printf("blad otwarcia pliku.\n"); return (-1); } /* przetwarzanie pliku */ fclose(stream); } return (0);

31 Rok akademicki 2014/2015, Wykład nr 1 31/66 Format (plik) tekstowy i binarny Przykład zawartości pliku tekstowego: Przykład zawartości pliku binarnego:

32 Rok akademicki 2014/2015, Wykład nr 1 32/66 Format (plik) tekstowy i binarny Dane w pliku tekstowym zapisane są w postaci kodów ASCII Deklaracja i inicjalizacja zmiennej x typu int: int x = ; W pamięci komputera zmienna x zajmuje 4 bajty: Po zapisaniu wartości zmiennej x do pliku tekstowego znajdzie się w nim 6 bajtów zawierających kody ASCII kolejnych cyfr (2) '1' '2' '3' '4' '5' '6' znaki

33 Rok akademicki 2014/2015, Wykład nr 1 33/66 Format (plik) tekstowy i binarny Dane w pliku tekstowym zapisane są w postaci kodów ASCII Deklaracja i inicjalizacja zmiennej x typu int: int x = ; W pamięci komputera zmienna x zajmuje 4 bajty: Po zapisaniu wartości zmiennej x do pliku binarnego znajdą się w nim 4 bajty o takiej samej zawartości jak w pamięci komputera

34 Rok akademicki 2014/2015, Wykład nr 1 34/66 Format (plik) tekstowy i binarny Elementami pliku tekstowego są wiersze o różnej długości W systemach DOS/Windows każdy wiersz pliku tekstowego zakończony jest parą znaków: CR (carriage return) - powrót karetki, kod ASCII - 13 (10) = 0D (16) = '\r' LF (line feed) - przesunięcie o wiersz, kod ASCII - 10 (10) = 0A (16) = '\n' Załóżmy, że plik tekstowy ma postać: Rzeczywista zawartość pliku jest następująca:

35 Rok akademicki 2014/2015, Wykład nr 1 35/66 Format (plik) tekstowy i binarny W systemie Linux każdy wiersz pliku tekstowego zakończony jest tylko jednym znakiem: LF (line feed) - przesunięcie o wiersz, kod ASCII - 10 (10) = 0A (16) = '\n' Załóżmy, że plik tekstowy ma postać: Rzeczywista zawartość pliku jest następująca: Pliki binarne nie mają ściśle określonej struktury

36 Rok akademicki 2014/2015, Wykład nr 1 36/66 Tryby otwarcia pliku: tekstowy i binarny Różnice pomiędzy trybem tekstowym i binarnym otwarcia pliku dotyczą innego traktowania znaków: nowej linii (CR, LF) końca pliku (Ctrl+Z - kod 1A (16) ) W trybie tekstowym: przy odczycie pliku para znaków CR, LF jest tłumaczona na znak nowej linii (LF) przy zapisie pliku znak nowej linii (LF) jest zapisywany w postaci dwóch znaków (CR, LF) W trybie binarnym: przy odczycie i zapisie para znaków CR, LF jest traktowana zawsze jako dwa znaki

37 Rok akademicki 2014/2015, Wykład nr 1 37/66 Tryby otwarcia pliku: tekstowy i binarny W trybie tekstowym: koniec pliku jest sygnalizowany po napotkaniu znaku Ctrl-Z W trybie binarnym: śledzona jest całkowita długość pliku koniec pliku sygnalizowany jest wartością całkowitą -1 (FFFF (16) ) zdefiniowaną w postaci stałej EOF (end of file)

38 Rok akademicki 2014/2015, Wykład nr 1 38/66 Znakowe operacje wejścia-wyjściawyjścia GETC int getc(file *stream); stdio.h Pobiera jeden znak z aktualnej pozycji otwartego strumienia stream i uaktualnia pozycję Zmienna stream powinna wskazywać strukturę FILE reprezentującą strumień skojarzony z otwartym plikiem lub jeden ze standardowo otwartych strumieni - np. stdin Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wartość całkowitą kodu wczytanego znaku Jeśli wystąpił błąd lub przeczytany został znacznik końca pliku, to funkcja zwraca wartość EOF

39 Rok akademicki 2014/2015, Wykład nr 1 39/66 Znakowe operacje wejścia-wyjściawyjścia PUTC int putc(int znak, FILE *stream); stdio.h Wpisuje znak do otwartego strumienia reprezentowanego przez argument stream Zmienna stream powinna wskazywać strukturę FILE reprezentującą strumień skojarzony z otwartym plikiem lub jeden ze standardowo otwartych strumieni - np. stdout Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wypisany znak Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

40 Rok akademicki 2014/2015, Wykład nr 1 40/66 Znakowe operacje wejścia-wyjściawyjścia GETCHAR int getchar(void); stdio.h Pobiera znak ze strumienia stdin (klawiatura) Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca przeczytany znak Jeśli wystąpił błąd albo został przeczytany znacznik końca pliku, to funkcja zwraca wartość EOF

41 Rok akademicki 2014/2015, Wykład nr 1 41/66 Znakowe operacje wejścia-wyjściawyjścia PUTCHAR int putchar(int znak); stdio.h Wpisuje znak do strumienia stdout (standardowo ekran) Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wypisany znak Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

42 Rok akademicki 2014/2015, Wykład nr 1 42/66 Znakowe operacje wejścia-wyjściawyjścia FGETC int fgetc(file *stream); stdio.h Pobiera jeden znak ze strumienia wskazywanego przez stream Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca przeczytany znak po przekształceniu go na typ int Jeśli wystąpił błąd lub został przeczytany znacznik końca pliku, to funkcja zwraca wartość EOF

43 Rok akademicki 2014/2015, Wykład nr 1 43/66 Znakowe operacje wejścia-wyjściawyjścia FPUTC int fputc(int znak, FILE *stream); stdio.h Wpisuje znak do otwartego strumienia reprezentowanego przez argument stream Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wypisany znak Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

44 Rok akademicki 2014/2015, Wykład nr 1 44/66 Znakowe operacje wejścia-wyjściawyjścia UNGETC int ungetc(int znak, FILE *stream); stdio.h Umieszcza znak z powrotem w strumieniu wejściowym stream

45 Rok akademicki 2014/2015, Wykład nr 1 45/66 Przykład: wyświetlenie pliku tekstowego #include <stdio.h> int main(void) { FILE *plik; int znak; plik = fopen("test.txt","r"); while ((znak=getc(plik))!=eof) putc(znak,stdout); fclose(plik); } return 0;

46 Rok akademicki 2014/2015, Wykład nr 1 46/66 Przykład: wyświetlenie pliku tekstowego Inny sposób czytania znaków z pliku: while ((znak=fgetc(plik))!=eof) Inne sposoby wyświetlania znaków: putchar(znak); fputc(znak,stdout); printf("%c",znak);

47 Rok akademicki 2014/2015, Wykład nr 1 47/66 Przykład: liczba znaków wczytanych z klawiatury #include <stdio.h> int main(void) { int znak; int ile = 0; Ala ma laptopa Liczba znakow: 14 while ((znak=getchar())!='\n') ile++; printf("liczba znakow: %d\n",ile); } return 0; Wprowadzane znaki są buforowane do naciśnięcia klawisza Enter Po naciśnięciu klawisza Enter zawartość bufora jest przesyłana do programu i analizowana w nim

48 Rok akademicki 2014/2015, Wykład nr 1 48/66 Przykład: liczba wyrazów w pliku #include <stdio.h> int main(void) { FILE *plik; int znak, odstep = 1, ile = 0; plik = fopen("test.txt","r"); while ((znak = getc(plik))!= EOF) if (znak == ' ' znak == '\t' znak == '\n') odstep++; else if (odstep!= 0) { odstep = 0; ile++; } fclose(plik); printf("liczba slow: %d\n",ile); } return 0;

49 Rok akademicki 2014/2015, Wykład nr 1 49/66 Łańcuchowe operacje wejścia-wyjściawyjścia GETS char* gets(char *buf); stdio.h Pobiera do bufora pamięci wskazywanego przez argument buf linię znaków ze strumienia stdin (standardowo klawiatura) Wczytywanie jest kończone po napotkaniu znacznika nowej linii '\n', który zastępowany jest znakiem końca łańcucha '\0' Funkcja gets() umożliwia wczytanie łańcucha znaków zawierającego spacje i tabulatory Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wskazanie do łańcucha buf Jeśli wystąpił błąd lub podczas wczytywania został napotkany znacznik końca pliku, to funkcja zwraca wartość EOF

50 Rok akademicki 2014/2015, Wykład nr 1 50/66 Łańcuchowe operacje wejścia-wyjściawyjścia PUTS int puts(const char *buf); stdio.h Wpisuje łańcuch buf do strumienia stdout (standardowo ekran), zastępując znak '\0' znakiem '\n' Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca ostatni wypisany znak Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

51 Rok akademicki 2014/2015, Wykład nr 1 51/66 Łańcuchowe operacje wejścia-wyjściawyjścia FGETS char* fgets(char *buf, int max, FILE *stream); stdio.h Pobiera do bufora pamięci wskazanego przez buf co najwyżej max-1 znaków z otwartego strumienia reprezentowanego przez stream Przerywa czytanie po napotkaniu znacznika końca linii '\n' Po ostatnim przeczytanym znaku wstawia do bufora buf znak '\0' Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wskazanie do łańcucha buf Jeśli wystąpił błąd lub napotkano znacznik końca pliku, to funkcja zwraca wartość NULL

52 Rok akademicki 2014/2015, Wykład nr 1 52/66 Łańcuchowe operacje wejścia-wyjściawyjścia FPUTS int fputs(const char *buf, FILE *stream); stdio.h Wpisuje łańcuch buf do strumienia stream, nie dołącza znaku końca wiersza '\n' Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca ostatni wypisany znak Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

53 Rok akademicki 2014/2015, Wykład nr 1 53/66 Przykład: wyświetlenie pliku tekstowego #include <stdio.h> int main(void) { FILE *plik; char buf[10]; plik = fopen("test1.cpp","r"); while (fgets(buf,10,plik)!=null) fputs(buf,stdout); fclose(plik); } return 0;

54 Rok akademicki 2014/2015, Wykład nr 1 54/66 Sformatowane operacje wejścia-wyjściawyjścia SCANF int scanf(const char *format,...); stdio.h Czyta dane ze strumienia stdin (klawiatura) FSCANF int fscanf(file *stream, const char *format,...); stdio.h Czyta dane z otwartego strumienia stream SSCANF int sscanf(char *buf, const char *format,...); stdio.h Czyta dane z bufora pamięci wskazywanego przez buf

55 Rok akademicki 2014/2015, Wykład nr 1 55/66 Sformatowane operacje wejścia-wyjściawyjścia PRINTF int printf(const char *format,...); stdio.h Wyprowadza dane do strumienia stdout (ekran) FPRINTF int fprintf(file *stream, const char *format,...); stdio.h Wyprowadza dane do otwartego strumienia stream SPRINTF int sprintf(char *buf, const char *format,...); stdio.h Wyprowadza dane do bufora pamięci wskazywanego przez buf

56 Rok akademicki 2014/2015, Wykład nr 1 56/66 Przykład: zapisanie danych do pliku tekstowego #include <stdio.h> int main(void) { FILE *plik; char imie[10] = "Jan"; char nazw[10] = "Kowalski"; int wiek = 21; float wzrost = 1.78; Imie: Jan Nazwisko: Kowalski Wiek: 21 [lat] Wzrost: 1.78 [m] plik = fopen("dane.txt","w"); fprintf(plik,"imie: %s\n",imie); fprintf(plik,"nazwisko: %s\n",nazw); fprintf(plik,"wiek: %d [lat]\n",wiek); fprintf(plik,"wzrost: %.2f [m]\n",wzrost); fclose(plik); } return 0;

57 Rok akademicki 2014/2015, Wykład nr 1 57/66 Obsługa błędów wejścia-wyjściawyjścia FEOF int feof(file *stream); stdio.h Sprawdza, czy podczas ostatniej operacji wejścia dotyczącej strumienia stream został osiągnięty koniec pliku Zwraca wartość różną od zera, jeśli podczas ostatniej operacji wejścia został wykryty koniec pliku, w przeciwnym razie zwraca wartość 0 (zero)

58 Rok akademicki 2014/2015, Wykład nr 1 58/66 Przykład: odczytanie liczb z pliku tekstowego #include <stdio.h> int main(void) { FILE *plik; int x; plik = fopen("liczby.txt","r"); fscanf(plik,"%d",&x); while(!feof(plik)) { printf("%d\n",x); fscanf(plik,"%d",&x); } fclose(plik); } return 0;

59 Rok akademicki 2014/2015, Wykład nr 1 59/66 Przykład: odczytanie liczb z pliku tekstowego Sposób zapisu liczb w pliku wejściowym nie ma znaczenia dla prawidłowości ich odczytu Liczby powinny być oddzielone od siebie znakami spacji, tabulacji lub znakiem nowego wiersza

60 Rok akademicki 2014/2015, Wykład nr 1 60/66 Rekordowe (blokowe) operacje wejścia-wyjściawyjścia FWRITE size_t fwrite(const void *p, size_t s, size_t n, FILE *stream); stdio.h Zapisuje n elementów o rozmiarze s bajtów każdy, do pliku wskazywanego przez stream, biorąc dane z obszaru pamięci wskazywanego przez p Zwraca liczbę zapisanych elementów - jeśli jest ona różna od n, to wystąpił błąd zapisu (brak miejsca na dysku lub dysk zabezpieczony przed zapisem)

61 Rok akademicki 2014/2015, Wykład nr 1 61/66 Przykład: zapisanie danych do pliku binarnego #include <stdio.h> int main(void) { FILE *plik; int x = 10; int tab[5] = {1,2,3,4,5}; float y = ; plik = fopen("dane.dat","wb"); fwrite(&x,sizeof(int),1,plik); fwrite(tab,sizeof(int),5,plik); fwrite(tab,sizeof(tab),1,plik); fwrite(&y,sizeof(float),1,plik); fclose(plik); } return 0;

62 Rok akademicki 2014/2015, Wykład nr 1 62/66 Rekordowe (blokowe) operacje wejścia-wyjściawyjścia FREAD size_t fread(void *p, size_t s, size_t n, FILE *stream); stdio.h Pobiera n elementów o rozmiarze s bajtów każdy, z pliku wskazywanego przez stream i umieszcza odczytane dane w obszarze pamięci wskazywanym przez p Zwraca liczbę odczytanych elementów - w przypadku gdy liczba ta jest różna od n, to wystąpił błąd końca strumienia (w pliku było mniej elementów niż podana wartość argumentu n)

63 Rok akademicki 2014/2015, Wykład nr 1 63/66 Przykład: odczytanie liczb z pliku binarnego #include <stdio.h> int main(void) { FILE *plik; int x, ile = 0; } plik = fopen("liczby.dat","rb"); fread(&x,sizeof(int),1,plik); while (!feof(plik)) { ile++; printf("%d\n",x); fread(&x,sizeof(int),1,plik); } fclose(plik); printf("odczytano: %d liczb\n",ile); return 0; Odczytano: 8 liczb

64 Rok akademicki 2014/2015, Wykład nr 1 64/66 Przykład: odczytanie liczb z pliku binarnego Po otwarciu pliku wskaźnik pozycji pliku pokazuje na jego początek Po odczytaniu jednej liczby: fread(&x,sizeof(int),1,plik); wskaźnik jest automatycznie przesuwany o sizeof(int) bajtów Po odczytaniu kolejnej liczby: fread(&x,sizeof(int),1,plik); wskaźnik jest ponownie przesuwany o sizeof(int) bajtów Plik binarny zawiera liczby:

65 Rok akademicki 2014/2015, Wykład nr 1 65/66 Przykład: operacje na pliku tekstowym i binarnym #include <stdio.h> int main(void) { FILE *plik1, *plik2; int x; } plik1 = fopen("liczby.dat","rb"); plik2 = fopen("liczby.txt","w"); fread(&x,sizeof(int),1,plik1); while (!feof(plik1)) { fprintf(plik2,"%d\n",x); fread(&x,sizeof(int),1,plik1); } fclose(plik1); fclose(plik2); return 0;

66 Rok akademicki 2014/2015, Wykład nr 1 66/66 Koniec wykładu nr 1 Dziękuję za uwagę!

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok Rok akademicki 2015/2016, Wykład nr 1 2/70 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok Rok akademicki 2014/2015, Wykład nr 1 2/66 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2014/2015

Bardziej szczegółowo

Zaliczenie przedmiotu:

Zaliczenie przedmiotu: INFORMATYKA 2 - Wykład 15h Kod przedmiotu: ES1C300 016, ECTS: 3 pkt. Kierunek: Elektrotechnika, studia stacjonarne I stopnia Semestr: III, rok akademicki: 2016/2017 Zaliczenie przedmiotu: Ogólne warunki

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny semestr III, studia stacjonarne I stopnia Rok akademicki 2015/2016 Pracownia nr 1 (21/23.09.2015) Rok akademicki 2015/2016, Pracownia nr 1 2/22

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

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

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 1 (14.10.2011) Rok akademicki 2011/2012,

Bardziej szczegółowo

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

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

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

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

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

Ć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

Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.

Języki programowania. Karolina Mikulska-Rumińska   Pokój 573, tel Konsultacje wtorek 9-10. Języki programowania Karolina Mikulska-Rumińska E-mail: karolamik@fizyka.umk.pl Pokój 573, tel. 3346 Konsultacje wtorek 9-10. Pliki Dwa rodzaje plików: Tekstowe, Binarne Aby otworzyć plik należy najpierw

Bardziej szczegółowo

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin

Bardziej szczegółowo

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof] 1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem

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

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

Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30

Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)

Bardziej szczegółowo

Wskaźniki do funkcji. Wykład 11. Podstawy programowania ( język C ) Wskaźniki do funkcji (1) Wskaźniki do funkcji (2)

Wskaźniki do funkcji. Wykład 11. Podstawy programowania ( język C ) Wskaźniki do funkcji (1) Wskaźniki do funkcji (2) Podstawy programowania ( język C ) Wskaźniki do funkcji Wykład 11. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Wskaźniki do funkcji (1) W języku C funkcje nie są zmiennymi, ale

Bardziej szczegółowo

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

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

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Strumienie i pliki. Programowanie Proceduralne 1

Strumienie i pliki. Programowanie Proceduralne 1 Strumienie i pliki. Programowanie Proceduralne 1 Ogólnie o plikach Plik - ciąg bajtów o skończonej długości Nawa pliku nie stanowi jego części Położenie pliku określone przez ścieżkę dostępu Pliki są opatrzone

Bardziej szczegółowo

Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF.

Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Pliki w C++ Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Z każdym strumieniem związany jest wskaźnik bieżącej

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Pliki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Operacje plikowe Plik - dokument lub inny zbiór danych zapisany na dysku, oznaczony unikatowa

Bardziej szczegółowo

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę: Rozdział 1 Obsługa plików W językach C pliki powiązane są ze strumieniami i pracuje się na nich podobnie jak na innych strumieniach. W języku C do operacji na plikach służą funkcje z biblioteki stdio.h,

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

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników Funkcja getchar() Jest to bardzo prosta funkcja, wczytująca 1 znak z

Bardziej szczegółowo

W języku C każdy plik fizyczny jest ciągiem bajtów, z których każdy może być niezależnie odczytany. Borland 01234

W języku C każdy plik fizyczny jest ciągiem bajtów, z których każdy może być niezależnie odczytany. Borland 01234 Dr inż. Robert Wójcik Zakład Podstaw Informatyki i Teleinformatyki Instytut Cybernetyki Technicznej, Politechnika Wrocławska Wykład 15 15. Obsługa plików 15.1. Pliki tekstowe i binarne 15.2. Standardowa

Bardziej szczegółowo

Ghost in the machine

Ghost in the machine Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace

Bardziej szczegółowo

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48:

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48: Wejście/Wyjście wer. 7 z drobnymi modyfikacjami Wojciech Myszka 2014-05-12 16:48:03 +0200 Strumienie 1. W czasach przed-uniksowych program wykonujący operacje wejścia/wyjścia musiał podłączyć wszystkie

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

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

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2) Rok akademicki 2008/2009, Wykład nr 1 2/25 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia (zaoczne) Rok akademicki

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

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

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie

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

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

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

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY Łańcuch tekstowy w języku c jest pamiętany jako jednowymiarowa tablica znaków zakończona bajtem 0. char * tekst = dzień dobry wszystkim ; char tekst[22]= dzień dobry

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze

Bardziej szczegółowo

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

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,

Bardziej szczegółowo

Spis treści PLIKI TEKSTOWE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22

Spis treści PLIKI TEKSTOWE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 9 - sem.iii. Dr inż. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 9 - sem.iii Dr inż. M. Czyżak Język ANSI C tablice znaków Tablice znaków (łańcuchy) Tablice znaków stanowią specjalny rodzaj tablic o budowie ułatwiającej

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

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

Bardziej szczegółowo

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists() 4. Pliki 4.1. Informacje ogólne o dostępie do plików w PHP Jak praktycznie każdy język programowania, PHP zapewnia dostęp do systemu plików znajdujących się na komputerze, na którym uruchamiany jest skrypt,

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

Spis treści OBSŁUGA PLIKÓW W JĘZYKU C++ Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Spis treści OBSŁUGA PLIKÓW W JĘZYKU C++ Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

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

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)

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

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście.

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście. Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2018-03-27 09:06:38 +0200 Część I Formatowane (tekstowe) wejście/wyjście Otwarcie pliku

Bardziej szczegółowo

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 7- sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 7- sem.iii M. Czyżak Język C tablice znaków Tablice znaków (łańcuchy) Tablice znaków stanowią specjalny rodzaj tablic o budowie ułatwiającej przetwarzanie

Bardziej szczegółowo

Programowanie Procedurale. Pliki w języku C++

Programowanie Procedurale. Pliki w języku C++ Programowanie Procedurale. Pliki w języku C++ Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale. Pliki w języku C++

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

#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 ); }

#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,... ) ;

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

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

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Operacje wejścia/wyjścia (odsłona druga) - pliki

Operacje wejścia/wyjścia (odsłona druga) - pliki Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF10Z

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF10Z Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego

Bardziej szczegółowo

Stałe i zmienne znakowe. Stała znakowa: znak

Stałe i zmienne znakowe. Stała znakowa: znak Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby

Bardziej szczegółowo

#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 ); }

#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,... ) ;

Bardziej szczegółowo

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak: Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji

Bardziej szczegółowo

Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki

Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Podstawy Programowania Wykład IV Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: specyfikacja

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

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

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

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

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików ISO/ANSI C Dostęp do plików w trybie tekstowym znak po znaku Czytanie z pliku int fgetc( FILE *stream ); char buffer[81]; int i, ch; if((stream = fopen("test.txt","r")) == NULL ) exit( 0 ); ch

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

Operacje na plikach (niskiego poziomu) < IO.H >

Operacje na plikach (niskiego poziomu) < IO.H > OPERACJE WEJŚCIA WYJŚCIA (część b) Operacje wejścia / wyjścia odczyt i zapis danych do róŝnych zewnętrznych urządzeń lub nośników pamięciowych komputera: np. klawiatury, ekranu monitora, dyskietki, czytnika

Bardziej szczegółowo

Wykład PASCAL - Pliki tekstowe

Wykład PASCAL - Pliki tekstowe Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,

Bardziej szczegółowo

Pliki wykład 2. Dorota Pylak

Pliki wykład 2. Dorota Pylak Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)

Bardziej szczegółowo

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

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Operacje wejścia/wyjścia odsłona pierwsza

Operacje wejścia/wyjścia odsłona pierwsza Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

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

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

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011 Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt

Bardziej szczegółowo