Liczby zespolone w języku C (cz.1)

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

C++ wprowadzanie zmiennych

Wstęp do Programowania, laboratorium 02

2 Przygotował: mgr inż. Maciej Lasota

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Część 4 życie programu

Programowanie - wykład 4

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Zmienne, stałe i operatory

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Język C zajęcia nr 11. Funkcje

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

Podstawy programowania C. dr. Krystyna Łapin

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

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

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 3 - sem.iii. Dr inż. M. Czyżak

Język ANSI C-struktury

Wstęp do wskaźników w języku ANSI C

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

do instrukcja while (wyrażenie);

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

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

Proces tworzenia programu:

Katedra Elektrotechniki Teoretycznej i Informatyki. sem. II - wykład 6. Dr hab. inż. M. Czyżak

Podział programu na moduły

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

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19

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

I - Microsoft Visual Studio C++

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

1 Podstawy c++ w pigułce.

int f(); //f - funkcja zwracająca wartość typu int int (*f)(); //f - wskaźnik do funkcji zwracającej wartość typu int

Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji

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

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

Język C zajęcia nr 5

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

5 Przygotował: mgr inż. Maciej Lasota

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

Teoria sterowania - studia niestacjonarne AiR 2 stopień

1 Powtórzenie wiadomości

1 Podstawy c++ w pigułce.

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

tablica: dane_liczbowe

Dr inż. Agnieszka Wardzińska 105 Polanka Konsultacje: Poniedziałek : Czwartek:

PROGRAMOWANIE w C prolog

Wyrażenia arytmetyczne

Pliki. Informacje ogólne. Obsługa plików w języku C

Zadanie nr 2: Arytmetyka liczb zespolonych

Wprowadzenie do języka Java

Język ANSI C tablice wielowymiarowe

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

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

Proste programy w C++ zadania

Argumenty wywołania programu, operacje na plikach

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

Informacja o programowaniu w c++ Dr Maciej Bobrowski

Język ludzki kod maszynowy

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

LICZBY ZESPOLONE. 1. Wiadomości ogólne. 2. Płaszczyzna zespolona. z nazywamy liczbę. z = a + bi (1) i = 1 lub i 2 = 1

Programowanie strukturalne i obiektowe

Programowanie Proceduralne

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Zad. 5: Układ równań liniowych liczb zespolonych

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

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

Programowanie Proceduralne



Język C zajęcia nr 7. Uwagi dotyczące stylu programowania

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

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

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

Podstawy Programowania C++

Wstęp do programowania

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

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

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

Teoria obwodów / Stanisław Osowski, Krzysztof Siwek, Michał Śmiałek. wyd. 2. Warszawa, Spis treści

Wstęp do programowania 1

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

BIBLIOTEKA STANDARDOWA C++

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

Transmitancje i charakterystyki częstotliwościowe. Krzysztof Patan

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Wstęp do programowania 1

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Funkcja (podprogram) void

1. Wprowadzenie do C/C++

Przekształcenia całkowe. Wykład 1

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

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Transkrypt:

Liczby zespolone w języku C (cz.) Standard ISO C99 wprowadza wsparcie dla liczb zespolonych w języku C. Jest to realizowane przez wprowadzenie słów kluczowych _Complex i _Imaginary oraz nowych kwalifikatorów complex, _Complex_I, imaginary, _Imaginary_I. Mają one następujące znaczenie - complex identyfikator służący definicji typu zespolonego - _Complex_I identyfikator reprezentujący - imaginary identyfikator służący definicji typu urojonego - _Imaginary_I identyfikator reprezentujący typu urojonego Nie wszystkie są obsługiwane przez przez kompilator DevC++. Obsługuje on _Complex, _Complex_I oraz complex ( jeśli włączono plik complex.h ) Plik ten umożliwia również stosowanie identyfikatora I jako.

Liczby zespolone w języku C (cz.) Przykład. apis liczb zespolonych w programie C. (zastosowanie I i _Complex_I).0 +4.0 i.0+ 4.0 * I.0 +4.0 i.0+ 4.0 * _Complex_I

Liczby zespolone w języku C (cz.) Typy zespolone Przykłady definicji zmiennych typów zespolonych. float _Complex z; // części rzeczywista i urojona są typu float float complex z; double complex double _Complex z; // części rzeczywista i urojona są typu double w[]={ +*I, -+4*I};// definicja tablicy // z inicjalizacją long double _Complex z4; long double complex z5; Na wartościach typów zespolonych można wykonywać te same działania arytmetyczne co na typach rzeczywistych ( +,-,*,/)

Liczby zespolone w języku C (cz.4) W C99 wprowadzono szereg arytmetycznych funkcji standardowych umożliwiających realizację różnego rodzaju operacji na danych zespolonych. Poniżej podano cztery wybrane funkcje: cabs() - oblicza wartość modułu liczby zespolonej carg() -oblicza kąt fazowy creal() - wyznacza część rzeczywistą liczby zespolonej cimag() - wyznacza część urojoną liczby zespolonej Oprócz tych funkcji istnieją specjalne konstrukcje, które umożliwiają wczytywanie liczb zespolonych jak również wyznaczanie części rzeczywistej i części urojonej. Wyrażenie real zmiennaespolona reprezentuje część rzeczywistą zmiennej zmiennaespolona ( to podwójne podkreślenie) Wyrażenie imag zmiennaespolona reprezentuje część rzeczywistą zmiennej zmiennaespolona Poniżej w programie zastosowano wczytywanie i drukowanie wartości zespolonych z użyciem tych konstrukcji.

Liczby zespolone w języku C (cz.5) int main(int argc, char *argv[]){ double _Complex z,z;// pierwszy sposób definicji double complex z,z4;// drugi sposób definicji double complex z5=00+00*i;// definicja z //inicjalizacją // Przypisywanie wartości liczbom zespolonym z=+*_complex_i;// +i z=4+6*i; // 4+6i z=z+z; // sumowanie liczb zespolonych // podobnie odejmowanie, mnozenie i dzielenie printf("\n z5=%f+j%f",creal(z5),cimag(z5)); // funkcja creal(z) wyznacza część rzeczywistą liczby // zespolonej, a cimag(z) część urojoną.

Liczby zespolone w języku C (cz.6) // wczytywanie liczby zespolonej i drukowanie printf("\n z="); scanf("%lf %lf", &( real z),&( imag z)); // drukowanie liczby zespolonej (sposob ) printf("\n z=%lf %lf", creal(z),cimag(z)); // drukowanie liczby zespolonej (sposob ) printf("\n z=%lf %lf", real z, imag z);

Liczby zespolone w języku C (cz.7) Przykład. Napisać program realizujący transformacje gwiazda-trójkąt i trójkąt-gwiazda dla zadanych impedancji wczytywanych z wejścia, wczytywać z klawiatury kierunek transformacji. + + = + + = + + =

Liczby zespolone w języku C (cz.8) Przykład. Napisać program obliczający prąd w obwodzie dla zadanego napięcia wejściowego i zadanych impedancji, następnie zmodyfikować program, tak aby dane były wprowadzane z klawiatury. i +j 6-j 0e j0 ~ 0+j.5 0-j4 5-j -j

Liczby zespolone w języku C (cz.9) X ( jω) K ( jω) Y ( jω) K ( jω) Y ( jω) K ( jω) = X ( jω) - transmitacja zespolona

Liczby zespolone w języku C (cz.0) K( j ω ) = K( j ω ) e jθ ( ω ) K ( jω) -charakterystyka amplitudowa θ (ω ) -charakterystyka fazowa 0log K( jω) W decybelach

Liczby zespolone w języku C (cz.) Przykład.Obliczanie charakterystyki amplitudowej filtru. #include <stdio.h> #include <stdlib.h> #include <complex.h> int main () { double complex z,z,z; double complex p,p,p,p4,k_jomega; double absk_jomega,absk_jomega; double Omega=0; int i; p=-0.9+0.8*i;//sprzężone bieguny transmitancji p=-0.9-0.8*i; p=-0.8+0.9*i; p4=-0.8-0.9*i;

Liczby zespolone w języku C (cz.) // Obliczanie modulu charakterystyki amplitudowej for (i=0;i<00;i++) { K_jOmega=(Omega*I+p)*(Omega*I+p)\ *(Omega*I+p)*(Omega*I+p4); K_jOmega=/K_jOmega; // obliczanie absk_jomega=0*log0(sqrt(creal(k_jomega)*\ creal(k_jomega)+cimag(k_jomega)*cimag(k_jomega))); // uzycie funkcji obliczajacej modul liczby zespolonej (drugi sposób) absk_jomega=0*log0(cabs(k_jomega));