Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej



Podobne dokumenty
I - Microsoft Visual Studio C++

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

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Podstawy Programowania

Programowanie proceduralne w języku C++ Podstawy

Wprowadzenie do środowiska Qt Creator

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Programowanie w językach

Programowanie komputerowe. Zajęcia 1

dr inż. Jarosław Forenc

Informatyka I : Tworzenie projektu

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Operacje wejścia/wyjścia odsłona pierwsza

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

Inicjacja tablicy jednowymiarowej

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Podstawy programowania w C++

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Część 4 życie programu

> C++ typy wyliczeniowe, struktury, unie, konwersje napis <-> liczba, formatowanie wyjścia

Język C++ wykład VIII

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Laboratorium 1 - Programowanie proceduralne i obiektowe

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

Wstęp do Programowania 2

Pytania sprawdzające wiedzę z programowania C++

Allegro5 część 1 - Witaj Świecie! Projekt, inicjalizacja, tworzenie okna, czcionki. Autor: Kamil Krzyszczuk - C mons

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

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

XII. Warunek wielokrotnego wyboru switch... case

Wstęp do informatyki- wykład 7

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

Podstawy programowania skrót z wykładów:

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Programowanie obiektowe

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

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

Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Pliki wykład 2. Dorota Pylak

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

XVII. Funkcje w C Ogólna budowa funkcji Definicja funkcji Co waŝnego powinniśmy wiedzieć o funkcjach

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Rodzina protokołów TCP/IP. Aplikacja: ipconfig.

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.

Wprowadzenie do programowania i programowanie obiektowe

Wstęp do programowania

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

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

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Wprowadzenie do programowania i programowanie obiektowe

DYNAMICZNE PRZYDZIELANIE PAMIECI

Wstęp do Informatyki

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

JAVA CZ.2 Programowanie obiektowe. poniedziałek, 20 kwietnia 2009

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Wstęp do programowania. Wykład 1

Wstęp do programowania

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

Zasady programowania Dokumentacja

ZBIÓR ZADAŃ Z INFORMATYKI

Projektowanie klas c.d. Projektowanie klas przykład

PARADYGMATY PROGRAMOWANIA Wykład 3

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.

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

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

Wstęp do programowania

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Wstęp do programowania

Operacje wejścia/wyjścia (odsłona druga) - pliki

STL: Lekcja 1&2. Filozofia STL

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

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

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

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

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Jak Windows zarządza pamięcią?

Transkrypt:

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ęć: - 10 punktów Dwa sprawdziany praktyczne - po 10 punktów Projekt - 30 punktów, w tym: Dokumentacja - 5 punktów Implementacja - 25 punktów Projektem może być aplikacja konsolowa, albo okienkowa z wykorzystaniem biblioteki FLTK. Jeśli ktoś zechce i potrafi dopuszczamy użycie bibliotek Qt, albo gtkmm (GTK+). Projekty mają być realizowane zespołowo (2-3 osobowe zespoły). Każdy projekt musi być zorientowany obiektowo. Nieprzekraczalny termin oddania projektu - 3 lipiec 2015.

Nowy projekt w języku C++ w Visual Studio Tworzymy nowy projekt według procedury: - Nowy projekt Visual C++ - Wybieramy: Win32 Console Application - Podajemy nazwę projektu i ustawiamy ściężkę - W oknie, które się pojawi klikamy Application Settings i zaznaczamy opcję Empty Project - Następnie klikamy Finish Projekt utworzony. Teraz dodajemy plik z kodem źródłowym: - W drzewie solucji klikamy prawym klawiszem na Source files wybieramy Add New Item... - W oknie zaznaczamy: C++ File (.cpp) i wpisujemy nazwę pliku z rozszerzeniem.cpp!!! Zalecam aby plik, który zawiera funkcję main nazywał się main.cpp

Przykładowy program #include <iostream> #include <cstdlib> using namespace std; int main() { int liczba = 13; cout << "Podaj liczbe:" << endl; cin >> liczba; cout << "Podano liczbe " << liczba << endl; } system("pause"); return 0;

Zadanie 1. Napisz program, który pobiera dwie liczby od użytkownika (typu int i typu double), a następnie wypisze ich wartości na ekran. Przetestuj działanie wejścia cin dla niewłaściwych danych.

Obiekt cout double i = 0.123456; cout << i << endl; //zwraca 0.123456 cout.width(10); cout.fill(! ); cout.precision(2); cout << i << endl; //zwraca!!!!!!0.12 int n = 1234; cout << dec << n << endl; //zwraca 1234 cout << hex << n << endl; //zwraca 4d2 cout << oct << n << endl; //zwraca 2322 cout << \n ; cout.flush(); //równoważny endl

Obiekt cin char s[50]; cin >> s; #include <iomanip>... cin >> setw(50) >> s; //obetnie do 49 znaków + \0

Obiekt cin char s[50]; cin >> s; #include <iomanip>... cin >> setw(50) >> s; //obetnie do 49 znaków + \0 Operator >> wczytuje do białego znaku. Metoda getline czyta do końca linii. cin.getline(s,50);

Zadanie 2. Napisz program, który pobiera od użytkownika linię tekstu zatwierdzoną enterem (do 50 znaków). Następnie zlicza ilość cyfr i spacji w podanej linii. Na koniec, wyświetla następujące informacje: ilość znaków w linii, ilość cyfr, ilość spacji. W programie tym wykorzystaj funkcję strlen z biblioteki do obsługi łańcuchów znaków z języka C odpowiednio włączając ją do kodu C++.

Obiekt string Łańcuch znaków w stylu języka C: char s[10]="kot"; Jest to tablica dziesięciu elementów typu char. Tak zdefiniowana tablica może być traktowana jako łańcuch znaków o długości 3. W komórce o indeksie 3 znajduje się \0 (zaznaczenie końca łańcucha znaków). Zmienna (tablica) s nie może przechowywać łańcucha, który ma więcej niż 9 znaków.

Obiekt string Łańcuch znaków w stylu języka C: char s[10]="kot"; Jest to tablica dziesięciu elementów typu char. Tak zdefiniowana tablica może być traktowana jako łańcuch znaków o długości 3. W komórce o indeksie 3 znajduje się \0 (zaznaczenie końca łańcucha znaków). Zmienna (tablica) s nie może przechowywać łańcucha, który ma więcej niż 9 znaków. Łańcuch znaków w stylu języka C++: string napis = "kot"; napis = "bardzo dobrze opisany kot";

Obiekt string #include <string>... string napis("to jest "); string nazwa; cin >> nazwa; nazwa = napis + nazwa + "!!! "; cout << nazwa << endl; cout << nazwa.size() << endl;

Obiekt string #include <string>... string napis("to jest "); string nazwa; cin >> nazwa; nazwa = napis + nazwa + "!!! "; cout << nazwa << endl; cout << nazwa.size() << endl; string napis = "Inny napis"; char s[20]; strcpy( s, napis.c_str() ); //wymaga <cstring>

Przykład string a = "mysz"; char s[] = "mysz"; string b( s ); string c = "To jest myszka."; if( a == b ) cout << "ok 1 " << endl; if( a.compare( s ) == 0 ) cout << "ok 2 " << endl; if( strcmp( a.c_str(), s ) == 0 ) cout << "ok 3" << endl; if( c.compare( 8, a.size(), a ) == 0 ) cout << "ok 4" << endl;

Przykład string a = "to jest myszka"; unsigned int pozycja = 0; pozycja = a.find( "mysz" ); if( pozycja!= a.npos ) cout << "Znalazlem na pozycji " << pozycja << endl; else cout << "Nie znalazlem." << endl;

Porównanie C C++ #include<cstring> #include<string> ograniczona długość dowolna długość strlen( s ); s.size(); strcpy( s, t ); s = t; strcat( s, t ) s += t; if(!strcmp( s, t ) ) if( s == t )

Zadanie 3. Napisz program, który pobiera od użytkownika dwa słowa. Następnie sprawdza, czy pierwsze z podanych słów nie jest częścią drugiego słowa. Jeśli tak, to z tego drugiego słowa zostanie usunięta ta część. Na koniec zostanie wypisane drugie słowo (po ewentualnych zmianach). Jeśli czujesz, że pewnie można by wykorzystać do tego jakieś metody obiektu string, których nie znasz, to zajrzyj pod adres: http://www.cplusplus.com/reference/string/string/string/ Programista musi posiadać umiejętność wyszukiwania informacji.

Pobieranie łańcucha #include <string> string slowo, linia; cin >> slowo; // do białego znaku getline( cin, linia ); // do końca linii

Obiekt string - wybrane właściwości i metody string a = "To jest napis."; a.size(); a[3] = J ; a.at( 3 ) = J ; a.clear(); a.find("jest"); a.npos a.erase( 3, 5 ); // długość łańcucha // dostęp do 3 znaku // jw. wyrzuca wyjątek // czyści zawartość // zwraca pozycję "jest" w a // stała oznaczająca brak pozycji // kasuje od 3 pozycji 5 znaków

Obiekt string - wybrane właściwości i metody string a = "To jest napis."; a.replace( 0, 2, "Tam" ); // zamienia od pozycji 0 // dwa znaki w a na elementy // łańcucha "Tam" cout << a << endl; // "Tam jest napis." a.insert( 9, "ciekawy " ); //wstawia łańcuch od 9 pozycji cout << a << endl; // "Tam jest ciekawy napis."

Koniec