Asynchroniczne interfejsy

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

Download "Asynchroniczne interfejsy"

Transkrypt

1 Asynchroniczne interfejsy Walidacja danych WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: Kontakt: Konsultacje: Środa, godz

2 Agenda 1. Co to jest Walidacja danych?, 2. Wyrażenia regularne, 3. Wyrażenia regularne w JavaScript. 4. Walidacja danych po stronie serwera.

3 Walidacja danych Walidacja danych polega na sprawdzaniu poprawności danych wejściowych. Walidujemy dane w celu wyeliminowania: błędów użytkownika np. źle podany pesel, kod pocztowy; danych niezgodnych z regulaminem np. wulgaryzmy, odnośniki do konkurencyjnych stron; treści szkodliwych dla strony np. skrypty JavaScript, zapytania SQL;

4 Walidacja danych Wszystkie informacje trafiające od użytkownika na serwer są przesyłane w formie tekstowej, więc należy sprawdzić co dokładnie przyszło od klienta. Walidując parametry: typów prostych (int, float) możemy je prasować dzięki gotowym metodom. typów niestandardowych (adres, ) musimy skorzystać z wyrażeń regularnych. Istnieją również dane jak numery NIP, PESEL posiadające wartości kontrolne. Natomiast w tekstach występują też potrzeby usuwania słów niepożądanych metodą słownikową.

5 Wyrażenia regularne Są to wzorce opisujące łańcuchy znaków. Możemy za ich pomocą wyszukać, pociąć lub porównać dane wejściowe pasujące do naszego wzorca. Przykładowo poniższe wyrażenie regularne będzie pasować do kodów pocztowych np ^([0-9]{2}-[0-9]{3})$

6 ^([0-9]{2}-[0-9]{3})$ - łańcuch na wejściu musi być zgodny od początku do końca z wyrażeniem regularnym. ^([0-9]{2}-[0-9]{3})$ - odnosi się do dwóch początkowych cyfr kodu pocztowego. ^([0-9]{2}-[0-9]{3})$ - określa zbiór znaków od 0 do 9. ^([0-9]{2}-[0-9]{3})$ - muszą wystąpić 2 znaki zgodne ze zbiorem. ^([0-9]{2}-[0-9]{3})$ - znak myślnika w kodzie pocztowym. ^([0-9]{2}-[0-9]{3})$ - trzy ostatnie cyfr kodu pocztowego.

7 Grupowanie wyrażeń alternatywa. ( ) grupowanie wyrażań regularnych (?: ) grupowanie bez zapamiętywania wyniku \n - referencja do zapamiętanej grupy (back references) liczonej od początku. Łańcuch pod referencją musi być zgodny z łańcuchem z grupy na którą jest wskazanie.

8 Grupowanie wyrażeń przykłady wyszukiwania (12 21)abc wyrażenie zgodne z łańcuchami 12abc lub 21abc (12 21)abc\1 wyrażenie zgodne z łańcuchami 12abc12 lub 21abc21 (4 (?:5 6))(12 21)abc\2 bez grupowania (?: referencja \2 mogła by odwoływać się do dwóch różnych grup.

9 Asercja przetwarzanie warunkowe Asercja pozwala badać otoczenie szukanego łańcucha znaków przy jednoczesnym nie włączaniu ich do rezultatu. (?= ) Asercja zstępna pozytywna (?! ) Asercja zstępna negatywna (?<= ) Asercja wstępna pozytywna (?<! ) Asercja wstępna negatywna

10 Asercja - przykłady (?<=12 21)abc wyrażenie zgodne z łańcuchami abc poprzedzonymi 12 lub 21 (?<=12 21)abc(?=12 21) wyrażenie zgodne z łańcuchami abc otoczonymi 12 lub 21 (?<=(12 21))abc(?=12 21)(?!\1) wyrażenie zgodne z łańcuchami abc otoczonymi 12 lub 21 różnymi od siebie

11 Klasy znaków Klasy pozwalają określić zbiory znaków jakie mogą wystąpić w szukanym łańcuchu. [abcd] klasa zbioru znaków zgodnych. [^abcd] klasa zbioru znaków niezgodnych. [a-z] - zakres znaków zgodnych z wzorcem.

12 Klasy znaków - przykłady (?<=[ +])abc(?=[,0-9]) wyrażenie pasujące do łańcucha abc otoczonego z lewej spacją lub + oraz z prawej spacją,, i znakami od 0 do 9. (?<=[^-0-9]) [0-9] [0-9]-[0-9] [0-9] [0-9] (?![-0-9]) wyrażenie pasujące do kodów pocztowych nie otoczonych znakami - oraz znakami od 0 do 9.

13 Liczeności {n} dokładnie n powtórzeń {n,} co najmniej n powtórzeń {n,m} od n do m powtórzeń * - zero lub więcej powtórzeń ( {0,} ). + - jedno lub więcej powtórzeń ( {1,} ).? - zero lub jedno powtórzeń ( {0,1} ). {n,}? co najmniej n powtórzeń ale jak najmniej {n,m}? od n do m powtórzeń, ale jak najmniej *? - zero lub więcej powtórzeń ( {0,} ), ale jak najmniej +? - jedne lub więcej powtórzeń ( {1,} ), ale jak najmniej.?? - zero lub jedno powtórzeń ( {0,1} ), ale jak najmniej.

14 Liczeności - przykłady (00){0,}abc(df)+ - wyrażenie wyszuka łańcuchy abc wraz z parzystą ilością 0 po lewej i co najmniej raz powtórzonymi znakami df po prawej Abcdf00abcabcdfdfabc00000abcdfabcdf (00){0,}?abc(df)+? - wyrażenie wyszuka łańcuchy abc wraz z parzystą ilością 0 po lewej i co najmniej raz powtórzonymi znakami df po prawej abcdf00abcabcdfdfabc00000abcdfabcdf

15 Liczeności - przykłady (?<=[^-0-9]) [0-9]{2}- [0-9]{3} (?![-0-9]) wyrażenie pasujące do kodów pocztowych nie otoczonych znakami - oraz znakami od 0 do 9.

16 Standardowe znaki specjalne \0 pusty znak, w programowaniu znak końca string-a (\u0000) \t znak tabulacji (\u0009) \n nowa linia (\u000a) \v znak tabulacji pionowej (\u000b) \xnn znak ASCI w kodowaniu hexadecymalnym nn. \onn znak ASCI w kodowaniu ósemkowym nn. \unnnn znak Unikodu w kodowaniu hexadecymalnym nn. \cx znak sterujący X

17 Znaki specjalne w wyrażeniach regularnych \ - Znak specjalny zostanie zmieniony na znak tekstu i na odwrót.. - dowolny znak z wyjątkiem '\n' \w dowolna litera, cyfra lub znak podkreślenia ([a-za-z0-9_]) \W dowolny znak niebędący literą, cyfrą lub znakiem podkreśleniem ([^a-za-z0-9_]) \s znak spacji. \S każdy znak z wyjątkiem spacji. \d znaki cyfr ([0-9]) \D każdy znak z wyjątkiem cyfr ([^0-9])

18 Znaki kotwiczne Znaki kotwiczne pozwalają określić obszar łańcucha znaków, dla którego ma być sprawdzane wyrażenie. Działają w podobny sposób do asercji. ^ - początek łańcucha znaków. $ - koniec łańcucha znaków. \b granica wyrazu. \B - pozycja niebędąca granicą wyrazu

19 Znaki kotwiczne - przykłady \b[a-z]+\b wyrażenie wyszuka łańcuchów składających się ze znaków od a do z przy czym wyszukany łańcuch musi być osobnym wyrazem. \b[0-9]+ wyrażenie wyszuka łańcuchy cyfr, które są również początkami wyrazów.

20 Znaki kotwiczne - przykłady ^ [a-z]+ wyrażenie wyszuka ciąg składających się ze znaków od a do z przy czym wyszukany ciąg musi być na początku łańcucha wejściowego. ^[0-9]+$ wyrażenie wyszuka, a raczej zwaliduje łańcuch, który będzie składał się z samych cyfr.

21 Klasy a polskie znaki Niemożliwe jest określenie klasy polskich znaków przez zakres znaków ([ą-źą-ź]) musimy je wypisać ([ąćęłńóśźżąćęłńóśźż]) spowodowane to jest tym, że znaki polskie są wspólne z innymi językami i ich kody unikodu są rozrzucone np. ą(\u0105), ć(\u0107), ó(\u00f3), ż(\u017c). Jak widać nie da się ich potraktować jako zakres znaków.

22 Wyrażenia regularne - przykłady ^abc wyrażenie zgodne z łańcuchami rozpoczynającymi się od abc. abcabc abc abc$ - wyrażenie wyszuka ciąg abc, który kończy łańcuch. abcabc abc

23 Wyrażenia regularne - przykłady ^abc$ wyrażenie pasujące do łańcuchów abc. abc zgodne abab abc niezgodne ^(abc cba)k2$ - wyrażenie pasujące do łańcuchów rozpoczętych abc lub cba i zakończonych k2. cbak2 zgodne cbak2 w niezgodne

24 Wyrażenia regularne - przykłady ^(abc cba).+k2$ - wyrażenie pasujące do łańcuchów rozpoczętych abc lub cba i zakończonych k2 poprzedzonego dowolnymi znakami. cba..k2 zgodne cbak2k2 zgodne cbak2 niezgodne ^(abc cba)(.+)k2\2$ - \2 oznacza, że po prawej stronie k2 musi znaleźć się ciąg zgodny z (.+) po jego lewej stronie. cba...k2... zgodne cbak2k2k2 zgodne cbak2k2 niezgodne

25 Wyrażenia regularne - przykłady [0-9]{2}-[0-9]{3} wyrażenie wyszuka kody pocztowe ^([0-9]{2}-[0-9]{3} ) $ - wyrażenie pasujące do kodu pocztowego zgodny niezgodny

26 Wyrażenia regularne - przykłady [^0-9]* - wzór pasujący do wszystkich znaków z wyjątkiem cyfr. 12d42-200_/l?_42-600xsds5sxs45- \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} wzór pasuje do adresów IP. ws sdsw dws ,1.1sdsw d

27 Wyrażenia regularne - przykłady [a-z0-9_.-]+@[a-z0-9_.-]+\.[a-z]{2,4} - wzór pasujący do adresu . adres_adres.tf@dmm.pl fg@hj.tc (?=([^,]*[0-9]){3,})(?=([^,]*[A-B]){2,}) [^,]{5,} wyrażenie wyszuka łańcuchy minimum 5 znaków rozdzielonych znakiem,, zawierających 3 cyfry i 2 duże litery. 123AB,1A23B,aaaa123,a2b#AB+12,12

28 Wyrażenia regularne - przykłady (?=^.{5,}$)(?=(.*[0-9]){3,})(?=(.*[A-B]){2,})^.*$ - wzór walidujący hasła zawierające min. 5 znaków w tym 2 duże litery i 3 cyfry. 123AB zgodne 1A23Bdsdf zgodne aaaa123 niezgodne

29 Uwaga Walidacje ze względów bezpieczeństwa należy przeprowadzać po stronie serwera. Możliwość podesłania spreparowanego formularza. Walidacja po stronie klienta jest sprawą kosmetyczną, usprawniającą użytkownikowi korzystanie ze strony.

30 JavaScript Wyrażenia regularne Metody klasy string obsługujące wyrażenia regularne: match(wzór) metoda szuka pasujących do wzorca treści, następnie zwraca ich zbiór lub NULL jeśli nic nie znalazła. replace(wzór, zastępnik) metoda zastępuje treść pasującą do wzorca zastępnikiem. search(wzór) wyszukuje treści pasującej do wzorca i zwraca jej pozycje w stringu lub -1 jeśli nic nie znajdzie. split(wzór, limit) dzieli string-a na podstawie wzorca, dodatkowo można nadać limit rozdzielonych elementów.

31 JavaScript Wyrażenia regularne Wyrażenia regularne definiujemy wprowadzając ich treść w znakach / var re = /^([%]?[0-9A-Za-z])$/; str.match(re); str.match(/^([%]?[0-9a-za-z])$/);

32 MVC Walidacja modelu (model) namespace TestAplication.Models { [MetadataType(typeof(osobaValidate))] public partial class osoba { } [Bind(Exclude = "id")] public class osobavalidate { [Required(ErrorMessage = "Podaj nazwisko")] [StringLength(20, ErrorMessage="Nazwisko max 20 znaków")] [RegularExpression("^([a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+)$", ErrorMessage="Nazwisko tylko litery")] public string nazwisko { get; set; } [Required(ErrorMessage = "Podaj imie")] [StringLength(20, ErrorMessage = "Imie max 20 znaków")] [RegularExpression("^([a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+)$", ErrorMessage="Imie tylko litery")] public string imie { get; set; } [Required(ErrorMessage = "Podaj wiek")] [Range(1,130, ErrorMessage = "Wiek od 1 do 130")] [RegularExpression("^([0-9]+)$", ErrorMessage="Wiek tylko liczby")] public string wiek { get; set; }

33 MVC Walidacja modelu (Controller) [HttpPost] public ActionResult Dodaj(osoba os) { if (ModelState.IsValid) // informacja o zgodności modelu { repo.dodaj(os); if (Request.IsAjaxRequest()) return PartialView("OsobaTab", repo.pobierzliste()); return RedirectToAction("Index"); } if (Request.IsAjaxRequest()) { ViewData["errors"] = ModelState.Values.SelectMany(v => v.errors); return PartialView("OsobaTab", repo.pobierzliste()); } return View(os); }

34 * * * MVC Walidacja modelu (View) <% Html.EnableClientValidation(); %> // treść wprowadzanych danych będzie na bieżąco sprawdzana u klienta <% using (Html.BeginForm()) {%> <%: Html.ValidationSummary(true) %> <fieldset> <legend>fields</legend> <div class="editor-label"> <%: Html.LabelFor(model => model.nazwisko) %> </div> <div class="editor-field"> <%: Html.TextBoxFor(model => model.nazwisko) %> <%: Html.ValidationMessageFor(model => model.nazwisko) %> </div>

35 C# Wyrażenia regularne W C# z wyrażeń regularnych można korzystać za pomocą klasy Regex. Posiada ona między innym metody: bool IsMatch(String) Match Match(String) string Replace(String, String) string[] Split(String)

36 C# Wyrażenia regularne Regex patern = new Regex("^([0-9]*)$"); if (!patern.ismatch("34,8")){ // jakaś akcja }

37 Sumy kontrolne nr. PESEL Nr PESEL składa się z 11 cyfr z czego ostatnia jest kontrolna. W celu walidacji nr PESEL należy: Uzyskać sumę 10 pierwszych cyfr mnożonych przez ich wagi sum = 1*P1+3*P2+7*P3+9*P4+1*P5+3*P6+7*P7+9*P8+1*P9+3*P10 Uzyskać wartość modulo 10 z sumy. mod = sum%10 Uzyskać wartość kontrolną i sprawdzić zgodność z 11 cyfrą nr PESEL wynik = (10-mod)%10 == P11

38 Źródła - strona z apletem do pisania i testowania wyrażeń regularnych.

Walidacja danych w ASP.NET MVC

Walidacja danych w ASP.NET MVC Walidacja danych w ASP.NET MVC 1. Prosta walidacja 2. Walidacja z Data Annotation public ActionResult Edit(Person person) bool blad = false; if(person.name.trim().length == 0) ViewData["Blad1"] = "Nazwisko

Bardziej szczegółowo

Spra r wd w za z nie e popra r wn w ości c danych c w w form r u m larz r a z ch c :

Spra r wd w za z nie e popra r wn w ości c danych c w w form r u m larz r a z ch c : PROJEKTOWANIE STRON WWW LABORATORIUM 3. Wykorzystanie JavaScriptu i wyrażeń regularnych do sprawdzania poprawności danych w formularzach prowadzący dr ADRIAN HORZYK http://home.agh.edu.pl/~horzyk e-mail:

Bardziej szczegółowo

5 AS SP.NET MVC. Walidacja danych. Zaawansowane programowanie internetowe Instrukcja nr 5

5 AS SP.NET MVC. Walidacja danych. Zaawansowane programowanie internetowe Instrukcja nr 5 5 AS SP.NET MVC Walidacja danych 1 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami walidacji danych wprowadzanych przez użytkownika oraz z tworzeniem własnych walidatorów. 2. Zadanie Proszę przebudować

Bardziej szczegółowo

Modele danych walidacja widoki zorientowane na model

Modele danych walidacja widoki zorientowane na model Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych

Bardziej szczegółowo

4 AS SP.NET MVC. Widok. Zaawansowane programowanie internetowe Instrukcja nr 4

4 AS SP.NET MVC. Widok. Zaawansowane programowanie internetowe Instrukcja nr 4 4 AS SP.NET MVC Widok 1 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami tworzenia widoków w ASP.NET MVC 2. Wprowadzenie Na poprzednich zajęciach stworzyliśmy prostą aplikację pokazującą podstawowe

Bardziej szczegółowo

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript

Bardziej szczegółowo

Ćwiczenie 8. Kontrolki serwerowe

Ćwiczenie 8. Kontrolki serwerowe Ćwiczenie 8 Temat: Kontrolki serwerowe ASP.NET cz.2 Cel ćwiczenia: W ramach tego ćwiczenie student zapozna się z kolejnymi kontrolkami serwerowymi oraz z metodami ich walidacji, a także z kontrolkami umożliwiającymi

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

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

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

Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).

Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość). Wyrażenia regularne pełnią istotną rolę w PHP. Umożliwiają one opisywanie i przetwarzanie długich ciągów znaków. Dzieje się to na zasadzie porównania danego ciągu znaków z określonym wzorem, ułożonym przez

Bardziej szczegółowo

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw

Bardziej szczegółowo

SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska

SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska 04.01.2010 SED - Stream EDitor edytor strumieniowy Bogumił Konopka W-11/I-21 Politechnika Wrocławska Jak działa sed? sed jest filtrem pobiera dane w postaci wierszy tekstu ze standardowego wejścia przetwarza

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

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

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 Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

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

Walidacja po stronie serwera Walidacja po stronie klienta:

Walidacja po stronie serwera Walidacja po stronie klienta: Walidacja po stronie serwera: - do prostej walidacji słuŝy obiekt ModelState, - walidacja, która wykorzystuje ten obiekt wykonuje odpowiednie testy i w przypadku błędu woła metodę AddModelError z parametrami

Bardziej szczegółowo

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

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak: Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji

Bardziej szczegółowo

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119 Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

1. Podstawy budowania wyra e regularnych (Regex)

1. Podstawy budowania wyra e regularnych (Regex) Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra

Bardziej szczegółowo

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

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Wyrażenia regularne. Wyrażenia regularne 1/41

Wyrażenia regularne. Wyrażenia regularne 1/41 Wyrażenia regularne Wyrażenia regularne 1/41 Wyrażenia regularne 2/41 Po co wyrażenia regularne? Polecenie: $ grep est tekst.txt Zawartość tekst.txt To jest plik tekstowy. Testujemy narzędzie grep. Trzecia

Bardziej szczegółowo

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1 I N T E R F E J S W E BSERVICES NADAWANIE PAKIETÓW D O S Y S T EMU MKP PRZEZ I N TERNET D O K U M E N T A C J A T E C H N I C Z N A P A Ź D Z I E R N I K 2 0 1 6 Spis treści 1. Wstęp... 2 2. Informacje

Bardziej szczegółowo

Wyrażenia regularne. Wyrażenia regularne: składnia

Wyrażenia regularne. Wyrażenia regularne: składnia Wyrażenia regularne Wyrażenia regularne (ang. regular expressions, w skrócie regex) to wzorce, które opisują łańcuchy symboli. Teoria wyrażeń regularnych jest związana z teorią tworzenia tzw. języków naturalnych.

Bardziej szczegółowo

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,

Bardziej szczegółowo

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Język C++ wykład VIII

Język C++ wykład VIII Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

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

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika 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

Bardziej szczegółowo

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

I znowu można jak w C, za pomocą starych struktur i metod: Obsługa plików I znowu można jak w C, za pomocą starych struktur i metod: Odczyt (ifstream) Zapis (ofstream) Czego tu wszędzie brakuje? plik.close(); Wynik Plik testowy.txt app jak append http://www.cplusplus.com/reference/iostream/ifstream/

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

FUNKCJE TEKSTOWE W MS EXCEL

FUNKCJE TEKSTOWE W MS EXCEL FUNKCJE TEKSTOWE W MS EXCEL ASC W językach korzystających z dwubajtowego zestawu znaków (DBCS) zmienia znaki o pełnej szerokości (dwubajtowe) na znaki o połówkowej szerokości (jednobajtowe). : ASC(tekst)

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

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Wprowadzenie Haszowanie jest to pewna technika rozwiązywania ogólnego problemu słownika. Przez problem słownika rozumiemy tutaj takie

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo

Projektowanie aplikacji WWW w Frejmworku ASP.NET MVC 4.0

Projektowanie aplikacji WWW w Frejmworku ASP.NET MVC 4.0 Wydział Elektroniki i Informatyki PK Katedra Inżynierii Komputerowej Projektowanie aplikacji WWW w Frejmworku ASP.NET MVC 4.0 Opis przykładu projektowania aplikacji WWW serwis Subskrypcja. Prof. W. Khadzhynov

Bardziej szczegółowo

DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE

DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem ASCII... J e s t e m t e k s t e m \0...

Bardziej szczegółowo

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: accept - typy zawartości MIME akceptowane przez serwer (opcjonalny) accept-charset - zestaw znaków akceptowanych

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

Bardziej szczegółowo

Zakład Usług Informatycznych OTAGO

Zakład Usług Informatycznych OTAGO Zakład Usług Informatycznych OTAGO Opis konstrukcji Wirtualnego Numeru Rachunku dotyczący płatności masowych wersja 1.4 autor: Tomasz Rosochacki Gdańsk, 2012-11-27 Spis treści 1. Wprowadzenie.... 3 2.

Bardziej szczegółowo

Wyrażenia regularne. Regular expressions. aka. Regexp

Wyrażenia regularne. Regular expressions. aka. Regexp Regular expressions aka Regexp Historia: teoria automatów oraz teoria języków formalnych Stephen Cole Kleene (1909-1994) lata 50 badania nad zbiorami regularnymi oraz teorią rekursji język programowania

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

Laboratorium 10: Maszyna stanów

Laboratorium 10: Maszyna stanów Wojciech Myszka Laboratorium 10: Maszyna stanów 2016-05-07 09:05:39 +0200 1. Wprowadzenie Laboratorium poświęcone jest operacjom na napisach (ciągach znaków). Przypominam, że: a to stała typu char o wartości

Bardziej szczegółowo

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

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

ŁAŃCUCHY W JĘZYKU C/C++

ŁAŃCUCHY W JĘZYKU C/C++ ŁAŃCUCHY W JĘZYKU C/C++ Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem... 74 101 115 116 101 109 32 116 101 107 115 116 101 109 0......

Bardziej szczegółowo

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro Kontakt: tel. 54 282 1385 e-mail: info@softor.pl Podstawowe informacje: Serwer REST dostępny pod adresem https://api.sanatorium.pro/v1/

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

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Wstęp do informatyki 2011/2012. Wyrażenia regularne (sed)

Wstęp do informatyki 2011/2012. Wyrażenia regularne (sed) Wstęp do informatyki 2011/2012 Wyrażenia regularne (sed) Sed sed [OPCJE] polecenia [plik_wejściowy]... sed [OPCJE] -f skrypt_z_poleceniami_seda [plik_wejściowy]... Edytor strumieniowy stosowany do przetwarzania

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

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

Baza danych do przechowywania użytkowników

Baza danych do przechowywania użytkowników System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź JAVASCRIPT PODSTAWY materiały dydaktyczne dla uczniów słuchaczy opracowanie: 2004-2007 by Arkadiusz Gawełek, Łódź 1. Czym jest JavaScript JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript,

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

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

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

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

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

#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 ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Definiowanie języka przez wyrażenie regularne(wr)

Definiowanie języka przez wyrażenie regularne(wr) Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w

Bardziej szczegółowo

Paweł Cieśla. Dokumentacja projektu

Paweł Cieśla. Dokumentacja projektu Paweł Cieśla Dokumentacja projektu Projekt Project1 został utworzony i skompilowany na próbnej wersji Delphi XE 4. Po uruchomieniu programu należy kliknąć przycisk Wczytaj plik tekstowy, następnie wskazać

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

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

#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 ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February

Bardziej szczegółowo

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Pliki wykład 2. Dorota Pylak

Pliki wykład 2. Dorota Pylak Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)

Bardziej szczegółowo

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

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI WPISUJE ZDAJĄCY NUMER UCZNIA EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II ARKUSZ EGZAMINACYJNY PROJEKTU INFORMATURA DATA: 9 GRUDNIA 2016 R. CZAS PRACY: 150 MINUT LICZBA PUNKTÓW DO UZYSKANIA:

Bardziej szczegółowo