Projekty zaliczeniowe Podstawy Programowania 2012/2013

Podobne dokumenty
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Pomorski Czarodziej 2016 Zadania. Kategoria C

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

lekcja 8a Gry komputerowe MasterMind

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

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Dokumentacja SMS przez FTP

Rozpoczynamy import Kreator uruchamiamy przyciskiem Z tekstu, znajdującym się na karcie Dane, w grupie Dane zewnętrzne.

opracował: Patryk Besler

Obliczenie pola wieloboku na podstawie współrzędnych wierzchołków

Programowanie w języku Python. Grażyna Koba

Sylabus Moduł 2: Przetwarzanie tekstów

WOJEWÓDZTWO PODKARPACKIE

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

Laboratorium nr 1. i 2.

1 Podstawy c++ w pigułce.

MATERIAŁY SZKOLENIOWE WORD PODSTAWOWY

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

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

Cw.12 JAVAScript w dokumentach HTML

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

UMOWY INSTRUKCJA STANOWISKOWA

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

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

Zakład Systemów Rozproszonych

Złożoność obliczeniowa zadania, zestaw 2

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

1 Wielokrotne powtarzanie tych samych operacji

INFORMATYKA Studia Niestacjonarne Elektrotechnika

JAVAScript w dokumentach HTML (1)

Przegląd podstawowych funkcji Excel.

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

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość.

Podstawy Programowania Podstawowa składnia języka C++

if (wyrażenie ) instrukcja

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Zadanie nr 3: Sprawdzanie testu z arytmetyki

1 Podstawy c++ w pigułce.

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0

Budowa i generowanie planszy

Konfiguracja INWENT 5

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Laboratorium - Tworzenie partycji w Windows XP

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

do instrukcja while (wyrażenie);

Autor: dr inż. Katarzyna Rudnik

Podręcznik użytkownika programu. Ceremonia 3.1

Instrukcja redaktora strony

Dokumentacja programu. Zoz. Uzupełnianie kodów terytorialnych w danych osobowych związanych z deklaracjami POZ. Wersja

Technologie Informacyjne - Linux 2

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Narzędzia informatyczne w językoznawstwie

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Definicje. Algorytm to:

2.1. Duszek w labiryncie

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Instrukcja obsługi. Generatora CSV

EXCEL TABELE PRZESTAWNE

Python: JPEG. Zadanie. 1. Wczytanie obrazka

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

PROFIL USŁUGOWO-GOSPODARCZY

plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

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

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

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

MATLAB - laboratorium nr 1 wektory i macierze

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

KATEGORIA OBSZAR WIEDZY

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

C++. Æwiczenia zaawansowane

Jak zaimportować bazę do system SARE

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

1. Wypisywanie danych

1 Powtórzenie wiadomości

Laboratorium technik optymalizacji: układanie uniwersyteckiego planu zajęć

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Programowanie w językach wysokiego poziomu

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

Pole wielokąta. Wejście. Wyjście. Przykład

INSTRUKCJA OBSŁUGI PROGRAMU FOTOLASER

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Zastanawiałeś się może, dlaczego Twój współpracownik,

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

4.Arkusz kalkulacyjny Calc

Laboratorium - Utwórz partycję w Windows Vista

Na poniższym rysunku widać fragment planszy. Pozycja pionka jest oznaczona przez. Pola, na które może dojść (w jednym ruchu), oznaczone są.

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Laboratorium - Utwórz partycję w Windows 7

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

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Transkrypt:

Projekty zaliczeniowe Podstawy Programowania 2012/2013 0. Zasady ogólne W skład projektu wchodzą następujące elementy: dokładny opis rozwiązywanego problemu opis słowny rozwiązania problemu wraz z pseudokodami szacunkowy opis efektywności (ilość operacji wykonywanych przez aplikację w zależności od danych wejściowych) instrukcja obsługi kod źródłowy aplikacji przykładowe dane wejściowe (jeśli dotyczy) Wszystkie materiały poza źródłami i danymi wejściowymi winny zostać dostarczone w jednym pliku PDF. 1. Labirynt Celem aplikacji jest wczytanie (z pliku bądź ze standardowego wejścia) dwuwymiarowego obrazu labiryntu o określonych rozmiarach. Każde pole może być oznaczone przez jedną z wartości: - '#' - ściana, nie można na nią wejść - '.' - korytarz, można po nim chodzić - '$' - punkt startowy - '@' - punkt docelowy. Aplikacja na wyjściu musi wypisać ciąg kroków, nieoddzielonych żadnymi znakami (jak spacje, nowe linie), który wystarczy do przejścia labiryntu od początku do końca. Droga nie musi być optymalna, dopuszczane są nawroty. Wejście: - dwie liczby oznaczające wysokość i szerokość labiryntu - obraz labiryntu Np: 5 6 #$.### ##...# #..### ##..## ###.@#

Wyjście: ciąg kroków, gdzie: - L - krok w lewo - P - krok w prawo - D - krok w dół - G - krok w górę. - S - start - K - koniec Np: SPDPPLLDDPDPK Algorytm może zakończyć się w ślepym zaułku i już nie poszukiwać dalszego wyjścia. Dodajemy wtedy nowy stan - B - blokada Przykład dla labiryntu powyżej: SPDDLB 2. Gra planszowa/strategiczna Zrealizowana w konsoli lub prostym systemie graficznym (np. PDCurses lub OpenGL + GLUT). Zasady gry i metoda wykonania do dyskusji. Szczegóły i poziom trudności projektu do ustalenia. - brak systemu graficznego, tylko czyszczona za każdym ruchem konsola. 3. Wyszukiwanie najkrótszej ścieżki. Dana jest tablica dwuwymiarowa, zawierająca liczby dodatnie. Należy znaleźć ścieżkę od pierwszej kolumny do ostatniej, taką, by suma pól, przez które wiedzie, była jak najmniejsza. Można poruszać się na boki i po skosie. Co więcej, z pierwszego wiersza można przejść do ostatniego. Na wejściu podane są wymiary tablicy i sama tablica, na wyjściu pojawić ma się suma odwiedzonych pól, nie trzeba wypisywać poszczególnych kroków. Dane testowe można uzyskać od prowadzącego zajęcia. Wejście: 3 4 6 2 5 4 3 9 3 2 4 4 1 3

Wyjście: Suma pól - 8. (Ścieżka wiedzie przez pola 3, 2, 1 i 2.) Jako pierwsza liczba na wejściu podawana jest liczba kroków na przód, którą program musi analizować. Z tych kroków za każdym razem wybiera optymalną w danej chwili drogę, nie musi być ona najlepsza w kontekście całej tablicy. Przy remisach wybór drogi dowolny. Między pierwszym rzędem a ostatnim NIE MA połączenia. 2 //ilość kroków 5 5 3 3 1 1 1 1 1 6 6 6 Wyjście: Suma pól - 20 Wyjaśnienie: Program bada za każdym razem dwa najbliższe kroki. Dzięki temu wybiera drogę przez rząd czwarty, zamiast przez pierwszy. Wersja bardzo uproszczona: Program bada tylko koszt najbliższego pola, przy czym za każdym krokiem musi poruszać się w prawą stronę. 4. Formatowanie pliku Dla podanego pliku wejściowego zastosuj formatowanie zgodnie z poniższymi regułami. Sformatowany tekst wypisz na ekran. - po przecinku zawsze jest spacja ( "tekst,tekst" => "tekst, tekst" ) - dookoła nawiasów okrągłych są spacje ("asdasdas(dasdasdas)asdasd"=>"asdasdas ( dasdasdas ) asdasd") - wewnątrz nawiasów kwadratowych są spacje ("asdasd[qwe]asdasd" => "asdasd[ qwe ]asdasd")

- operatory matematyczne (+, -, *, /, %, =), logiczne (<, >, >=, <=, ==, &&, ) i bitowe (, &, <<, >>) otoczone są spacjami - nawiasy klamrowe są jedynymi niebiałymi znakami w linii (otoczone są znakami nowej linii) - znak średnika kończy linię - wszystkie tabulatory na początku linii zamienione są na 4 spacje - nie ma podwójnych spacji poza początkiem linii ("tekst tekst" => "tekst tekst") Wersja zaawansowana: - reguły wersji uproszczonej - średnik NIE kończy linii, jeżeli jest otoczony nawiasami okrągłymi (jak np. w pętli for) - wcięcia: - jeden poziom wcięcia to cztery spacje - otwarcie nawiasu klamrowego zwiększa poziom wcięć o jeden w następnej linii - zamknięcie nawiasu klamrowego zmniejsza poziom wcięcia w linii z nawiasem {test{asd}asd} => { test { asd } asd } 5. Wyszukiwanie tekstu Program przeszukuje wszystkie pliki *.txt z bieżącego katalogu w poszukiwaniu wzorca podanego z klawiatury. Wzorzec może zawierać * jako oznaczenie ciągu dowolnych znaków (również ciągu pustego) lub? jako oznaczenie dokładnie jednego dowolnego znaku. Nie dotyczy to znaków końca linii. Program ma wypisać nazwę pliku, numer linii, w której znaleziono zadany tekst, oraz faktycznie znaleziony tekst. przeszukiwanie tylko jednego pliku, o nazwie podanej z klawiatury. 6. Wyszukiwanie permutacji - projekt prosty W pliku wejściowym, w pierwszej linii, znajduje się ciąg liczb dodatnich. Należy w dalszych liniach znaleźć wszystkie wariacje (bez powtórzeń) tego ciągu i zapisać je do pliku wyjściowego.

7. Zliczanie wyrazów - projekt prosty Program ma za zadanie zliczyć liczbę wystąpień wyrazów w wejściowym pliku tekstowym oraz wypisać je na ekran w kolejności od najczęstszych do najrzadszych. 8. Quiz - projekt prosty Program ma za zadanie wczytać pytania z pliku tekstowego (format dowolny), wyświetlić je w losowej kolejności (wraz z losową kolejnością odpowiedzi) oraz zebrać odpowiedzi użytkownika. Po zakończonym quizie, program wyświetla liczbę zdobytych punktów (również procentowo) oraz listę pytań, na które odpowiedziano źle (wraz z zaznaczeniem odpowiedzi poprawnej i tej, której udzielił użytkownik). Format graficzny dowolny. Pytania nie mogą się powtarzać. 9. Trener pisania na klawiaturze Program wczytuje bazę zdań z pliku, każde zdanie w osobnej linii. Następnie wyświetla użytkownikowi jedno zdanie i każe je przepisać. Użytkownik wpisuje tekst, jednak nie widzi wpisanego tekstu na ekranie. Po naciśnięciu "enter" program wyświetla wpisane przez użytkownika zdanie, wyraźnie pokazuje błędy oraz pokazuje procentową ilość błędów (za dobre uznajemy właściwe litery na właściwych pozycjach). Do tego program pokazuje czas, jaki upłynął od naciśnięcia pierwszego klawisza zdania do ostatniego. 10. Szyfrowanie plików wybraną metodą podstawieniową Do wyboru szyfry ADFGVX, Playfair, Vigenere, Four-square lub inne do ustalenia z prowadzącym. 11. Kompresja pliku tekstowego metodą RLE projekt prosty Program wczytuje nazwę pliku wejściowego i wyjściowego oraz tryb działania (kompresja albo dekompresja). W zależności od trybu, w pliku wyjściowym znaleźć ma się przetworzony plik wejściowy. Plik wejściowy składa się tylko z liter i znaków nienumerycznych.