Zajęcia 6 pliki tekstowe

Podobne dokumenty
Strumienie, pliki. Sortowanie. Wyjątki.

I znowu można jak w C, za pomocą starych struktur i metod:

Zajęcia 4 procedury i funkcje

Polcode Code Contest PHP-10.09

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Zajęcia 5 łańcuchy znaków (ciąg dalszy) i funkcje

Podstawy obiektowości

Podstawy JavaScript ćwiczenia

Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];

Podstawy Kompilatorów

Podstawy i języki programowania

Zasady programowania Dokumentacja

Zadanie 4.3. (0 5) Błąd bezwzględny przybliżonej wartości liczby pi, wyznaczonej z n punktów, definiujemy następująco:

Pomorski Czarodziej 2016 Zadania. Kategoria C

Programowanie w językach wysokiego poziomu

ZADANIA Z PODSTAW PROGRAMOWANIA ZALICZENIE WARUNKOWE, SEMESTR ZIMOWY 16/17

Funkcje. Wprowadzenie. Mirosław Ochodek

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Strumienie, pliki. Sortowanie. Wyjątki.

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

Laboratorium kryptograficzne dla licealistów 3

Programowanie obiektowe

Laboratorium 1 Wprowadzenie do PHP

Funkcje Typy wyliczeniowe Struktury, unie Scanf / printf Wskaźniki

Oczywiście występują także znaczniki, bez ich odpowiednika kończącego, np. <BR>

Algorytmy sortujące i wyszukujące

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

lekcja 8a Gry komputerowe MasterMind

Programowanie 3 - Funkcje, pliki i klasy

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

a) Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR...

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

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Słownik. Instrukcja obsługi programu

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Programowanie 2 - Tablice i łańcuchy

Laboratorium kryptograficzne dla licealistów 3

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

EGZAMIN MATURALNY Z INFORMATYKI

Argumenty wywołania programu, operacje na plikach

Kier. MTR Programowanie w MATLABie Laboratorium

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

Przekierowanie wejścia wyjścia:

Historia kodowania i format plików XML. Jolanta Bachan

Wstęp do programowania. Wykład 1

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

Ć W I C Z E N I A Z W Y K O R Z Y S T A N I E M E D Y T O R A T E K S T U. M i c r o s o f t

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Języki formalne i automaty Ćwiczenia 6

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2017

Napisy w PHP. Drukowanie napisów instrukcją echo

Odnośniki jeszcze do niedawna odróżniały strony WWW od wszystkich innych dokumentów elektronicznych. Możliwość deklarowania odnośników do innych

Wyszukaj w pomocy. Więcej w witrynie Office.com: Pobieranie Obrazy Szablony

HTML jak zrobić prostą stronę www

program TRX

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

Zadania z podstaw programowania obiektowego

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

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

Sylabus Moduł 2: Przetwarzanie tekstów

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Programowanie w języku Java

Tablice jednowymiarowe

2 Podstawy tworzenia stron internetowych

Szablon główny (plik guestbook.php) będzie miał postać:

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

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Wprowadzenie do języka Java

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Java jako język programowania

Aplikacje WWW - laboratorium

Ćwiczenie: JavaScript Cookies (3x45 minut)

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

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

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

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

HTML (HyperText Markup Language) hipertekstowy język znaczników

Polski Zasób Normalizacyjny (PZN) Instrukcja Sekretarza KT (wersja 1.1)

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Języki programowania imperatywnego

KOLOKWIUM PLIKI MAT. 1. Napisz funkcję, która dla danej przez parametr nazwy pliku zwraca w wyniku liczbę spacji występujących w tym pliku.

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II 11 MAJA 2018 WYBRANE: Czas pracy: 150 minut. Liczba punktów do uzyskania: 30

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

KATEGORIA OBSZAR WIEDZY

ZBIÓR ZADAŃ Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI

Zadanie 2: Arytmetyka symboli

Pytania sprawdzające wiedzę z programowania C++

Lekcja 6: Pascal. Procedura i funkcja

Algorytmy podstawieniowe

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Transkrypt:

Zajęcia 6 pliki tekstowe 1. Napisać funkcję liczznakislowa, która zlicza: liczbę znaków w pliku, liczbę białych znaków w pliku (białe znaki to spacja, tabulator, znacznik końca wiersza), liczbę słów w pliku. Wynikiem funkcji jest tablica złożona z 3 liczb całkowitych po jednej dla wymienionych podpunktów. 2. Napisać funkcję: public static void szukaj(string nazwaplikwe, String nazwaplikwy, String slowo) której zadaniem jest znalezienie wszystkich wierszy w pliku, które zawierają szukane słowo. Wszystkie wiersze, które zawierają słowo powinny zostać zapisane w pliku wynikowym wraz z nr wiersza (z pierwszego pliku). Nazwa pierwszego pliku zapamiętana jest w parametrze nazwaplikwe, nazwa pliku wynikowego podana jest w parametrze nazwaplikwy, natomiast szukane słowo w parametrze slowo. Przykład - plik wejściowy: Ala ma jutro egzamin z biologii. Jan myje auto. Eh, jutro kolejny egzamin. Nie lubie polityki. Jeżeli szukanym słowem byłoby egzamin, to plik wynikowy powinien wyglądać następująco: 1: Ala ma jutro egzamin z biologii. 3: Eh, jutro kolejny egzamin. 17

3. Napisać funkcję public static void sumujizapisz(string nazwapliku), która odczytuje plik o podanej nazwie zawierający liczby całkowite (po jednej w wierszu). Funkcja ma za zadanie odczytać i zsumować wszystkie liczby z pliku, a następnie dopisać na końcu pliku wyznaczoną sumę powiększoną o 1. Ponowne uruchomienia funkcji będą skutkowały dopisywaniem kolejnych wierszy. Jeżeli plik nie istnieje to ma zostać utworzony suma dla pustego pliku wyniesie 0, a więc należy dopisać wiersz zawierający 1. 4. Stworzyć dwie funkcje: void szyfruj(string nazwawe, int przesun) void deszyfruj(string nazwawe, int przesun) Funkcja szyfruj dokonuje szyfrowania pliku, którego nazwa podana została jako pierwszy parametr. Szyfrowanie polega na zamianie każdej litery na znak przesunięty o wartość podaną drugim parametrem np. dla przesunięcia równego 2 literka a powinna zostać zastąpiona literką c, literka z literką b itp. Wynikiem działania funkcji ma być plik o nazwie utworzonej na podstawie nazwy pliku wejściowego poprzez dołączenie znaku np. dla pliku dane.txt zaszyfrowana postać powinna mieć nazwę dane.txt. Funkcja deszyfruj powinna deszyfrować plik (niekoniecznie ten sam) zaszyfrowany przez funkcję szyfruj. 5. Napisać funkcję emerytura(string nazwapliku), która wczyta z pliku o podanej nazwie dane pracowników zapisane w kolejnych wierszach w następujący sposób: Imię Nazwisko Płeć Wiek Tomasz Nowak M 45 Marta Ziobro K 42 Jan Kowalski M 27 Ewelina Tusk K 59 Następnie funkcja dla każdego pracownika powinna wyznaczyć ile lat pozostało do jego emerytury. Wyniki należy zapisać w następujący sposób: Nazwisko Imię Lata do emerytury Nowak Tomasz 20 Kowalski Jan 38 Wyniki dla kobiet należy zapisać w pliku o nazwie kobiety.txt, natomiast wyniki dla mężczyzn należy zapisać w pliku mezczyzni.txt. 18

6. Napisać funkcję, której zadaniem jest odczytanie danych tabelarycznych z pliku tekstowego, a następnie zapisanie ich do nowego pliku w postaci kodu HTML. Wejście: "Waga" "Wzrost" "BMI" "Nadwaga" 70 1,8 21,6 "NIE" 67 1,77 21,39 "NIE" 85 1,7 29,41 "TAK" 100 1,92 27,13 "TAK" Wynik: <html><body> <table> <tr><td>"waga"</td><td>"wzrost"</td><td>"bmi"</td><td>"nadwaga" <tr><td>70</td><td>1,8</td><td>21,6</td><td>"nie" <tr><td>67</td><td>1,77</td><td>21,39</td><td>"nie" <tr><td>85</td><td>1,7</td><td>29,41</td><td>"tak" <tr><td>100</td><td>1,92</td><td>27,13</td><td>"tak" </table> </body></html> 7. Napisać program, który dla pliku tekstowego o podanej nazwie wyznaczy wykres częstości wystąpień małych liter alfabetu angielskiego. Słupki wykresu mają zostać utworzone ze znaków gwiazdki *, przy czym długość słupka dla najczęściej występującej litery powinna wynosić 50. Dodatkowo dla każdego znaku należy dodatkowo wyświetlić liczbę jego wystąpień. Poniżej umieszczono przykładowy wykres wygenerowany dla tekstu Adventures of Huckleberry Finn M. Twaina dostępnego pod adresem: http://www.gutenberg.org/dirs/7/76/76.txt a ************************************* 36581 b ******* 7439 c ******** 8317 d ************************ 23754 e ************************************************** 49084 f ******** 7914 g ********** 10733 h ************************** 26338 i **************************** 28222 j * 1211 19

k ***** 5677 l ***************** 17446 m ********** 10337 n ********************************* 32818 o ************************************* 36700 p ****** 5971 q 189 r ******************** 20252 s ************************* 25193 t ******************************************* 42390 u ************** 13954 v ** 2944 w ************* 13347 x 453 y ********** 10312 z 185 8. Napisać program, który konwertuje podany plik tekstowy na dokument HTML. Konwersja powinna przebiegać wg następujących reguł: Pojedynczy wiersz rozpoczynający się symbolem (lub symbolami) # konwertowany jest na nagłówek, tj.<hn>...</hn>, gdzie N jest liczbą symboli #. Dowolny wiersz niebędący nagłówkiem, bądź ciąg wierszy niezawierający pustego wiersza konwertowany jest na paragraf, tj.... Każde słowo wewnątrz paragrafu zaczynające i kończące się symbolem * zamieniane jest na wytłuszczone, np. *słowo* na <strong>słowo</strong>. Nazwa pliku wynikowego powinna powstać z nazwy pliku wejściowego poprzez zastąpienie rozszerzenia.txt rozszerzeniem.html. Do wynikowego pliku należy również zapisać niezbędny nagłówek dokumentu HTML5, jak w przykładzie poniżej. Przykład, dla pliku test.txt: # To jest nagłówek Jednowierszowy akapit. To jest pierwszy wiersz akapitu. *Wyróżnione* słowo. To jest drugi wiersz tego samego akapitu. # Ten akapit zaczyna się jak nagłówek, ale nim nie jest. ## A to jest nagłówek drugiego stopnia Drugi paragraf. # Ten wiersz nie jest nagłówkiem, lecz częścią akapitu. ### Nagłówek trzeciego stopnia 20

wynikiem powinien być plik test.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>tytuł</title> </head> <body> <h1> To jest nagłówek</h1> Jednowierszowy akapit. To jest pierwszy wiersz akapitu. <strong>wyróżnione</strong> słowo. To jest drugi wiersz tego samego akapitu. # Ten akapit zaczyna się jak nagłówek, ale nim nie jest. <h2> A to jest nagłówek drugiego stopnia</h2> Drugi paragraf. # Ten wiersz nie jest nagłówkiem, lecz częścią akapitu. <h3> Nagłówek trzeciego stopnia</h3> </body> </html> 21