Operatory, wyrażenia i typy proste

Podobne dokumenty
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

C++ wprowadzanie zmiennych

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

1 Podstawy c++ w pigułce.

Odczyt danych z klawiatury Operatory w Javie

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

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Konstrukcje warunkowe Pętle

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

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

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

1 Podstawy c++ w pigułce.

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

2 Przygotował: mgr inż. Maciej Lasota

Język ludzki kod maszynowy

Podstawy programowania w języku C

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

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

Programowanie strukturalne i obiektowe

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Podstawy i języki programowania

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Proste programy w C++ zadania

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Część 4 życie programu

Programowanie - instrukcje sterujące

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

do instrukcja while (wyrażenie);

Programowanie komputerowe. Zajęcia 1

Struktura pliku projektu Console Application

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Zmienne, stałe i operatory

MATERIAŁY DO ZAJĘĆ II

Wstęp do programowania

Wprowadzenie do programowania aplikacji

I - Microsoft Visual Studio C++

Podstawy programowania w języku C i C++

( wykł. dr Marek Piasecki )

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

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

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

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

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

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

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Wstęp do Programowania, laboratorium 02

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Podstawy Programowania.

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

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

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

Klasy: String, Random, Math. Korzystanie z dokumentacji.

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

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

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

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

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

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Podstawy Programowania

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

Powtórka algorytmów. Wprowadzenie do języka Java.

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

1. Wprowadzenie do C/C++

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

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

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Programowanie w języku C++ Grażyna Koba

Pracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Programowanie w języku C++

Powtórka algorytmów. Wprowadzenie do języka Java.

ROZDZIAŁ 2. Operatory

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

Podstawowe typy zmiennych

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

3. Instrukcje warunkowe

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

1. Wprowadzenie do C/C++

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Cw.12 JAVAScript w dokumentach HTML

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Transkrypt:

Operatory, wyrażenia i typy proste

La Menu / Toolbar Przyciski kompilacji Pokazuje otwarte projekty i listę użytych symboli Tu zazwyczaj pojawi się edytor kodu z plikami w poszczególnych zakładkach. Panele wyświetlające rezultaty wyszukiwania, czy proces kompilacji

Build & Run / F9 Pliki nagłówkowe Deklaracja przestrzeni nazw. Zakończenie programu Wyprowadzenie zawartości strumienia wyjściowego Sources wyświetla pliki o rozszerzeniu *.c;*.cpp;. ASM Sources - zawiera pliki*.s;*.s;*.ss;*.asm. Headers przede wszystkim pliki nagłówkowe *.h;. Resources zawiera pliki *.res;*.xrc (głównie jako szablon dla okien wxwidgets)

Mechanizm Abbreviation Ctr + J

Wyszukiwanie i nawigacja w kodzie Ctr + B utworzenie zakładki Alt + PgUp\ Alt + PgDown nawigacja po zakładkach Ctr + F znajdź w kodzie Ctr + Shift + F znajdź w plikach Ctr + Alt + G znajdź funkcję Ctr + PgUp \ Ctr + PgDown nawigacja po funkcjach Ctr + Alt znajdź plik do otwarcia Ctr + I incremental search.

Nawigacja po plikach nagłówkowych Ustaw kursor na poleceniu #include i z menu podręcznego wybierz opcje open include file. Z menu podręcznego Swap header/source.

Code folding //{ Jakiś baaaardzo długi kod. //} Code auto complete Ctr + space wymuszenie auto-uzupełniania kodu. Code export Menu File / Export html rtf odt pdf Numery linii Settings -> General Settings-> Show line numbers

std::cout << "Znam " << 219 << " sposobów na omlet." << std::endl; std::endl reprezentuje koniec linii i przejście do następnej. Opróżnia bufor strumienia wyjściowego. \n znakowa sekwencja specjalna reprezentuje przejście do nowej linii cout obiekt reprezentujący standardowy strumień wyjściowy programu (np. ekran). << - wstawiacz. Operator wyprowadzenia danych. Dane wyprowadzane są zgodnie z ich typem.

Typ Opis Użycie int Liczba całkowita ze znakiem (rozmiar zależny od kompilatora) int i = - 5; short (int) Krótka liczba całkowita (min. 2 bajty) short a = -10; long (int) Długa liczba całkowita (min. 4 bajty) long z = 20; long long (int) Bardzo długa liczba całkowita (min. 8 bajtów) long long b = 30; unsigned (int) Liczby >= 0 unsigned int i = 4; float double Liczby zmiennoprzecinkowe pojedynczej precyzji. Liczby zmiennoprzecinkowe podwójnej precyzji. float f = 7.5f; double d = 7.5; long double Duże liczby zmienno przecinkowe. long double d = 2.5L char Pojedynczy znak char ch = a ; char16_t Pojedynczy znak (16-bit) char ch16 = u a ; char32_t Pojedynczy znak (32-bit) char ch32 = U a ; wchar_t Pojedynczy znak (rozmiar zależny od kompilatora) wchar_t = L a bool true/false (0 lub nie 0) bool b = false; auto Kompilator automatycznie dobierze typ. auto i = 20; decltype(wyrażenie) Typ jaki podany jako parametr decltype(int) j = 8;

Reprezentują znaki bez odpowiedników graficznych

Dodatkowo: sizeof( char ) <= sizeof( short int ) <= sizeof( int ) <= sizeof( long int ) Oraz unsigned char = odpowiednik bajta (byte) unsigned short int = odpowiednik słowa (word) Większość kompilatorów wyświetli ostrzeżenie (warning) gdy używa się niezainicjowanych zmiennych, a niektóre środowiska programistyczne wyświetlą run-time error, gdy chcemy pobrać wartość niezainicjowaną.

Operator Opis Użycie = Dwuargumentowy operator przypisania int i = 1;! Unarny operator negacji logicznej bool b =!true; + - * / Dwuargumentowe operatory: dodawania odejmowania mnożenia dzielenia (wynik zależny od argumentów) int i = 3 + 2; int i = 3-2; int i = 3 * 2; int i = 3 / 2; % Dwuargumentowy operator modulo int reszta = 3 % 2; ++ -- Unarny operator inkrementacji Unarny operator dekrementacji ~ Dopełnienie jedynkowe (unarny) int i = 1; i++; lub ++i; & Iloczyn bitowy (AND) int z = 2 & 3; Suma bitowa (OR) int z = 2 3; << >> Przesunięcie bitowe w lewo Przesunięcie bitowe w prawo int z = 4 << 1; ^ Exclusive or (XOR) int z = 2 ^ 3; && Iloczyn logiczny (AND) if (a > 5 && a < 10) Suma logiczna (OR) if(a == 2 a == 3) ==!= <, <= >, >= Operatory porównania: równość nierówność Operatory relacji: mniejsze, większe, mniejsze lub równe, większe lub równe DWUARGUMENTOWE if (a == 3) if (a!= 3) if (a < 3) if (a >= 3)

Identyfikator to ciąg liter, cyfr i znaków podkreślenia rozpoczynający się od litery, przy czym znak podkreślenia traktowany jest jako litera. Wielkie i małe litery są rozróżniane. Uwaga polskie znaki nie są traktowane jako litery! Nie można stosować nazw jak nazwa słowa kluczowego. Które są poprawne? Kontola K21 Pi PI _Kontrola J-92 _2Kontrola Wartość 2kontrole Ten test

1. Zadeklaruj kilka zmiennych: float, double, int. Na stałe w kodzie programu wpisz ich wartości. Wypisz je na ekran (polecenie cout). 2. Jaka jest największa liczba całkowita którą można wpisać do programu? 3. Zadeklaruj stałą i spróbuj ją zmienić. Co się stanie? Stałe deklarujemy z użyciem const np. const int i = 1;

cin strumień reprezentujący standardowe wejście programu. cout strumień reprezentujący standardowe wyjście programu. cerr niebuforowany strumień wyjściowy błędów clog buforowany strumień wyjściowy błędów.

1. Zadeklaruj zmienną wiek typu int. Wczytaj z klawiatury swój wiek i go wyświetl. 2. Spróbuj wpisać coś niepoprawnego na wejściu (np. x ). Co się dzieje?

1. Zadeklaruj zmienną wiek typu int. Wczytaj z klawiatury swój wiek i go wyświetl. 2. Spróbuj wpisać coś niepoprawnego na wejściu (np. Ala ma kota ). Co się dzieje? W C++ nie ma ścisłej kontroli typów! Błędy? std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); LUB Std::cin.sync();

1. Jaki będzie wynik: float a = 7 / 2; cout << a; 2. Co zrobić, aby poprzednie wyrażenie dało prawidłowy wynik? 3. Co będzie wynikiem działania takiego kodu: http://c-faq.com/expr/evalorder2.html

4. Zadeklaruj trzy zmienne typu int: x, y, z. Przypisz im dowolne wartości całkowite przeczytane z klawiatury, po czym wykonaj działanie x % y % z. Wynik tego działania przypisz czwartej zmiennej nazwanej rezultat i wyświetl jej zawartość na ekranie. 5. Spróbuj tak dobrać wartości zmiennych z poprzedniego ćwiczenia by wynikiem nie było zero. 6. Zadeklaruj zmienną typu int o dowolnej nazwie i zainicjuj ją wartością 256. Wykonaj dwa działania(na tej samej zmiennej): Przesunięcie bitowe w prawo o 2 miejsca. Przesunięcie bitowe w lewo o 2 miejsca. Wynik wszystkich trzech działań wyświetl na ekranie.

Jak widziałeś wcześniej nawet do int-a można przypisać wyraz (ciąg znaków) To do programisty należy sprawdzenia poprawności wejścia. Język C++ nie przewiduje specjalnego typu danych do operacji logicznych operatory logiczne można stosować do liczb (np. typu int), tak samo jak operatory bitowe albo arytmetyczne. Wyrażenie ma wartość logiczną 0 wtedy i tylko wtedy, gdy jest równe 0 (jest "fałszywe"). W przeciwnym wypadku, gdy wyrażenie jest różne od zera ma wartość logiczną 1 (jest "prawdziwe"). Operatory logiczne w wyniku dają zawsze albo 0 (fałsz) albo 1 (prawda).

Co będzie wynikiem:

1. Zadeklaruj trzy zmienne o nazwach A, B, C, które będą współczynnikami równania kwadratowego zapisanego w formie: Ax 2 + Bx + C = 0 Napisz program rozwiązujący te równanie kwadratowe dla współczynników podanych z klawiatury. Zadbaj o kontrolę poprawności danych. Pierwiastek: #include <cmath> sqrt()

Pętla while: Pętla for: Pętla do.. while: Pętla typu range-based: W C++ nie ma etykietowanego break i continue.

1. Jaki będzie wynik działania programu: 2. Co będą robić następujące pętle: Jak je zatrzymać?

1. Napisz program, który wczytuje liczby naturalne aż do podania przez użytkownika 0. Następnie wypisuje minimalną, maksymalną liczbę spośród podanych oraz ich średnią. 2. Wyznaczyć wszystkie liczby pierwsze od 0 do 100. 3. Wykorzystując pętle for napisz program, który wyświetli parzyste liczby całkowite z zakresu od 31 do 52. 4. Napisz program, który wyświetli na ekranie liczby z zakresu od 1 do 100 podzielne przez 4, ale niepodzielne przez 8 i niepodzielne przez 10. Wykorzystaj w tym celu instrukcję continue. 5. Napisz program, określający ile lat trzeba oszczędzać w banku na 5% lokacie, aby przy zarobkach rzędu 12000 zł rocznie netto mieć na koncie sumę co najmniej 200000 zł. Załóż, że od odsetek ani dochodu nie jest pobierany żaden podatek. 6. Napisz program generujący tabliczkę mnożenia 10 x 10 i wyświetlający ją na ekranie.

1. Napisz program wyliczający największy wspólny dzielnik dwóch liczb całkowitych podanych przez użytkownika algorytmem Euklidesa. 2. Napisz program wyznaczający silnie podanej przez użytkownika liczby. 3. Napisz program kalkulator, który będzie realizował następujące operacje: Dodawanie dwóch liczb Odejmowanie dwóch liczb Dzielenie dwóch liczb Mnożenie dwóch liczb Wyznaczanie pierwiastka kwadratowego z liczby Wyznaczanie procent z liczby. Wyznaczanie reszty z dzielenia dwóch liczb. Wyznaczanie dowolnej potęgi danej liczby. Kalkulator powinien umożliwiać wybór operacji tak długo jak tego chce użytkownik. Do realizacji tego programu przydatne mogą być instrukcje: cin.good() oraz cin.fail().