Dane wejściowe/wyjściowe Wbudowane predykaty

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Katarzyna Szafrańska kl. II ti
Wstęp do strumieni danych
Programowanie obiektowe PO PO - LAB 6 Wojciech Pieprzyca.
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
Języki programowania C++
VI Rachunek predykatów
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
SO – LAB3 Wojciech Pieprzyca
Podstawy programowania
Język ANSI C Operacje we/wy
Wykład 2 struktura programu elementy języka typy zmienne
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
Wprowadzenie do programowania w języku Turbo Pascal
Semafory.
Programowanie w języku Fortran 95
Podstawy programowania
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Programowanie w logice
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Pierwsze programy.
Kunikowska Ewelina Grzechowski Ariel
TABLICE C++.
Wyrażenia w Turbo Pascalu.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Technologie internetowe II
Programowanie strukturalne i obiektowe
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Systemy wejścia i wyjścia Michał Wrona. Co to jest system wejścia i wyjścia? Pobierania informacji ze źródeł danych, zdolnych przesyłać sekwencje bajtów,
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Programy różne w C++
Programowanie strukturalne i obiektowe
Podstawy informatyki 2013/2014
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Wykład 10 typ zbiorowy rekurencja.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
PL/SQL – dalsza wędrówka
Projektowanie stron WWW
Temat 7: Instrukcje warunkowe
Temat 4: Typy danych.
Temat 8: Pętle.
Temat 3: Okno dialogowe.
PWSW Mechatronika Wykład 7 Matlab cd.
Krakowski Piotr, Woliński Radosław, Kowalski Piotr, Machowski Michał.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Rozdział IV Wyrażenia proceduralne algorytmów Grzegorz Gacek Patryk Gajewski.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Wykład 5 Informatyka MPDI 3 semestr Język JavaScript.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
Prolog - wprowadzenie Wojciech Besler Paweł Madej
Prolog Wejście / wyjście Michal Makowski r.
Nawracanie i odcięcie Jakub Czoboda, Jezierski Aleksander, Skierkowski Paweł, Bembenista Kamil, Martynowski Witold.
Piotr Kawałek , Mateusz Śliwowski
PROLOG z BLISKA Przygotowali: Konrad Daniszewski, Adam Kuliński, Konrad Poszwiński, Arkadiusz Trzciński.
Prolog: Wejście/Wyjście i funkcje wbudowane
Dane, zmienne, instrukcje
Wykonali: Jakub Gutkowski, Klaudia Belka, Damian Koncewicz
Built-in Predicates Wbudowane predykaty
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Dane wejściowe/wyjściowe Wbudowane predykaty Krzysztof Wlazło 22.05.2017

Dane wejściowe Aby pobrać dane wejściowe od użytkownika w języku Prolog można użyć specjalny predykat read. Prezentuje to następujący przykład: wydarzenie(966, ‘chrzest Polski’). wydarzenie(1025, ‘koronacja Bolesława Chrobrego’). wydarzenie(1525, ‘hołd pruski’). wyd(Y) :- read(X), wydarzenie(X, Y).

Dane wyjściowe Aby wprowadzić dane za pomocą urządzenia wyjścia można użyć predykat write. Z kolei predykat nl powoduje przejście do nowej linii. Ilustruje to następujący przykład: plus(0) :- !. plus(N) :- write('+'), nl, N1 is N - 1, plus(N1).

Czytanie znaku Możemy pobrać pojedyńczy znak X używając predykat get_char(X), np: podaj :- write('podaj znak: '), get_char(X), nl, write('podales znak: '), write(X).

Pisanie znaku Do wypisania pojedyńczego znaku X służy predykat put_char(X), np: wyswietl :- put_char('s'), put_char('h'), put_char('e'), nl, put_char('i'), put_char('s'), nl, put_char('h'), put_char('e'), put_char('r'), put_char('e').

Czytanie z pliku Aby odczytać dane z pliku należy użyć predykatów open oraz close. Ogólna forma programu odczytującego dane z pliku wygląda następująco: program :- open(‘myfile.txt’, read, X), code_reading(X), close(X). gdzie code_reading(X) jest predykatem odczytującym dane z pliku.

Pisanie do pliku Analogicznie przy pisaniu do pliku ogólna forma takiego programu wygląda następująco: program :- open(‘output.txt’, write, X), code_writing(X), close(X). gdzie code_writing(X) jest predykatem piszącym dane do pliku.

Czytanie z pliku c.d. W predykacie code_reading należy zmienić strumień wejściowy. Predykaty set_input oraz set_output zmieniają bieżący strumień wejściowy i wyjściowy. Z kolei predykaty current_input oraz current_output sprawdzają jak ustawione są strumienie.

Czytanie z pliku - przykład Zatem program czytający plik powinien wyglądać następująco: readFromFile :- open('data.txt',read,X), current_input(Stream), set_input(X), code_reading, close(X), set_input(Stream). code_reading :- read(Y), instructions(Y). instructions( end_of_file ) :- !. instructions(Y) :- write(Y), nl, code_reading.

Pisanie do pliku - przykład Analogicznie przy pisaniu do pliku program powinien wyglądać następująco: writeToFile :- open('output.txt',write,X), current_output(Stream), set_output(X), code_writing, close(X), set_output(Stream). code_writing :- read(X),\+ (X='q'), write(X),nl,flush,code_writing. gdzie flush odpowiada za czyszczenie bufora.

Wbudowane predykaty – klasyfikacja termów Prolog posiada predykaty, dzięki którym możliwe jest manipulowanie termami w zależności od ich rodzaju, np: var(X) – jest spełniony, jeżeli X jest zmienną wolną(niezwiązaną), np. var(4) daje false, a var(X) daje true, nonvar(X) - jest spełniony, jeżeli X jest zmienna związaną, a zatem predykat ten jest przeciwieństwem do var(X), np. nonvar(4) daje true, a nonvar(X) daje false, atom(X) – jest spełniony, jeżeli X jest stałą lub zmienna związaną atomową, np. atom(X) i atom(4) daje false, a atom(abece) daje true,

Wbudowane predykaty – klasyfikacja termów number(X) – jest spełniony, jeżeli X jest liczbą, np. number(-4.7) daje true, atomic(X) – jest spełniony, jeżeli X jest liczbą lub atomem, np. atomic(-24.3) oraz atomic(‘jablko’) dają true.

Wbudowane predykaty – wpływ na nawracanie Predykat repeat służy do generowania wielu rozwiązań poprzez nawracanie. Trwa do momentu, aż wszystkie cele zostaną spełnione, np. new_get(X) :- repeat, get_char(X). get_non_space(X) :- new_get(X), \+ X = ' '.

Wbudowane predykaty – złożone cele Predykat call jest używany w celu wywoływania innego predykatu, np. call(write(‘Hello World’)). Predykat \+ jest zadeklarowany jako operator prefiksowy i jest operatorem negacji, np. \+ (2=4) da w wyniku true.

Wbudowane predykaty – wyrażenia arytmetyczne W języku Prolog mamy następujące operatory arytmetyczne: X is Y X + Y X – Y X * Y X / Y X//Y(dzielenie całkowite, np. 5//3 daje 1) X mod Y

Wbudowane predykaty – operatory porównania W języku Prolog mamy następujące operatory porównania: X = Y X =:= Y(równość) X =\= Y(różność) X < Y X > Y X >= Y X =< Y