Wyrażenia arytmetyczne

Podobne dokumenty
operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

ZMIENNE P R O G R A M O W A N I E C + +

Wstęp do Programowania, laboratorium 02

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

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

2 Przygotował: mgr inż. Maciej Lasota

Stałe oznaczane są słowem kluczowym final. Do stałej wartość można przypisać tylko raz. Dobrą konwencją jest nazywanie stałych wielkimi literami

ROZDZIAŁ 2. Operatory

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

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

IX. Wskaźniki.(3 godz.)

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

Część 4 życie programu

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?

1 Podstawy c++ w pigułce.

Odczyt danych z klawiatury Operatory w Javie

Podstawy programowania C. dr. Krystyna Łapin

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2

Język C zajęcia nr 11. Funkcje

Programowanie komputerowe. Zajęcia 1

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

I - Microsoft Visual Studio C++

C++ wprowadzanie zmiennych

Mikrokontroler ATmega32. Język symboliczny

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

J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE

Podstawy programowania w języku C i C++

dr inż. Jarosław Forenc

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

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

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

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

Zmienne, stałe i operatory

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Programowanie Delphi obliczenia, schematy blokowe

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

1. Wypisywanie danych

Podstawy Programowania C++

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

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

1 Podstawy c++ w pigułce.

Proces tworzenia programu:

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

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

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

Programowanie Komputerów

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

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania

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

Język C, tablice i funkcje (laboratorium, EE1-DI)

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

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

Spis treści JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE.

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

Języki i paradygmaty programowania

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

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

W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

Wstęp do programowania

Elementarne wiadomości o języku C

Obliczenia Symboliczne

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

Programowanie w C++ - wybrane przykłady szablonów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy i języki programowania

Deklaracje. W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

WYRAŻENIA ALGEBRAICZNE

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

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

Luty 2001 Algorytmy (7) 2000/2001

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Proste programy w C++ zadania

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Metoda znak-moduł (ZM)

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

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2

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

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

Zadanie 1. Algorytmika ćwiczenia

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Programowanie w elektronice: Podstawy C

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

Język C, tablice i funkcje (laboratorium)

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

I. Podstawy języka C powtórka

Transkrypt:

Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie łączny i ma większy priorytet niż każdy z operatorów dwuargumentowych. Operatory dwuargumentowe są lewostronnie łączne. Oto lista podstawowych operatorów w kolejności malejących priorytetów (operatory z jednej linii mają ten sam priorytet) : * - mnożenie / - dzielenie % - reszta z dzielenia + - dodawanie - - odejmowanie Operator przypisania (=) jest prawostronnie łączny. Instrukcja przypisania: i=k/n*m; oznacza, że zmienna i przyjmie wartość wyrażenia:. Natomiast instrukcja: i=k/(n*m); przypisuje zmiennej i wartość wyrażenia:. Oto przykład programu, który wczytuje wartości dwóch zmiennych typu integer a i b i zamienia ich wartości. Wykorzystano instrukcję przypisania i dodatkową zmienną c. int main() //zamiana wartosci dwoch liczb c=a; a=b; b=c; printf("\n\ta=%d\n\tb=%d\n",a,b); Typy zmiennych mają decydujący wpływ na typ wartości wyrażenia. Jeśli oba argumenty są tego samego typu wartość wyrażenia jest tego samego typu. Ilustruje to poniższy przykład:

int main() //dzielenie calkowite c=a/b; printf("\n\ta=%d\n\tb=%d\n\tc = a/b = %d/%d = %d\n",a,b,a,b,c); A oto przykładowe wywołanie programu: a= a= c = a/b = /3 = 0 Ponieważ oba argumenty są typu całkowitego wynik dzielenia jest całkowity i wynosi 0. Nie ma tu miejsce zaokrąglenie liczby, lecz odcięcie części ułamkowej. Jeśli do zmiennej typu double podstawimy wartość dzielenia dwóch liczb integer dzielenie będzie wykonane w sposób całkowity (a więc bez części ułamkowej), a następnie wynik zostanie podstawiony do zmiennej zmiennoprzecinkowej (część ułamkowa zostanie wypełniona zerami). Jeśli przynajmniej jeden argument jest typu float lub double, wynik dzielenia jest również tego typu. Do zmiany typu argumentu służy jednoargumentowy, prawostronnie łączny operator: (typ) zmienna Operator ten został użyty w kolejnym przykładzie w celu uzyskania spodziewanego wyniku dzielenia: int main() //dzielenie calkowite i nie tylko double d; c=a/b; printf("\n\ta=%d\n\tb=%d\n\tc = a/b = %d/%d = %d\n\n", a,b,a,b,c); d=a/b; printf("\n\ta=%d\n\tb=%d\n\td = a/b = %d/%d = %lf\n\n", a,b,a,b,d); d=(double)a/b; printf("\n\ta=%d\n\tb=%d\n\td = a/b = %d/%d = %lf\n\n", a,b,a,b,d); printf("\n\td = %5.3lf\n\n\n",d); A oto przykładowy wynik programu:

a= a= c = a/b = /3 = 0 a= d = a/b = /3 = 0.000000 a= d = a/b = /3 = 0.666667 d=0.667 Zasady dotyczące wyniku działania operatorów arytmetycznych w zależności od typów argumentów dotyczą również stałych liczbowych użytych w programie. Liczba zapisana bez kropki dziesiętnej jest liczbą całkowitą typu int, stała zapisana z kropką dziesiętną przyjmuje typ double. Dlatego wynikiem działania: 1/ jest 0, natomiast 1./ daje w wyniku liczbę 0.5. Do obliczania wartości wyrażeń często potrzebne są funkcje matematyczne zawarte w bibliotece. Aby skorzystać z tych funkcji należy do programu dołączyć plik nagłówkowy zawierający ich deklaracje za pomocą polecenia preprocesora: #include <math.h> oraz dołączyć bibliotekę matematyczną (w systemie linu kompilacja poleceniem: gcc -lm program.c o program). Należy zwrócić uwagę na typ funkcji oraz typ argumentów. Do najpopularniejszych funkcji należą: double ep(double ) double log(double ) e ln

double log10(double ) double pow(double, double y) double sqrt(double ) double sin(double ) double cos(double ) double tan(double ) double fabs(double ) int abs(int ) log y sin cos tg Zapis przykładowych wyrażeń matematycznych w języku C: double,y,z,m; z=(ep(*pow(,m))+log()*sqrt(*y))/(*sin()*cos(*)); Należy zwrócić uwagę na to, że cały mianownik musi być ujęty w nawiasy. double,y; int k,l; tg y 1 (1 5 e 1 )(cos k l 6) y=(tan(*/(1+*))*ep((1+*)/(*))+(double)k/l)/((1++pow(,5./.)*(cos()*cos()+6))); Do uzyskania potęgi 5/ wykorzystano funkcję pow, której drugim argumentem jest 5./. Dziesiętna kropka przy liczbie 5 lub jest niezbędna, w przeciwnym wypadku podniesione by zostało do potęgi, zamiast.5. Do uzyskania rzeczywistego wyniku z dzielenia dwóch całkowitych zmiennych k i l zastosowano operator rzutowania (double). 3 a b z 3 1 ( y)sin

double a,b,,y,z; z=(a*a+pow(b,1./3.))/((+y)*sin()) + fabs(3*-1);