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

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

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

Transkrypt

1 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 Wykład nr 1 ( ) 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: wtorek, godz. 10:30-12:00, WE-204 piątek, godz. 10:30-12:00, WE-204 piątek, godz. 14:00-15:00, WE-204 Rok akademicki 2015/2016, Wykład nr 1 3/70 Rok akademicki 2015/2016, Wykład nr 1 4/70 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 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.

2 Rok akademicki 2015/2016, Wykład nr 1 5/70 Rok akademicki 2015/2016, Wykład nr 1 6/70 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. 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. Stroustrup: Język C++. Kompendium wiedzy. Helion, Gliwice, Rok akademicki 2015/2016, Wykład nr 1 7/70 Rok akademicki 2015/2016, Wykład nr 1 8/70 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, 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ę przydziału pamięci dyskowej wyjaśnia podstawowe pojęcia związane z sieciami komputerowymi charakteryzuje wybrane media transmisyjne i urządzenia sieciowe

3 Rok akademicki 2015/2016, Wykład nr 1 9/70 Rok akademicki 2015/2016, Wykład nr 1 10/70 Zaliczenie wykładu - efekty kształcenia (EK1) Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): 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 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 Rok akademicki 2015/2016, Wykład nr 1 11/70 Rok akademicki 2015/2016, Wykład nr 1 12/70 Zaliczenie wykładu - efekty kształcenia (EK2) Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: Student, który zaliczył przedmiot: pisze i uruchamia programy zorientowane obiektowo stosując konstruktory, destruktory oraz deklaracje przyjaźni 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ą 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

4 Rok akademicki 2015/2016, Wykład nr 1 13/70 Rok akademicki 2015/2016, Wykład nr 1 14/70 Zaliczenie wykładu - efekty kształcenia (EK2) Zaliczenie wykładu - efekty kształcenia (EK3) Student, który zaliczył przedmiot: Student, który zaliczył przedmiot: pisze i uruchamia programy zorientowane obiektowo stosując konstruktory, destruktory oraz deklaracje przyjaźni tworzy w programach zorientowanych obiektowo funkcje przeładowujące operatory 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 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ą Rok akademicki 2015/2016, Wykład nr 1 15/70 Rok akademicki 2015/2016, Wykład nr 1 16/70 Zaliczenie wykładu - efekty kształcenia (EK3) Zaliczenie wykładu Student, który zaliczył przedmiot: Dwa sprawdziany pisemne: tworzy w programach zorientowanych obiektowo funkcje przeładowujące operatory sprawdzian 1: (poniedziałek), godz. 12:15-13:00, WE-Aula II sprawdzian 2: (poniedziałek), godz. 12:15-13:00, WE-Aula II poprawa: termin do ustalenia (sesja egzaminacyjna) 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 (=) 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

5 Rok akademicki 2015/2016, Wykład nr 1 17/70 Rok akademicki 2015/2016, Wykład nr 1 18/70 Terminy zajęć Plan wykładu nr 1 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, 12:15-13:00, sprawdzian nr 2) 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) Rok akademicki 2015/2016, Wykład nr 1 19/70 Rok akademicki 2015/2016, Wykład nr 1 20/70 Operacje wejścia-wyjścia wyjścia w języku C Typy standardowych operacji wejścia-wyjściawyjścia 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 duża liczba funkcji, proste w użyciu ukrywa przed programistą szczegóły wykonywanych operacji znakowe getc() - putc() getchar() - putchar() fgetc() - fputc() ungetc() łańcuchowe gets() - puts() fgets() - fputs() rekordowe (blokowe) 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 sformatowane scanf() - printf() fscanf() - fprintf() sscanf() - sprintf() fread() - fwrite() fgetpos() - fsetpos() fseek() ftell() rewind()

6 Rok akademicki 2015/2016, Wykład nr 1 21/70 Rok akademicki 2015/2016, Wykład nr 1 22/70 Strumienie Strumienie Standardowe operacje wejścia-wyjścia opierają się na strumieniach (ang. stream) Strumienie reprezentowane są przez zmienne będące wskaźnikami na struktury typu FILE (definicja w pliku ) 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) struct _iobuf char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; ; typedef struct _iobuf FILE; Niezależnie od fizycznego medium, z którym strumień jest skojarzony, wszystkie strumienie mają podobne właściwości Podczas pisania programów nie ma potrzeby bezpośredniego odwoływania się do pól tej struktury Rok akademicki 2015/2016, Wykład nr 1 23/70 Rok akademicki 2015/2016, Wykład nr 1 24/70 Strumienie Operacje na plikach 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]) 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(), Funkcja printf() niejawnie używa strumienia stdout, zaś funkcja scanf() niejawnie używa strumienia stdin 3. Zamknięcie pliku (strumienia): - funkcja: fclose()

7 Rok akademicki 2015/2016, Wykład nr 1 25/70 Rok akademicki 2015/2016, Wykład nr 1 26/70 Otwarcie pliku - fopen() FOPEN FILE* fopen(const char *fname, const char *mode); Otwarcie pliku - fopen() FOPEN FILE* fopen(const char *fname, const char *mode); Otwiera plik o nazwie fname, nazwa może zawierać całą ścieżkę dostępu do pliku 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 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 Rok akademicki 2015/2016, Wykład nr 1 27/70 Rok akademicki 2015/2016, Wykład nr 1 28/70 Otwarcie pliku - fopen() Otwarcie pliku - fopen() FOPEN 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 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

8 Rok akademicki 2015/2016, Wykład nr 1 29/70 Rok akademicki 2015/2016, Wykład nr 1 30/70 Zamknięcie pliku - fclose() FCLOSE int fclose(file *stream); 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 Przykład: otwarcie i zamknięcie pliku #include <> FILE *stream; stream = fopen("plik.txt","w"); if (stream == NULL) printf("blad otwarcia pliku.\n"); return (-1); /* przetwarzanie pliku */ fclose(stream); Rok akademicki 2015/2016, Wykład nr 1 31/70 Rok akademicki 2015/2016, Wykład nr 1 32/70 Format (plik) tekstowy i binarny Format (plik) tekstowy i binarny Przykład zawartości pliku tekstowego: Dane w pliku tekstowym zapisane są w postaci kodów ASCII Deklaracja i inicjalizacja zmiennej x typu int: int x = ; Przykład zawartości pliku binarnego: 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

9 Rok akademicki 2015/2016, Wykład nr 1 33/70 Rok akademicki 2015/2016, Wykład nr 1 34/70 Format (plik) tekstowy i binarny Format (plik) tekstowy i binarny Dane w pliku tekstowym zapisane są w postaci kodów ASCII Elementami pliku tekstowego są wiersze o różnej długości Deklaracja i inicjalizacja zmiennej x typu int: int x = ; W pamięci komputera zmienna x zajmuje 4 bajty: 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ć: 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 Rzeczywista zawartość pliku jest następująca: Rok akademicki 2015/2016, Wykład nr 1 35/70 Rok akademicki 2015/2016, Wykład nr 1 36/70 Format (plik) tekstowy i binarny Tryby otwarcia pliku: 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ć: 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: Rzeczywista zawartość pliku jest następująca: 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 Pliki binarne nie mają ściśle określonej struktury

10 Rok akademicki 2015/2016, Wykład nr 1 37/70 Rok akademicki 2015/2016, Wykład nr 1 38/70 Tryby otwarcia pliku: tekstowy i binarny Znakowe operacje wejścia-wyjściawyjścia W trybie tekstowym: koniec pliku jest sygnalizowany po napotkaniu znaku Ctrl-Z znakowe łańcuchowe 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) getc() - putc() getchar() - putchar() fgetc() - fputc() ungetc() gets() - puts() fgets() - fputs() rekordowe (blokowe) sformatowane scanf() - printf() fscanf() - fprintf() sscanf() - sprintf() fread() - fwrite() fgetpos() - fsetpos() fseek() ftell() rewind() Rok akademicki 2015/2016, Wykład nr 1 39/70 Rok akademicki 2015/2016, Wykład nr 1 40/70 Znakowe operacje wejścia-wyjściawyjścia Znakowe operacje wejścia-wyjściawyjścia GETC PUTC int getc(file *stream); int putc(int znak, FILE *stream); Pobiera jeden znak z aktualnej pozycji otwartego strumienia stream i uaktualnia pozycję 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. stdin 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 wartość całkowitą kodu wczytanego znaku Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wypisany znak Jeśli wystąpił błąd lub przeczytany został znacznik końca pliku, to funkcja zwraca wartość EOF Jeśli wystąpił błąd, to funkcja zwraca wartość EOF

11 Rok akademicki 2015/2016, Wykład nr 1 41/70 Rok akademicki 2015/2016, Wykład nr 1 42/70 Znakowe operacje wejścia-wyjściawyjścia Znakowe operacje wejścia-wyjściawyjścia GETCHAR PUTCHAR int getchar(void); int putchar(int znak); Pobiera znak ze strumienia stdin (klawiatura) Wpisuje znak do strumienia stdout (standardowo ekran) Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca przeczytany znak Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wypisany znak Jeśli wystąpił błąd albo został przeczytany znacznik końca pliku, to funkcja zwraca wartość EOF Jeśli wystąpił błąd, to funkcja zwraca wartość EOF int znak = 'x'; int znak; znak = getchar(); printf("%c",znak); putchar(znak); Rok akademicki 2015/2016, Wykład nr 1 43/70 Rok akademicki 2015/2016, Wykład nr 1 44/70 Znakowe operacje wejścia-wyjściawyjścia Znakowe operacje wejścia-wyjściawyjścia FGETC FPUTC int fgetc(file *stream); int fputc(int znak, FILE *stream); 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 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

12 Rok akademicki 2015/2016, Wykład nr 1 45/70 Rok akademicki 2015/2016, Wykład nr 1 46/70 Znakowe operacje wejścia-wyjściawyjścia UNGETC int ungetc(int znak, FILE *stream); Umieszcza znak z powrotem w strumieniu wejściowym stream Przykład: wyświetlenie pliku tekstowego #include <> FILE *plik; int znak; plik = fopen("test.txt","r"); while ((znak=getc(plik))!=eof) putc(znak,stdout); fclose(plik); Rok akademicki 2015/2016, Wykład nr 1 47/70 Rok akademicki 2015/2016, Wykład nr 1 48/70 Przykład: wyświetlenie pliku tekstowego Przykład: liczba znaków wczytanych z klawiatury Inny sposób czytania znaków z pliku: while ((znak=fgetc(plik))!=eof) Inne sposoby wyświetlania znaków: putchar(znak); #include <> int znak; int ile = 0; while ((znak=getchar())!='\n') ile++; printf("liczba znakow: %d\n",ile); Ala ma laptopa Liczba znakow: 14 fputc(znak,stdout); printf("%c",znak); 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

13 Rok akademicki 2015/2016, Wykład nr 1 49/70 Rok akademicki 2015/2016, Wykład nr 1 50/70 Przykład: liczba wyrazów w pliku Łańcuchowe operacje wejścia-wyjściawyjścia #include <> 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 = 1; else if (odstep!= 0) odstep = 0; ile++; fclose(plik); printf("liczba slow: %d\n",ile); 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() Rok akademicki 2015/2016, Wykład nr 1 51/70 Rok akademicki 2015/2016, Wykład nr 1 52/70 Łańcuchowe operacje wejścia-wyjściawyjścia Łańcuchowe operacje wejścia-wyjściawyjścia GETS PUTS char* gets(char *buf); int puts(const char *buf); Pobiera do bufora pamięci wskazywanego przez argument buf linię znaków ze strumienia stdin (standardowo klawiatura) Wpisuje łańcuch buf do strumienia stdout (standardowo ekran), zastępując znak '\0' znakiem '\n' Wczytywanie jest kończone po napotkaniu znacznika nowej linii '\n', który zastępowany jest znakiem końca łańcucha '\0' Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca ostatni wypisany znak Funkcja gets() umożliwia wczytanie łańcucha znaków zawierającego spacje i tabulatory Jeśli wystąpił błąd, to funkcja zwraca wartość EOF 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 char tablica[80]; gets(tablica); puts(tablica);

14 Rok akademicki 2015/2016, Wykład nr 1 53/70 Rok akademicki 2015/2016, Wykład nr 1 54/70 Łańcuchowe operacje wejścia-wyjściawyjścia Łańcuchowe operacje wejścia-wyjściawyjścia FGETS FPUTS char* fgets(char *buf, int max, FILE *stream); int fputs(const char *buf, FILE *stream); Pobiera znaki z otwartego strumienia reprezentowanego przez stream i zapisuje je do bufora pamięci wskazanego przez buf Wpisuje łańcuch buf do strumienia stream, nie dołącza znaku końca wiersza '\n' Pobieranie znaków jest przerywane po napotkaniu znacznika końca linii '\n' lub odczytaniu max-1 znaków Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca ostatni wypisany znak Po ostatnim przeczytanym znaku wstawia do bufora buf znak '\0' Jeśli wystąpił błąd, to funkcja zwraca wartość EOF 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 Rok akademicki 2015/2016, Wykład nr 1 55/70 Rok akademicki 2015/2016, Wykład nr 1 56/70 Przykład: wyświetlenie pliku tekstowego Sformatowane operacje wejścia-wyjściawyjścia #include <> FILE *plik; char buf[10]; plik = fopen("test1.cpp","r"); while (fgets(buf,10,plik)!=null) fputs(buf,stdout); fclose(plik); 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()

15 Rok akademicki 2015/2016, Wykład nr 1 57/70 Rok akademicki 2015/2016, Wykład nr 1 58/70 Sformatowane operacje wejścia-wyjściawyjścia Sformatowane operacje wejścia-wyjściawyjścia SCANF PRINTF int scanf(const char *format,...); int printf(const char *format,...); Czyta dane ze strumienia stdin (klawiatura) Wyprowadza dane do strumienia stdout (ekran) FSCANF FPRINTF int fscanf(file *stream, const char *format,...); int fprintf(file *stream, const char *format,...); Czyta dane z otwartego strumienia stream Wyprowadza dane do otwartego strumienia stream SSCANF SPRINTF int sscanf(char *buf, const char *format,...); int sprintf(char *buf, const char *format,...); Czyta dane z bufora pamięci wskazywanego przez buf Wyprowadza dane do bufora pamięci wskazywanego przez buf Rok akademicki 2015/2016, Wykład nr 1 59/70 Rok akademicki 2015/2016, Wykład nr 1 60/70 Przykład: zapisanie danych do pliku tekstowego #include <> FILE *plik; char imie[10] = "Jan"; char nazw[10] = "Kowalski"; int wiek = 21; float wzrost = 1.78; 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); Imie: Jan Nazwisko: Kowalski Wiek: 21 [lat] Wzrost: 1.78 [m] Obsługa błędów wejścia-wyjściawyjścia FEOF int feof(file *stream); 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)

16 Rok akademicki 2015/2016, Wykład nr 1 61/70 Rok akademicki 2015/2016, Wykład nr 1 62/70 Przykład: odczytanie liczb z pliku tekstowego Przykład: odczytanie liczb z pliku tekstowego #include <> FILE *plik; int x; plik = fopen("liczby.txt","r"); fscanf(plik,"%d",&x); while(!feof(plik)) printf("%d\n",x); fscanf(plik,"%d",&x); 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 fclose(plik); Rok akademicki 2015/2016, Wykład nr 1 63/70 Rok akademicki 2015/2016, Wykład nr 1 64/70 Rekordowe (blokowe) operacje wejścia-wyjściawyjścia Rekordowe (blokowe) operacje 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() FWRITE size_t fwrite(const void *p, size_t s, size_t n, FILE *stream); 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)

17 Rok akademicki 2015/2016, Wykład nr 1 65/70 Rok akademicki 2015/2016, Wykład nr 1 66/70 Przykład: zapisanie danych do pliku binarnego #include <> 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); Rekordowe (blokowe) operacje wejścia-wyjściawyjścia FREAD size_t fread(void *p, size_t s, size_t n, FILE *stream); 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) Rok akademicki 2015/2016, Wykład nr 1 67/70 Rok akademicki 2015/2016, Wykład nr 1 68/70 Przykład: odczytanie liczb z pliku binarnego Przykład: odczytanie liczb z pliku binarnego #include <> 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); Odczytano: 8 liczb 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:

18 Rok akademicki 2015/2016, Wykład nr 1 69/70 Rok akademicki 2015/2016, Wykład nr 1 70/70 Przykład: operacje na pliku tekstowym i binarnym Koniec wykładu nr 1 #include <> 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); 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 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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 1 (09.10.2014) Rok akademicki 2014/2015, Wykład

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

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

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

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

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

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

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

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

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

Ć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

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

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

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

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

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

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

۰ 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#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

#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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

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

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

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

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

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 9 (20.01.2012) dr inż. Jarosław Forenc Rok

Bardziej szczegółowo

Języki i metody programowania I

Języki i metody programowania I Języki i metody programowania I dr inż. Piotr Szwed Katedra Informatyki Stosowanej C2, pok. 403 e-mail: pszwed@agh.edu.pl http://home.agh.edu.pl/~pszwed/ Aktualizacja: 2013-01-25 11. Biblioteka wejścia

Bardziej szczegółowo

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury, , Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer

Bardziej szczegółowo

Ćwiczenie nr 8. Temat: Operacje na plikach - zapis i odczyt danych.

Ćwiczenie nr 8. Temat: Operacje na plikach - zapis i odczyt danych. Ćwiczenie nr 8 Temat: Operacje na plikach - zapis i odczyt danych. Zagadnienia: Zasady pracy na plikach dyskowych. otwarcie pliku do odczytu i zapisu (tryb otwarcia), wykonanie operacji odczytu i zapisu,

Bardziej szczegółowo