INFORMATYKA Studia Niestacjonarne Elektrotechnika

Podobne dokumenty
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

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

Programowanie w językach wysokiego poziomu

1. Wprowadzanie danych z klawiatury funkcja scanf

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

Funkcje zawarte w bibliotece < io.h >

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

Funkcje zawarte w bibliotece < io.h >

7 Przygotował: mgr inż. Maciej Lasota

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

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

Biblioteka standardowa - operacje wejścia/wyjścia

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

Kier. MTR Programowanie w MATLABie Laboratorium

2 Przygotował: mgr inż. Maciej Lasota

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

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.)

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

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

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

Zmienne, stałe i operatory

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

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

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

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

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

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

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

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

dr inż. Paweł Myszkowski Wykład nr 8 ( )

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

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

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

Atrybuty bloki z atrybutami, wyciągi atrybutów.

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

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

Podstawy i języki programowania

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

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

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

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

Architektura komputerów

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Języki i metodyka programowania. Wprowadzenie do języka C

Podstawy programowania w języku C++

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Argumenty wywołania programu, operacje na plikach

Podstawy programowania w języku C++

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

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Struktury, unie, formatowanie, wskaźniki

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)

Zasady programowania Dokumentacja

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

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

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

Reprezentacja symboli w komputerze.

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48:

Podstawy programowania w języku C++

1 Podstawy c++ w pigułce.

Ghost in the machine

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

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

Pytania sprawdzające wiedzę z programowania C++

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

Laboratorium 10: Maszyna stanów

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Programowanie Procedurale. Pliki w języku C++

Autor: dr inż. Katarzyna Rudnik

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

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

Programowanie w językach

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

Pracownia Komputerowa wykład VI

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Wstęp do Programowania 2

Języki i metody programowania. Omówienie języków C, C++ i Java

Funkcje printf() i scanf() i operatory

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

1 Podstawy c++ w pigułce.

Wstęp do Programowania, laboratorium 02

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

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

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

Transkrypt:

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 Operacje Wejścia - Wyjścia o Terminal jako standardowy port wymiany danych pomiędzy użytkownikiem a programem o Port wejściowy klawiatura o Port wyjściowy ekran o Wymiana danych może także być realizowana poprzez zapis i odczyt danych z pliku o Standardowe funkcje realizujące operacje wejścia i wyjścia dostępne są w bibliotece stdio.h 2 1

printf o Funkcja printf realizuje wysyłanie danych na ekran o Dostarcza narzędzi formatujących sposób wyświetlania danych o Realizowane jest to poprzez odpowiednie kodowanie po znaku % %[flagi][szerokość][.precyzja][hll]typ o Pola opcjonalne są w [], muszą być umieszczone w podanej kolejności 3 printf - flagi o : wyrównanie wartości do lewej strony o + : poprzedzenie wartości znakiem +/ o (spacja) : poprzedzenie spacją wartości dodatnich o 0 : dopełnianie liczb zerami o # : poprzedzenie wartości ósemkowej cyfrą 0, wartości szesnastkowej napisem 0x (lub 0X); w przypadku wartości zmiennoprzecinkowych pokazanie kropki dziesiętnej; w przypadku formatów g i G zostawienie końcowych zer 4 2

printf o Szerokość określa liczbę stanowiącą minimalną szerokość pola, (*) następny parametr z listy definiuje szerokość o Precyzja (.liczba) minimalna liczba cyfr dla liczb całkowitych; liczba miejsc dziesiętnych dla formatów e i f; maksymalna liczba cyfr znaczących dla formatu g; maksymalna liczba znaków dla formatu s, (.*) następny parametr z listy definiuje precyzję o Flagi hll umieszczane przed znakiem typu rozszerzające zakres działania 5 printf znaki konwersji i lub d : liczby całkowitej u : liczby całkowitej bez znaku o : liczby całkowitej ósemkowej x (X) : liczby całkowitej szesnastkowej; jako cyfry są używane znaki a-f (A-F) f : liczby zmiennoprzecinkowej, domyślnie z sześcioma miejscami po przecinku e : liczby w notacji naukowej (wykładnik po e) a : liczby zmiennoprzecinkowej w formacie szesnastkowym, 0xd.ddddp±d c : pojedynczego znaku s : łańcucha znakowego zakończonego znakiem null 6 3

Przykład 1 7 Przykład 1 8 4

Przykład 1 9 Przykład 1 10 5

scanf o Funkcja scanf realizuje przypisanie do wskazanych zmiennych danych wprowadzanych z klawiatury o Formatowanie danych wejściowych realizowane jest podobnie jak w printf o Funkcja pobiera dane ograniczone znakami białymi : spacje, tabulatory '\t', tabulatory pionowe '\v', znaki powrotu karetki '\r', znaki nowego wiersza '\n' lub nowej strony '\f' scanf( znaki formatujące, wskaźniki do zmiennych); 11 scanf Znaki formatujące zapisywane są w układzie: %[*][szerokość][prefiks]znak_konwersji * : pominięcie kolejnego pola znaków ze strumienia wejściowego szerokość : określa maksymalną liczbę znaków, które mają być pobrane z kolejnego pola 12 6

scanf typ konwersji znak wejściowe typ konwersji pole znaków wskaźnika d liczba całkowita dziesiętna int D liczba całkowita dziesiętna long o liczba całkowita oktalna int O liczba całkowita oktalna long i liczba całkowita dziesiętna int, oktalna lub heksadecymalna I liczba całkowita dziesiętna long, oktalna lub heksadecymalna u liczba całkowita dziesiętna bez znaku unsigned int U liczba całkowita dziesiętna bez znaku unsigned long x liczba całkowita heksadecymalna int X liczba całkowita heksadecymalna long e, E liczba zmiennopozycyjna float f liczba zmiennopozycyjna float g, G liczba zmiennopozycyjna float s ciąg znaków char c znak char 13 scanf prefix prefiks znaki konwersji typ wskaźnika h d, i, o, u, x short l d, i, o, u, x long e, f, g double L e, f, g long double 14 7

Zapis danych o Najprostszym sposobem zapisania danych wyjściowych programu jest przekierowanie standardowego wyjścia z ekranu na plik o Realizuje się to z poziomu konsoli przy wywołaniu programu nazwa.exe > plik_danych.txt o Problem pojawia się gdy program musi pobrać jakieś dane od użytkownika 15 Przykład 2 Wywołanie program > wynik.txt 16 8

Odczyt danych o W analogiczny sposób można zrealizować pobranie danych z pliku o W momencie gdy funkcja scanf chce przypisać dane z wejścia do zmiennej pobiera dane z pliku program < dane.txt 17 Odczyt i zapis danych o Za pomocą znaków przekierowania można zrealizować oba zadania o Pobrać dane z pliku o Wszystkie wyniki zapisać do pliku 18 9

Odczyt danych Podczas odczytu danych z pliku istotnym zagadnieniem jest rozpoznanie końca pliku (danych) Jest to szczególnie istotne gdy zadanie realizowane jest w pętli Biblioteka stdio.h dostarcza definicję flagi EOF która jest tożsama z znakiem końca pliku 19 Przykład 3 20 10

Dostęp do plików W wielu sytuacjach korzystanie z znaków przekierowania może nie być wystarczające o Program posiada interfejs użytkownika o Nie można przewidzieć wartości pobieranych danych o Chcemy selektywnie zapisywać dane o Zapis i odczyt danych realizowany jest do wielu różnych plików 21 Dostęp do plików Korzystanie z poziomu kodu z dostępu do plików realizowane jest zgodnie z procedurą o Otwarcie dostępu do pliku, z wyborem trybu pracy o Zapis lub odczyt danych z pliku o Zamknięcie dostępu do pliku 22 11

Otwarcie dostępu o Dostęp do pliku realizowany jest funkcją fopen z biblioteki stdio.h Zmienna_plikowa = fopen ( plik, tryb ); o Jeżeli z jakiegoś powodu nie można otworzyć dostępu do pliku funkcja fopen zwróci wartość NULL o Tryb dostępu może być normalny albo aktualizacji 23 Otwarcie dostępu o o o o o Dostęp może być otwarty w trybie o Odczytu r, r+ o Zapisu w, w+ o Dopisywania a, a+ W pierwszym trybie plik musi istnieć W drugim i trzecim, jeżeli plik nie istnieje zostanie utworzony W trybie drugim w istniejącym pliku dane zostaną nadpisane. W trybie aktualizacji (+) możliwy jest zarówno zapis jak i odczyt danych 24 12

Otwarcie dostępu o Korzystanie z funkcji fopen wymaga utworzenia zmiennej wskazującej na plik o Biblioteka stdio.h dostarcza odpowiedni typ FILE *zmienna_plikowa; o Do utworzonej zmiennej następnie funkcją fopen można przypisać plik o Otwarcie dostępu do pliku warto realizować poprzez funkcję if sprawdzającą poprawność otwarcia 25 Odczyt i zapis danych o Odczytanie pojedynczego znaku z pliku realizuje funkcja: zmienna=getc(nazwa_pliku); o Zapisanie pojedynczego znaku do pliku realizuje funkcja: putc( znak,nazwa_pliku); o Zamykanie dostępu do pliku realizuje funkcja: fclose(nazwa_pliku); 26 13

Przykład 4 27 Koniec pliku Biblioteka stdio.h dostarcza funkcję wykrywania końca pliku 28 14

Odczyt i zapis danych Odczyt i zapis sformatowanych ciągów tekstowych realizuje się za pomocą funkcji o fprintf zapis danych o fscanf odczyt danych o Funcje działają analogicznie do printf i scanf. o W obu dochodzi jedne początkowy parametr zawierający wskaźnik do pliku o Fscanf po dojściu do końca pliku zwraca EOF 29 Operacje na plikach o Z poziomu kodu możliwa jest zmian nazwy pliku rename( stara_nazwa, nowa_nazwa ); o Możliwe jest także skasowanie pliku remove( nazwa_pliku ); o Obydwie funkcje wymagają aby dostęp do pliku był zamknięty 30 15

Przykład 5 31 Przykład 6 32 16

Zapis i odczyt danych o Funkcje fputs i fgets umożliwiają odczytanie i zapisanie danych do i z bufora (tekstowego) o Operowanie na większych blokach danych jest dzięki nim wygodniejsze jak za pomocą funkcji fprintf i fscanf fputs(bufor, plik); fgets(bufor,limit,plik); o Funkcja odczytuje dane z pliku i umieszcza je w buforze, do czasu odczytania limit-1 znaków lub natrafieniu na znak końca wiersza lub pliku 33 Przykład 7 34 17

Przykład 8 35 18