dr inż. Jarosław Forenc
|
|
- Weronika Sobczyk
- 8 lat temu
- Przeglądów:
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
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ółowoPolitechnika 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ółowoZaliczenie 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ółowodr 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ółowoBiblioteka 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ółowoProgramowanie 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ółowoFunkcje 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ółowoFunkcje 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ółowoISO/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ółowodr 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ółowoISO/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ółowoPliki. 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ółowoWstę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ółowoPliki. 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ółowoObsł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.
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ółowoJę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ółowoOperacje 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]
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ółowoProgramowanie 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ółowoProgramowanie 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ółowoSpis 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ółowoWskaź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ółowoSpis 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ółowoSpis 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ółowoStał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ółowoINFORMATYKA 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ółowoStrumienie 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ółowoPlik 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ółowoProgramowanie 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ółowoProgram 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ółowo7 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ółowoMATERIAŁ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ółowoW 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ółowoGhost 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ółowower. 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ółowoPodstawy 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ółowoWykł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ółowoInformatyka 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ółowoPodstawy 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ółowoArgumenty 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ółowoJę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ółowoJę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ółowoISO/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ółowo2 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ółowoPODSTAW 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ółowoTemat: 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ółowoPodstawy 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ółowoPodstawy 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ółowoint 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ółowoSpis 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ółowoKatedra 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ółowoOPERACJE 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ółowo4. 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ółowoProgramowanie 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ółowoSpis 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ółowoMETODY 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ółowoSpis 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ółowoPRZYKŁ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ółowoFormatowane (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ółowoKatedra 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ółowoProgramowanie 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ółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoWykł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 ); }
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ółowoWstę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ółowo1. 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ółowoInformatyka 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ółowoOperacje 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ółowoLaboratorium 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ółowoSpis 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ółowoWykł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.
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ółowoPodstawy 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ółowoFunkcje 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ółowoStał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 ); }
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 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ółowoPodstawy 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ółowoProgramowanie 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ółowoWstę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ółowoLekcja 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ółowoPodstawy 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ółowoElektrotechnika 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ółowoWstę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ółowoPodstawy 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ółowoISO/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ółowoTemat 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ółowoOperacje 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ółowoWykł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ółowoPliki 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ółowoInformatyka 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ółowoWykł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ółowoOperacje 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ółowoZmienne, 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ółowoLaboratorium 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ółowoTablice, 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ółowoI. 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ółowoObsł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