PROLOG: WEJŚCIE/WYJŚCIE I FUNKCJE WBUDOWANE. Autor: Mateusz Chojnacki

Wielkość: px
Rozpocząć pokaz od strony:

Download "PROLOG: WEJŚCIE/WYJŚCIE I FUNKCJE WBUDOWANE. Autor: Mateusz Chojnacki"

Transkrypt

1 PROLOG: WEJŚCIE/WYJŚCIE I FUNKCJE WBUDOWANE Autor: Mateusz Chojnacki

2 WEJŚCIE/WYJŚCIE Do tej pory jedynym sposobem na dostarczenie informacji do programu Prolog a było zadawanie pytań w zakresie określonej bazy. Dodatkowo Prolog odpowiadał jedynie w sposób X= odpowiedź, co w większości przypadków zupełnie wystarcza. Jednakże przydatnym jest napisanie programu Prolog a, tak by sam z nami toczył konwersacje.

3 STARA METODA Weźmy przykładową bazę wydarzeń zawierającą daty i nagłówki event(1505,[ Euclid,translated,into, Latin ]). event(1510,[ Reuchlin-Pfefferkorn,controversy]). event(1523,[ Christian,`II`,flees,from, Denmark ]).?- event(1505,x). X=[Euclid, translated,into,latin].

4 STARA METODA CD. Reprezentacja nagłówka jako listy atomów ma przewagę w momencie wyszukiwania pod kątem konkretnego atomu. Stwórzmy komendę when(x,y) która powiedzie się jeśli X jest wspomniany w roku Y when(x,y) :- event(y,z), member(x,z).?- when( Denmark, Data). Data=1523

5 NOWA METODA Teraz chcemy, by Prolog sam zapytał nas o której dacie chcielibyśmy się dowiedzieć, a następnie wyświetli nagłówek. By osiągnąć ten cel użyjemy wbudowanych funkcji Prologa, które odpowiadają za wejście i wyjście

6 FUNKCJA READ Funkcja read zczyta kolejną linię wprowadzoną z klawiatury zakończoną kropką i spacją bądź enterem. hello1(event) :-read(date), event(date,event).?-hello1(x). Po tym zapytaniu Prolog będzie czekać na datę, jako że jest on podana w funkcji read Prolog przeszuka bazę danych pod kątem podanej daty i zwróci nam nagłówek: X=[ Christian, II,flees,from, Denmark ]?

7 FUNKCJA WRITE I NL Funkcja write jest używana do wyświetlania zadanego parametru. Podobnie jak funkcja read, działa tylko raz. Jeśli funkcja się nie powiedzie dostaniemy unikalną wartość numeryczną. Funkcja nl (new line) jest używana do wymuszenia nowej linii na wszystkich kolejno wypisywanych elementach. Tak samo jak write, działa tylko raz. Wypisując elementy listy, warto zadbać o ich czytelność, co w przypadku listy list może być utrudnione.

8 FUNKCJA WRITE I NL CD. Postaramy się wypisać listę list [1,2,[3,4],5,6] w następujący sposób W tym celu zdefiniujemy dwie funkcje, spaces i pp(x,y)

9 FUNKCJA WRITE I NL CD. Funkcja spaces będzie kontrolować głębokość elementów w naszej liście i odpowiednio wypisywać ilość spacji spaces(0) :-!. spaces(n) :- write(` `), N1 is N -1, spaces(n1). Funkcja pp będzie wypisywać kolejne elementy listy w nowych linijkach biorąc pod uwagę ich głębokość pp([h T], I) :-!, J is I + 3, pp(h,j), ppx(t,j), nl. pp(x,i) :- spaces(i), write (X), nl. ppx([],_). ppx([h T],I) :- pp(h,i) ppx(t,i).

10 FUNKCJA WRITE I NL CD. Teraz stworzymy funkcję phh która wypisze nam nagłówki wydarzeń oddzielając każdy atom spacją. phh([]) :- nl. phh([h T]) :- write(h), spaces(0), phh(t). Dla przykładu wyświetlimy wszystkie nagłówki zawierające England :?- event(_, L), member (`England`,L), phh(l).

11 POŁĄCZENIE READ I WRITE Teraz, kiedy poznaliśmy obie funkcje read i write, możemy ich użyć do ulepszenia naszego programu hello2:- phh([`what`,date,do,you,`desire?`]), read(d), event(d,s), phh(s).

12 CZYTANIE ZNAKÓW Znak to najmniejszy element która może być zczytana i wypisana przez program. Prolog jako znak rozumie atomy które posiadają dokładnie jeden element w nazwie, na przykład: `a`,`\n` czy ` `.

13 CZYTANIE ZNAKÓW CD. Prolog posiada kilka wbudowanych funkcji do czytania znaków. Jedną z nich jest funkcja get_char(x). Funkcja ta pozwala nam na zczytanie znaku wprowadzonego za pomocą klawiatury. W zależności od programu wpisane znaki mogą być dla Prologa niedostępne do póki linia tekstu nie zostanie zakończona Enterem. Jeśli X jest już w użyciu, get_char(x) porównuje go z kolejnym znakiem i powodzi się (lub nie) w zależności od wyniku.

14 CZYTANIE ZNAKÓW CD. Przykładowy kod który sprawdza drobne błędy: check_line(ok) :- get_char(x), rest_line(`\n`,x,ok). rest_line(_,`\n`,yes) :-!. rest_line(last,current,no) :- typing_error(last,current),!, get_char(new), rest_line(current,new,_). rest_line(_,current,ok) :- get_char(new), rest_line(current,new,ok). typing_error(`q`,`w`). typing_error(`c`,`v`).

15 CZYTANIE ZNAKÓW CD. Gdy check_line(x) zostaje wywołane, czyta wszystkie znaki do póki nie pojawi się `\n` (nowa linia). Podczas czytania znaki są porównywane z listą częstych błędów (typing_error). Przykładowo, wiemy że w języku angielskim litery takie jak qw i cv nigdy nie występują obok siebie w wyrazach. Zapytanie Zwróci nam X=no?- check_line(x). Please could you enter your cvomment on the proposal

16 PISANIE ZNAKÓW Wbudowana funkcja put_char(x)wypisze nam znak X. Funkcja zawsze się powiedzie, ale zmiennej nie można nadpisać. W przypadku nadpisania pojawi się błąd, a efektem ubocznym będzie wypisanie argumentu jako znaku.?- put_char(`h`), put_char(`e`), put_char(`l`), put_char(`l`), put_char(`o`). hello

17 PISANIE ZNAKÓW CD. Możemy wykorzystać funkcję put_char(x) do poprawy błędów wyłapanych przez check_line. W tym celu napiszemy funkcję correct_line correct_line :- get_char(x), corect_rest_line(`\n`,x). correct_rest_line(c,`\n`) :-!, put_char(c), nl. correct_rest_line(last,current) :- typing_correction(last,current,corr),!, get_char(new), correct_rest_line(corr,new). correct_rest_line(last,current) :- put_char(last), get_char(new), correct_rest_line(current,new). typing_correction(`q`,`w`,`q`). typing_correction(`c`,`v`,`c`).

18 CZYTANIE ZDAŃ Do czytania zdań użyjemy wbudowanej funkcji read_in. Funkcja ta tworzy listę wyrazów, które wchodzą w skład naszego zdania. Prolog rozumie wyraz jako ciąg znaków kończący się spacją. Znaki specjalne takie jak `,` `.` `;` `?` `!` są czytane jako osobne wyrazy. Funkcja uznaje `.` `?` `!` jako zakończenie zdania. Duże litery automatycznie konwertowane są na małe.?-read_in(s). The man, who is old, saw Joe s hat. S = [the,man,`,`,who,is,old,`,`,saw,`joe``s`,hat,`.`]

19 CZYTANIE I ZAPISYWANIE PLIKÓW Jak na razie używaliśmy Prologa do czytania i wypisywania tekstu na jego konsoli. Teraz zajmiemy się czytaniem i wypisywaniem tekstu do pliku. By lepiej zrozumieć dalszą część wykładu warto pamiętać o kilku zasadach jakimi rządzą się pliki. W Prologu nazwy plików są reprezentowane przez atomy. Pliki mają określoną długość i na końcu każdego z nich jest znacznik end of file marker. W momencie gdy natrafi na niego get_char(x) albo read(x), X zostanie zapisany jako specjalny atom `end_of_file`.

20 CZYTANIE I ZAPISYWANIE PLIKÓW CD. Prolog rozpoznaje aktualny strumień wejścia i aktualny strumień wyjścia, z których czyta całe wejście i wyjście. Zazwyczaj za aktualny strumień wejścia uznaje się klawiaturę, a za strumień wyjścia wyświetlacz. Można to tymczasowo zmienić podczas działania programu. Zanim uzyskamy dostęp do pliku należy utworzyć dla niego strumień. Możemy do tego użyć wbudowanej funkcji open. Jako dwa pierwsze argumenty podajemy nazwę pliku i atom read albo write w zależności czy chcemy czytać czy zapisać plik. Trzecim argumentem jest zmienna nazywająca nasz strumień danych.

21 CZYTANIE I ZAPISYWANIE PLIKÓW CD. Przykładowo?- open(`mojplik.pl`,read,x). Podpisuje pod X strumień którego możemy użyć do czytania pliku `mojplik.pl`?-open(`output`,write,x). Podpisuje pod X strumień którego możemy użyć do zapisania pliku o nazwie `output`.

22 CZYTANIE I ZAPISYWANIE PLIKÓW CD. Funkcja close zamyka strumień, przykładowo: program :- open(`mojplik.pl`,read,x), code_reading_from(x), close(x). Gdzie code_reading_from jest funkcją, która czyta kod z stumienia program :- open(`output`,write,x), code_writing_to(x), close(x). Gdzie code_writing_to jest funkcją, która zapisuje kod ze strumienia.

23 EDYCJA AKTUALNEGO WEJŚCIA I WYJŚCIA Program który utworzy nowy strumień X będzie musiał zrobić z nim następujące rzeczy: 1. Ustawić aktualny strumień wejścia lub wyjścia jako X. 2. Wywołać operacje close. 3. Przekazać do innej części programu. Edycja aktualnego strumienia jest egzekwowana przez wbudowane funkcje set_input i set_output. Oba wymagają jednego argumentu, nazwy strumienia bądź atomu user_input/user_output. Efekty tych funkcji są nieodwracalne.

24 EDYCJA AKTUALNEGO WEJŚCIA I WYJŚCIA CD. Wbudowane funkcje current_input i current_output pozwalają nam na dostęp do aktualnego strumienia. Daje nam to możliwość zapamiętania stanu strumienia przed edycją. program :- open(`mojplik.pl`,read,x), current_input(stream), set_input(x), code_reading, close(x), set_input(stream).

25 EDYCJA AKTUALNEGO WEJŚCIA I WYJŚCIA CD. program :- open(`mojplik.pl`,write,x), current_output(stream), set_output (X), code_writing, close(x), set_output(stream).

26 SPRAWDZANIE PLIKU Czytanie i zapisywanie plików jest najbardziej pomocne gdy pracujemy z większą ilością elementów. W Prologu pliki mogą przechowywać programy. Jeśli tekst naszego programu jest zapisany w pliku, czytanie i zapisywanie go do bazy danych jest zwane sprawdzaniem pliku. Prolog posiada wbudowaną funkcję consult. W momencie wywołania, consult(x) (gdzie X to plik) zczyta wszystkie linie kodu. Prolog posiada również możliwość składania i czytania listy plików.?- [file1,mapper,expert]. Działa to w taki sam sposób co: consultall([]). consultall([h T]) :- consult(h), consultall(t).

27 OPERATORY Operatory w prologu posiadają trzy właściwości: pozycję, nadrzędność klasy, przywiązanie. Pozycja ma trzy opcje: infix, postfix,prefix (operator z dwoma argumentami jest pomiędzy nimi ; operator z jednym argumentem może wystąpić przed lub po nim). Nadrzędną klasą jest Integer, którego zasięg w Prologu wynosi od 1 do Nadrzędność klasy jest użyta by jednoznacznie określić klasę zmiennych w przypadku nie jasnego użycia nawiasów. Przywiązanie ujednolica działanie w momencie gdy są użyte w nim dwa operatory.

28 OPERATORY CD. W prologu przywiązujemy specjalny atom do operatora który okleśla jego pozycję i przywiązanie. Dla operatorów z dwoma argumentami możliwości są cztery: xfx xfy yfx yfy Dla operatorów stojących przed argumentem: fx fy Dla operatorów stojących za argumentem: xf yf Gdzie x i y to argumenty a f to operator.

29 OPERATORY CD. Argumenty są przedstawione za pomocą x i y gdyż argument może posiadać wewnątrz siebie kolejny operator. Na przykład: a + b + c Ma dwie możliwości: (a + b) + c albo a + (b + c)

30 OPERATORY CD. W prologu jeśli chcemy zadeklarować nasz operator używamy wbudowanej funkcji op.?- op(prec, Spec,Name). Dla przykładu, oto lista kilku domyślnie zadeklarowanych operatorów:?- op(1200,xfx,`:-`).?- op(1200,fx,`?-`).?- op(1200,fx,`:-`).?- op(700,xfx,`=`).?- op(900,fy,`\+`).?- op(500,yfx,`+`).?- op(400,yfx,`*`).

31 FUNKCJE WBUDOWANE Dodawanie nowych warunków: consult(x) gdzie X jest nazwą naszego pliku o rozszerzeniu.pl pozwala podmienić wszystkie warunki w zadanym pliku na jedeno twierdzenie jeśli chcemy ten efekt uzyskać na wielu plikach jednocześnie możemy się posłużyć listą w sposób:?- [plik1,plik2,plik3]. co zastępuje dłuższą wersję:?- consult(plik1),consult(plik2),consult(plik3).

32 FUNKCJE WBUDOWANE CD. kolejnymi wbudowanymi twierdzeniami są true i fail true istnieje jedynie dla wygody fail pozwala na wymuszanie nawrotów w procesie poszukiwania rozwiązania, co pozwala w szczególności na znalezienie wszystkich rozwiązań problemu.?- event(x,y), phh(y), fail.

33 FUNKCJE WBUDOWANE CD. twierdzenie var(x) działa, jeśli X jest w danym momencie nieprzypisaną zmienną np.: var(x) zwraca true var(23) zwraca false X=Y, Y=23, var(x) zwraca false twierdzenie nonvar(x) jest przeciwieństwem funkcji var(x) a więc działa jeśli X NIE jest w danym momencie nieprzypisaną zmienną

34 FUNKCJE WBUDOWANE CD. twierdzenie atom(x) działa jeśli w danym momencie X jest atomem Prologa, a więc: atom(23) zwraca false atom(apples) zwraca true atom(program.pl) zwraca true atom(x) zwraca false twierdzenie number(x) działa jeśli X jest w danym momencie liczbą twierdzenie atomic(x) działa jeśli X jest w danym momencie atomem bądź liczbą: atomic(x):-atom(x). atomic(x):-number(x).

35 FUNKCJE WBUDOWANE CD. twierdzenie listing(a), gdzie A jest przypisane do zdefiniowanego warunku w pliku Prologa pozwala zobaczyć jaki jest proces działania danego polecenia jeśli w pliku zdefinujemy funkcje: dad(tom). son(tim). parent(tom,tim). child(x,y):-parent(y,x). to użycie listing(child). w kompilatorze wyrzuci nam na ekran child(x,y):- parent(y,x).

36 FUNKCJE WBUDOWANE CD. twierdzenia asserta(x) i assertz(x), pozwalają dodać do pliku Prologa funkcje asserta dodaje funkcje na początku programu, a assertz na końcu X musi być wcześniej przypisany do jakiejś funkcji twierdzenie retract(x) pozwala usunąć z programu funkcje oczywiście nie możemy usuwać funkcji wbudowanych

37 FUNKCJE WBUDOWANE CD. twierdzenie atom_chars(a,l) pozwala nam rozbić ciąg charów na tablice pojedyńczych elementów lub z pojedyńczych charów stworzyć ciąg np.: atom_chars(apple,x). X=[a,p,p,l,e] atom_chars(x,[a,p,p,l,e]) X=apple

38 FUNKCJE WBUDOWANE CD. twierdzenie number_chars(a,l) pozwala nam rozbić liczbe na tablice pojedyńczych cyfr lub z pojedyńczych cyfr stworzyć liczbe np.: number_chars(123.5,x). X=['1','2','3','.','5'] number_chars(x,['1','2','3']) X=123

39 FUNKCJE WBUDOWANE CD. operatory `,` `i` `;` służą do łączenia dwóch funkcji, służy do traktowania dwóch celów łącznie, czyli: X,Y jest spełnione jeśli X jest spełniony i Y jest spełniony ; służy do traktowania dwóch celów rozłącznie, czyli: X;Y jest spełnione jeśli X jest spełniony LUB Y jest spełniony

40 FUNKCJE WBUDOWANE CD. Twierdzenie call(x), gdzie X to funkcja, jest spełnione jeśli X jest spełnione jest to funkcja bezużyteczna na obecnym etapie, jako że np.: call(member(a,x)) da nam ten sam rezultat co member(a,x) operator \+ jest rozumiany jako zaprzeczenie, czyli: \+X jest spełnione jeśli X nie jest spełniony operator X==Y przyrównuje do siebie elementy X i Y, jeśli się to uda, to funkcja została spełniona, w przeciwnym wypadku, funkcja zawodzi.

41 FUNKCJE WBUDOWANE CD. twierdzenie get_char(x) zostaje spełnione jeśli X pasuje do pierwszego napotkanego symbolu na strumieniu wejścia, wykonuje się jednorazowo twierdzenie read(x) zostaje spełnione jeśli X pasuje do całego wprowadzonego zdania na strumieniu wejścia, wykonuje się jednorazowo twierdzenie put_char(x) wypisuje pojedyńczy znak na ekran, wykonuje się jednorazowo skrót nl powoduje wstawienie nowej linii write(x) wypisuje X na ekran, gdzie X jest ciągiem znaków write_canonical(x) działa tak jak write(x) z wyjątkiem tego że ignoruje operatory

42 FUNKCJE WBUDOWANE CD. open(x,y,z) otwiera plik, gdzie X to nazwa pliku, Y ustawia się na read jeśli plik ma być do odczytu, bądź na write jeśli ma być do edycji, Z nadaje lokalna nazwe dla tekstu zawartego w pliku w razie chęci działania na nim. close(x) służy do zamknięcia otwartego tekstu, gdzie w miejsce X podajemy nazwę Z z przykładu powyżej

43 FUNKCJE WBUDOWANE CD. set_input(x) ustawia wejście na dany ciąg który jest przekazany poprzez X ( Z w open ) set_output(x) ustawia wyjście na dany ciąg który jest przekazany poprzez X ( Z w open ) current_input(x) jest spełniony jeśli nazwa ciągu na wejściu jest taka jak X current_output(x) jest spełniony jeśli nazwa ciągu na wyjściu jest taka jak X

44 FUNKCJE WBUDOWANE CD. X+Y daje nam sume X i Y X-Y daje nam różnice X i Y X*Y daje nam iloczyn X i Y X/Y daje nam iloraz X i Y w postaci float X//Y daje nam iloraz X i Y w postaci int XmodY daje nam reszte z dzielenia X i Y X=:=Y sprawdzenie czy X i Y mają te same numeryczne wartości X=\=Y sprawdzenie czy X i Y mają różne numeryczne wartości X<Y sprawdzenie czy wartość X jest mniejsza od wartości Y X>Y sprawdzenie czy wartość X jest większa od wartości Y X>=Y sprawdzenie czy wartość X jest większa bądź równa wartości Y X=<Y sprawdzenie czy wartość X jest mniejsza bądź równa wartości Y

45 FUNKCJE WBUDOWANE CD. spy P służy do ustawiania punktów zainteresowania w wybranych miejscach programu dzięki którym mamy wgląd wewnątrz funkcji debugging wyświetla liste wszystki punktów szpiega nodebug usuwa wszystkie punkty szpiega nospy usuwa podane przez użytkownika punkty szpiega

Prolog Wejście / wyjście r

Prolog Wejście / wyjście r Prolog Wejście / wyjście 16.06.2016r Najprostszym sposobem pobierania danych od użytkownika jest odczytywanie informacji wprowadzonych za pomocą urządzenia standardowego wejścia jakim zwykle jest klawiatura.

Bardziej szczegółowo

Programowanie w logice Prolog 3

Programowanie w logice Prolog 3 Programowanie w logice Prolog 3 Predykaty wbudowane Predykaty wbudowane to predykaty, których definicje są z góry znane systemowi a zatem nie ma konieczności ich definiowania. Predykaty wbudowane mogą

Bardziej szczegółowo

Programowanie w Logice

Programowanie w Logice Programowanie w Logice Wejście i wyjście Przemysław Kobylański na podstawie [CM2003] Term czyta się ze standardowego wejścia predykatem read/1. Każdy wczytywany term powinien być zakończony kropką. Predykat

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Programowanie 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 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ółowo

Programowanie w logice

Programowanie w logice Programowanie w logice PROLOG cz.3 Predykat sprawdzający, czy podana lista stanowi początek innej listy: poczatek([],[_ _]). poczatek([h1 T1], [H2 T2]) :- H1 = H2, poczatek(t1,t2). ------------------------------------------------------------------------

Bardziej szczegółowo

Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka)

Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka) Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka) Rozdział 2 Constructing Prolog Programs z książki Prolog Programming in Depth autorstwa Michael A. Covington, Donald Nute,

Bardziej szczegółowo

Programowanie w logice

Programowanie w logice Wydział Matematyki UŁ 14 marca 2007 Plan prezentacji 1 Składnia Termy Stałe Zmienne Struktury 2 Własny operator Przeciążanie operatorów 3 Arytmetyczne i logiczne predykaty systemowe 4 Do zapamiętania Termy

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Wstę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 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ółowo

Podstawy 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. 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ółowo

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

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś

Bardziej szczegółowo

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy: Kurs C++ częśd II Podstawowa obsługa konsoli + zmienne. Autor: Dawid Chróścielski. Wprowadzanie i wyprowadzanie danych z/do konsoli. Jak wyprowadzad dane dowiedzieliśmy się już wcześniej (metoda cout z

Bardziej szczegółowo

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Zadanie nr 3: Sprawdzanie testu z arytmetyki Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne

Bardziej szczegółowo

Wstę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 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ółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie w logice

Programowanie w logice Wejście i wyjście Wydział Matematyki UŁ 30 marca 2007 Plan prezentacji Czytanie i pisanie termów 1 Czytanie i pisanie termów Czytanie termów Pisanie termów 2 Czytanie znaków Pisanie znaków 3 Czytanie z

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

Bardziej szczegółowo

Wykład PASCAL - Pliki tekstowe

Wykł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ółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof

Bardziej szczegółowo

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie Linux Polecenia Opracował: Andrzej Nowak Operatory zmiany sposobu przypisania standardowych strumieni >,> Przykłady: 2> plik przypisuje standardowe wyjście błędów do pliku, 1>&2 przypisanie standardowe

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Informatyka 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 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ółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

Statyczne i dynamiczne predykaty

Statyczne i dynamiczne predykaty Statyczne i dynamiczne predykaty Dynamiczne dowodzą lub odwołują pewne reguły, Statyczne nie potrafią tego co dynamiczne, ponieważ ich punkty zostały zebrane w całość, która działa szybciej, ale nie jest

Bardziej szczegółowo

Oczywiście plik musi mieć rozszerzenie *.php

Oczywiście plik musi mieć rozszerzenie *.php Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Program, który się uczy.

Program, który się uczy. Program, który się uczy. Korzystając z omówionych poleceń, jesteśmy w stanie zaprojektować program, który nauczy się nowych informacji do swojej bazy wiedzy, a także zapisze je w taki sposób, aby mogły

Bardziej szczegółowo

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 2. Zmienne i stałe Przykłady 2.1. Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 5 int a = 281; int b = 117; 7 8 cout

Bardziej szczegółowo

Technologie Informacyjne - Linux 2

Technologie Informacyjne - Linux 2 Technologie Informacyjne - 2 Instytut Matematyki Uniwersytet Gdański Powłoka - polecenia pośredniczace Polecenie grep wypisuje z pliku lub strumienia wejściowego te wiersze, które sa zgodne z podanym wyrażeniem.

Bardziej szczegółowo

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

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem

Bardziej szczegółowo

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana. 8. Wektory Przykłady 8.1. Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana. Uwaga! Kod poniżej. To zadanie można rozwiązać przy użyciu wiedzy

Bardziej szczegółowo

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

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

1 second UPS. Poziom trudności: łatwy. Wersja dokumentacji: 1.3. Aktualizacja: 06.02.2015. Beckhoff Automation Sp. z o. o.

1 second UPS. Poziom trudności: łatwy. Wersja dokumentacji: 1.3. Aktualizacja: 06.02.2015. Beckhoff Automation Sp. z o. o. Poziom trudności: łatwy Wersja dokumentacji: 1.3 Aktualizacja: 06.02.2015 Beckhoff Automation Sp. z o. o. Spis treści 1. Wprowadzenie... 2 2. Domyślne wywołanie bloku FB_S_UPS... 3 3. Domyślne wywołanie

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Dlatego trzeba je zapisywać do pliku, a potem umieć je z tego

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty 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ółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania

Bardziej szczegółowo

Zakład Systemów Rozproszonych

Zakład Systemów Rozproszonych Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 5: Wybrane programy użytkowe Edytor Vi Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać następujących operacji:

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!! Zestaw 1-1 1. Napisz program pobierający od użytkownika liczbę całkowitą R (R>1) i liczbę rzeczywistą dodatnią S, a następnie informujący ile kolejnych liczb z ciągu 1, R-1, R 2-2, R 3-3, R 4-4, należy

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 12 - Programowanie w BASHu Trochę bardziej zaawansowane Bartek Wilczyński 25.1.2016 Organizacyjne Bardzo proszę o wypełnienie ankiet w USOS Szczególnie zależy

Bardziej szczegółowo

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

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression) Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Struktury, unie, formatowanie, wskaźniki

Struktury, unie, formatowanie, wskaźniki Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for

Bardziej szczegółowo

Stał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, 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ółowo

Laboratorium kryptograficzne dla licealistów 3

Laboratorium kryptograficzne dla licealistów 3 Laboratorium kryptograficzne dla licealistów 3 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 06.04.2017 1 Wczytywanie danych z pliku Do tej pory wszystkie dane, z których korzystały nasze programy,

Bardziej szczegółowo

Programowanie w języku Java

Programowanie w języku Java Katedra Inżynierii Wiedzy laborki 7 Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Zapis do pliku Rysunek: Odczyt z pliku Rysunek:

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

do instrukcja while(wyrażenie);

do instrukcja while(wyrażenie); emat zajęć: Operatory i instrukcje w języku C - 3 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Język C oferuje kilka instrukcji cyklu (pętli). Oprócz wprowadzonej wcześniej

Bardziej szczegółowo

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc. Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez

Bardziej szczegółowo

PROLOG INNE PRZYKŁADY MACIEJ KELM

PROLOG INNE PRZYKŁADY MACIEJ KELM PROLOG INNE PRZYKŁADY MACIEJ KELM PREDYKAT RANDOM Funkcja random zwraca losową liczbę całkowitą w przedziale od 1 do X. Gdzie X jest parametrem funkcji random. Przed użyciem random należy zainicjować tak

Bardziej szczegółowo

Podstawowe typy zmiennych

Podstawowe typy zmiennych Podstawowe typy zmiennych Typ Rozmiar w bajtach Minimalny zakres char 1 Kod ASCII znaku (liczba 0..255) int 1 4-2147483648 2147483647 long long 1 8-2 63...2 63-1 float 4-3,4*10 38 3,4*10 38 (do 6 cyfr

Bardziej szczegółowo

Języki programowania imperatywnego

Języki programowania imperatywnego Katedra Inżynierii Wiedzy laborki 10 Jeszcze o plikach i katalogach File.Exists; File.Delete; Directory.Exists; Directory.Delete(nazwa, true); File.Move(nazwa, nowanazwa); Directory.CreateDirectory(nazwa);

Bardziej szczegółowo

Skrypty powłoki w systemie Linux

Skrypty powłoki w systemie Linux Skrypty powłoki w systemie Linux Wykonywanie codziennych czynności w systemie operacyjnym jest męczące, gdy za każdym razem trzeba wpisywać te same zestawy komend. Znacznie wygodniej byłoby zapisać je

Bardziej szczegółowo

Laboratorium 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 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ółowo

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. Zadania język C++ Zad. 1 Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. (Być moŝe są w tym samym wieku. Zrób w programie warunek,

Bardziej szczegółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

Bardziej szczegółowo

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za

Bardziej szczegółowo

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

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 6: Ciągi znaków mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 listopada 2016 1. Wprowadzenie Instrukcja poświęcona jest zmiennym, które służą do przechowywania

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Warunek wielokrotnego wyboru switch... case

Warunek wielokrotnego wyboru switch... case Warunek wielokrotnego wyboru switch... case Działanie instrukcji switch jest zupełnie inne niż w przypadku instrukcji if o czym będziesz mógł się przekonać w niniejszym rozdziale. Różnice pomiędzy instrukcjami

Bardziej szczegółowo

Programowanie 3 - Funkcje, pliki i klasy

Programowanie 3 - Funkcje, pliki i klasy Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;

Bardziej szczegółowo

Formy dialogowe w środowisku Gnome

Formy dialogowe w środowisku Gnome Środowisko graficzne Gnome posiada wiele atrakcyjnych funkcji, które często nie są przez administratorów wykorzystywane. Jedną z nich jest dołączony zestaw form dialogowych o nazwie Zenity ( http://library.gnome.org/users/zenity/stable/

Bardziej szczegółowo

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

Ustalanie dostępu do plików - Windows XP Home/Professional

Ustalanie dostępu do plików - Windows XP Home/Professional Ustalanie dostępu do plików - Windows XP Home/Professional Aby edytować atrybuty dostępu do plikow/ katalogow w systemie plików NTFS wpierw sprawdź czy jest Wyłączone proste udostępnianie czyli przejdź

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo