Kompilacja i kompilatory
|
|
- Małgorzata Nowak
- 9 lat temu
- Przeglądów:
Transkrypt
1 Kompilacja i kompilatory Konwersja XML do REG Xml2reg Grzegorz Surdyka WGGiOŚ, Informatyka Stosowana IV rok, AGH 2010 Strona 1 z 10
2 Spis treści 1. Cel oraz podstawowe wiadomości o XML i REG O programie Podstawowe informacje Wykorzystane biblioteki i opis niektórych bloków programu Wczytywanie pliku Krótki opis klasy XmlTextReader, przykładowych metod oraz własności Opis niektórych bloków programu Przykłady działania programu Kod źródłowy programu... 8 Strona 2 z 10
3 1. Cel oraz podstawowe wiadomości o XML i REG Celem projektu było napisanie prostego konwertera plików w formacie XML do plików w formacie REG. XML 1 (ang. Extensible Markup Language) jest uniwersalnym językiem formalnym przeznaczonym do reprezentowania danych w strukturalizowany sposób. Niewątpliwą zaletą XML a jest to, że jest niezależny od platformy. Poprawny składniowo dokument XML powinien byd stworzony zgodnie z kilkoma zasadami: Powinien zawierad deklarację XML na początku pliku, wraz z atrybutem version oraz opcjonalnymi atrybutami encoding, standalone; Musi zawierac dokładnie JEDEN element głowny (tzw. root node); Każdy element musi zaczynad się znacznikiem początku elementu np. <ksiazka> oraz kooczyd się znacznikiem kooca elementu np. </ksiazka>; Nazwy złożone ze znaków alfanumerycznych (litery a-z, A-Z oraz cyfry 0-9) oraz ze znaków interpunkcyjnych ( _ ; - ;. ); Nazwy nie mogą zaczynad się od znaku łącznika -, kropki., dodatkowo nie mogą zaczynad się od ciągu znaków postaci xml wielkośd liter nie ma znaczenia; Elementy można zagnieżdżad (element wewnątrz nazywany jest dzieckiem child ); Każdy element może posiadad atrybuty np. książka ma swój numer ISBN - <ksiazka ISBN = >; Informacje jak np. tytuł książki są zapisane pomiędzy znacznikiem początkowym, a koocowym <tytul>symfonia C++</tytul>; W danych, atrybutach oraz nazwach elementów nie mogą pojawid się znaki: <, & ; Można używad sekcji znakowych (np. z kodem html lub xml), które rozpoczynają się od <![CDATA[, a kooczą znacznikiem kooca ]]>; Można używad komentarzy pomiędzy znacznikami <! tu jest komentarz -->; <?xml version="1.0"?> <catalog> <book id="bk101"> <author>gambardella, Matthew</author> <title>xml Developer's Guide</title> <genre>computer</genre> <price>44.95</price> <publish_date> </publish_date> <description>an in-depth look at creating applications with XML.</description> </book> <book id="bk102"> <author>ralls, Kim</author> <title>midnight Rain</title> <genre>fantasy</genre> <price>5.95</price> <publish_date> </publish_date> <description>a former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description> </book> </catalog> 1 za Strona 3 z 10
4 Pliki REG 2 następująco: są to pliki rejestru systemu Windows. Budowa pliku REG wygląda Windows Registry Editor Version 5.00 wartości domyślnej" "xxx"="dane wartości ciągu o nazwie xxx" "yyy"=dword: f "binarnawar"=hex:74,6f,20,64,6f,20,63,68,75,6a,61,20,6a,65,73,74,20,77,61,72,\ 74,6f,63,73,20,62,69,6e,61,72,6e,61 wartości domyślnej innego klucza" "vvv"="dane wartości ciągu o nazwie vvv" "aaa"=dword: c "bbb"=dword: d "ccc"=dword: e "zzz"=dword: f Linijka Windows Registry Editor Version 5.00 jest obowiązkowa, informuje ona system o wersji programu Regedit. W nawiasach kwadratowych zapisana jest ścieżka do modyfikowanego klucza. W następnej linijce podana jest wartośd domyślna klucza, a w następnych nazwy oraz ich wartości dla danego klucza. 2. O programie 1. Podstawowe informacje Program xml2reg został napisany w języku C# przy użyciu środowiska Microsoft Visual C# 2008 Express Edition. Program jest aplikacją okienkową, umożliwia otwieranie, zapisywanie plików z poziomu menu, oraz dokonywanie konwersji z formatu XML do REG. Rys. 1 Zrzut ekranu z programu xml2reg z załadowanym plikiem XML 2 za Strona 4 z 10
5 2. Wykorzystane biblioteki 3 i opis niektórych bloków programu Program został napisany z wykorzystaniem biblioteki, która standardowo jest częścią języka C#, System.Xml. 1. Wczytywanie pliku Wczytywanie pliku odbywa się poprzez standardowa klasę StreamReader do Textbox a nr 1, do toolstripstatuslabel1 przekazujemy ścieżkę otwieranego pliku, która później posłuży jako ścieżka dla XmlTextReader a. xmlreader = new StreamReader(open_file); opened_file = xmlreader.readtoend(); textbox1.text = opened_file; toolstripstatuslabel1.text = open_file; xmlreader.close(); 2. Krótki opis klasy XmlTextReader, przykładowych metod oraz własności Klasa XmlTextReader służy do odczytu wprzód strumienia danych XML owych. Poruszanie się po danych XML owych opiera się na nawigacji po węzłach (node ach). Przykładowe metody klasy XmlTextReader: MoveToFirstAttribute() przechodzi do pierwszego atrybutu ; MoveToNextAttribute() przechodzi do następnego atrybutu; MoveToAttribute() przchodzi do konkretnego (po wcześniejszym ponumerowaniu) atrybutu; Read() odczytuje następny węzeł ze stream u; MoveToContent() sprawdza czy aktualny węzeł nie jest węzłem pustym, elementem zamykającym, sekcją znakową, jeśli jest (czyli nie ma zawartości), przechodzi do następnego węzła (do węzła content node ); IsStartElement() sprawdza czy aktualny content node jest elementem startowym bądź elementem pustym (przy użyciu MoveToContent()); Drugim ważnym elementem klasy XmlTextReader są jej własności (Property). Poniżej zostało przedstawione kilka z nich: NodeType zwraca typ węzła, gdzie typem może byd nazwa elementu, wartośd tekstowa, sekcja znakowa, komentarz, deklaracja XML; HasAttributes sprawdza czy są atrybuty; Name pobiera nazwę aktualnego node a; Value pobiera wartośd tekstową aktualnego node a; 3 całośd za Strona 5 z 10
6 3. Opis niektórych bloków programu Program do konwersji wykorzystuje ww. bibliotekę System.Xml. Program nie analizuje składni, odczytuje typy węzłów, ich wartości oraz zagnieżdżenia, po czym tak uzyskane informacje zapisuje do zmiennej typu String, odpowiednio formatuje i zapisuje do textbox2. W pierwszej kolejności stworzony zostaje obiekt typu XmlTextReader: XmlTextReader xmlreader = new XmlTextReader(toolStripStatusLabel1.Text); // czytanie pliku Stosujemy pętle while w celu przeczytania całego stream a XML owego. Dzięki zastosowaniu instrukcji switch przeskakujemy pomiędzy węzłami i wydobywamy nazwy oraz wartości poszczególnych node ów. while (xmlreader.read()) switch (xmlreader.nodetype) case XmlNodeType.Element: // kod case XmlNodeType.EndElement: // kod case XmlNodeType.Text: // kod default: Nazwy oraz wartości atrybutów zapisywane są w tablicy typu Hashtable o nazwie attributes. Jest to o tyle wygodne rozwiązanie że dane zapisywane są parami nazwa+wartośd. Wyłuskane nazwy węzłów zapisywane są do zmiennej sbnodename, która jest zmienną typu StringBuilder dzięki temu mamy możliwośd edytowania, w tym doklejania kolejnych znaków \\ dzięki wyrażeniu sbnodename.append( \\ ). Odpowiednio sformatowany ciąg sbnodename jest konwertowany do stringa metodą ToString() i zapisywany w zmiennej typu String - printnodename. Aktualny string jest przechowywany w zmiennej buffer ma to na celu zapobiec sytuacji wrzucania do textbox2 tych samych nazw jeśli trzeba zmienna buffer jest czyszczona i wtedy nic nie dorzucamy do textbox2. Powyższe rozwiązanie zastosowano także do eliminacji znaczników zamykających. Zmienne up, down, licznik oraz poziom odpowiadają za poprawne radzenie sobie programu z zagnieżdżeniami. Strona 6 z 10
7 3. Przykłady działania programu Plik XML przed konwersją: <?xml version="1.0" encoding="iso "?> <!-- Edited by XMLSpy --> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY> <STATE>NY</STATE> </COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</title> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> </CATALOG> Plik wynikowy REG po konwersji z XML: Windows Registry Editor Version 5.00 [CATALOG] [CATALOG\CD] "TITLE"=Empire Burlesque "ARTIST"=Bob Dylan [CATALOG\CD\COUNTRY] "STATE"=NY [CATALOG\CD] "COMPANY"=Columbia "PRICE"=10.90 "YEAR"=1985 [CATALOG\CD] "TITLE"=Hide your heart "ARTIST"=Bonnie Tyler "COUNTRY"=UK "COMPANY"=CBS Records "PRICE"=9.90 "YEAR"=1988 Strona 7 z 10
8 3. Kod źródłowy programu Kompilacja i kompilatory: xml2reg Niektóre zakomentowane linie odnoszą się do wersji konsolowej programu, wersji pierwotnej, miały na celu zobrazowanie, które elementy są usuwane / dodawane do stringa, oraz w którym miejscu aktualnie znajduje się XmlTextReader. // Konwerter plikow XML do formatu REG // (C) Grzegorz Surdyka, Informatyka Stosowana, IV rok, AGH 2010 // using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Xml; using System.Collections; namespace xml2reg public partial class Form1 : Form string opened_file; string open_file; string clear = ""; string elname1; string elname2; string buffer = ""; int dlugosc1; int dlugosc2; string printnodename; char[] dowywalenia = '\\' ; int down; int up; int poziom; int licznik; public Form1() InitializeComponent(); private void zamknijtoolstripmenuitem_click(object sender, EventArgs e) Close(); private void otwórztoolstripmenuitem_click(object sender, EventArgs e) // otwarcie pliku i wrzucenei do textboxa StreamReader xmlreader; openfiledialog1.showdialog(); open_file = openfiledialog1.filename; xmlreader = new StreamReader(open_file); opened_file = xmlreader.readtoend(); textbox1.text = opened_file; toolstripstatuslabel1.text = open_file; xmlreader.close(); textbox2.text = clear; buffer = ""; down = 0; up = 0; Strona 8 z 10
9 poziom = 0; licznik = 0; private void xmlregtoolstripmenuitem_click(object sender, EventArgs e) StringBuilder sbnodename = new StringBuilder(); XmlTextReader xmlreader = new XmlTextReader(toolStripStatusLabel1.Text); // czytanie pliku textbox2.appendtext("windows Registry Editor Version 5.00" + Environment.NewLine); while (xmlreader.read()) switch (xmlreader.nodetype) case XmlNodeType.Element: Hashtable attributes = new Hashtable(); down++; poziom = poziom + 1; //textbox2.appendtext("[element] W DOL [DOWN]= " + down + " POZIOM = " + poziom + Environment.NewLine); //textbox2.appendtext("[element] W GORE [UP]= " + up + " POZIOM = " + poziom + Environment.NewLine); textbox2.appendtext(buffer); sbnodename.append(xmlreader.name); elname2 = xmlreader.name; sbnodename.append("\\"); // dorzucamy \ pomiedzy galezie wywalamy ost. znak \ Environment.NewLine; printnodename = sbnodename.tostring().trimend(dowywalenia); // buffer = Environment.NewLine + "[" + printnodename + "]" + if (xmlreader.hasattributes) textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz // sprawdzamy czy sa atrybuty, jak tak to do hashatable'a i wypisujemy for (int i = 0; i < xmlreader.attributecount; i++) xmlreader.movetoattribute(i); attributes.add(xmlreader.name, xmlreader.value); ///Console.Write("\"" + xmlreader.name + "\"=" + xmlreader.value + Environment.NewLine); textbox2.appendtext("attr_\"" + xmlreader.name + "\"=" + xmlreader.value + Environment.NewLine); textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz buffer = ""; case XmlNodeType.EndElement: ///Console.WriteLine(" USUN: " + xmlreader.name); // nazwa usuwanej galezi dlugosc1 = sbnodename.length; // dlugosc nazwy node'a elname1 = xmlreader.name.tostring(); // elementu do wyrzucenia dlugosc2 = elname1.length + 1; // dlugosc elem. do wyrzucenia sbnodename.remove(dlugosc1 - dlugosc2, dlugosc2); up++; poziom = poziom - 1; licznik++; //textbox2.appendtext("[endelement] W DOL [DOWN]= " + down + " POZIOM = " + poziom + Environment.NewLine); //textbox2.appendtext("[endelement] W GORE [UP]= " + up + " POZIOM = " + poziom + " LICZNIK = " + licznik + Environment.NewLine); Strona 9 z 10
10 if (up == 1 && licznik == 4 up == 2 && poziom == 2 && licznik == 4) printnodename = sbnodename.tostring().trimend(dowywalenia); // wywalamy ost. znak / textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz licznik = 0; case XmlNodeType.Text: buffer = ""; up--; textbox2.appendtext("\"" + elname2 + "\"" + "=" + xmlreader.value + Environment.NewLine); default: private void zapisztoolstripmenuitem_click(object sender, EventArgs e) String save_file; if (savefiledialog1.showdialog() == DialogResult.OK) save_file = savefiledialog1.filename; StreamWriter saved_file = new StreamWriter(save_file); saved_file.writeline(textbox2.text); saved_file.close(); Strona 10 z 10
Prosta książka telefoniczna z wykorzystaniem zapisu do pliku
Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Celem zajęć będzie napisanie prostego programu okienkowego, którego zadaniem będzie zapisywanie imienia, nazwiska, adresu-email oraz numeru
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
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
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawową metodą akwizycji danych z wykorzystaniem protokołu komunikacji RS - 232. 2) Zakres niezbędnych wiadomości - Akwizycja danych - Zapis do
WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1
WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
HttpRequest Aplikacja Czat
HttpRequest Aplikacja Czat Za pomocą obiektu HttpRequest można wykonywać żądania http z aplikacji windows phone. W pierwszej kolejności należy utworzyć aplikację i dodać do niej dwie kontrolki: Buton i
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,
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
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
MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis
MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych
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,
- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
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
XML extensible Markup Language. część 1
XML extensible Markup Language część 1 Historia Czym jest język XML? Język XML to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. XML jest metajęzykiem
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z protokołem komunikacji RS-232. 2) Zakres niezbędnych wiadomości - BaudRate - Bity danych - Bity parzystości - Bity stopu - Ramka komunikacji - Delegaty
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
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ęść
XML extensible Markup Language. Paweł Chodkiewicz
XML extensible Markup Language Paweł Chodkiewicz XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Historia GML Projekt
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007
XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007 Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML
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
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
Leszek Stasiak Zastosowanie technologii LINQ w
Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach
Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość
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
Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";
1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
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
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik
Wizualne systemy programowania Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Kolekcje List
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Przykładowa dostępna aplikacja w Visual Studio - krok po kroku
Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i
Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego
Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji
I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)
I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.
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
Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Instrukcja laboratoryjna cz.3
Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:
Microsoft Visual C++.NET Edycja polska: Wydawnictwo RM
Tomasz Zieliński t.zielinski@aster.pl 8 grudnia 2004 wersja 1.0 Microsoft Visual C++.NET Edycja polska: Wydawnictwo RM Str. 7...lub biblioteka Microsoft Foundation Class (MFC)....lub biblioteka Microsoft
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Informatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.
Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3
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ą
Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on znane zasady języka HTML 4 w taki sposób, aby były zgodne z XML (HTML przetłumaczony na XML).
Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
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
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło
Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło LATO 2007 Projektowanie Graficznych Interfejsów Użytkownika 1 System.Windows.Forms System.Windows.Forms Core infrastructure podstawowe operacje
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.
Zadanie Wykonać aplikację posiadającą możliwość komunikowania się (zapis/odczyt) pomiędzy obiektem DataGridView, a plikiem tekstowym i plikiem MS Excel. Niech formularz ma postać jak na rys. 1. Rysunek
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,
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
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.
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
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
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
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
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
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Db4o obiektowa baza danych wersja.net
Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Wprowadzenie do technologii XML
Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
4 C#. Tworzenie aplikacji sieciowych. 101 gotowych projektów
Wstęp... 7 Rozdział 1. Język C# i platforma.net... 9 Technologia.NET. Krótki wstęp... 9 Elementy języka C# i programowanie zorientowane obiektowo... 10 Przestrzenie nazw... 13 Kolekcje... 14 Zdarzenia
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
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,... ) ;
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;
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Deklaracja struktury w C++
Struktury to złożone typy danych pozwalające przechowywać różne informacje. Za pomocą struktur możliwe jest grupowanie wielu zmiennych o różnych typach w jeden obiekt. Strukturę można nazywać obiektem
private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) {
Zadanie 1. Wyszukiwarka plików *.exe. Kontrolki: Button oraz textbox (Skorzystaj z właśności ScrollBar). W kodzie źródłowym dodaj deklaracje przestrzeni nazw: using namespace System::IO; DirectoryInfo^
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane
Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia
Zaawansowany kurs języka Python
Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Historia kodowania i format plików XML. Jolanta Bachan
Historia kodowania i format plików XML Jolanta Bachan Co to jest format? Format to, w ogólnym znaczeniu, reguły określające strukturę fizyczną, sposób rozmieszczenia, zapisu informacji danego typu. Inaczej:
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,
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Laboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
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,
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Python wstęp. Michał Bereta www.michalbereta.pl
Python wstęp Michał Bereta www.michalbereta.pl Wprowadzenie... 1 Źródła wiedzy... 1 Uruchomienie interpretera Pythona... 2 Python jako kalkulator użycie interaktyne... 2 Uruchamianie skryptów z plików...
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
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje