Wprowadzenie do programowania na procesorze sygnałowym
|
|
- Leszek Cichoń
- 7 lat temu
- Przeglądów:
Transkrypt
1 Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch p Katedra Systemów Multimedialnych Wprowadzenie do programowania na procesorze sygnałowym
2 Wstęp Czego nauczymy się na tym i na kolejnych wykładach? Jak implementować algorytmy DSP na stałoprzecinkowym procesorze sygnałowym. Jak działają podstawowe algorytmy DSP - filtry, FFT, generatory sygnałów, itp. Jakie są ich praktyczne zastosowania. W przyszłym semestrze (6) będziemy wykonywać projekt. Bez wiedzy przedstawionej na tych wykładach będzie bardzo trudno!!!
3 Układ DSP TMS320C5535 Bohater opowieści: Układ uruchomieniowy ezdsp Texas Instruments Stałoprzecinkowy procesor DSP TMS320C5535 zegar MHz 320 KB RAM Pamięć flash 8 MB kodek audio
4 Uruchamianie algorytmów Tworzenie kodu tryb Debug: podłączamy płytkę przez USB do komputera, używamy programu Code Composer Studio do pisania kodu, uruchamiania, debugowania Gotowy program tryb Release: wgrywamy do pamięci flash lub na kartę SD, program uruchamia się po włączeniu zasilania
5 Asembler Jak piszemy kod? Pierwsza możliwość Asembler. Język tworzący praktycznie kod maszynowy. Pozwala wykorzystać wszystkie możliwości DSP. Umożliwia pisanie optymalnego (najszybszego) kodu. Tradycyjny sposób implementowania na DSP. Wada: wymaga dużej wiedzy, jest dość trudny. Na szczęście, typowe algorytmy DSP w Asemblerze są już dostępne biblioteka DSPLIB. Nie będziemy pisali w Asemblerze na tym przedmiocie.
6 Język C Drugi sposób dostępny na naszym DSP język C Znacznie łatwiejsze programowanie. Kompilator tłumaczy kod C na asembler. Robi to dobrze, ale nie jest w stanie być tak dokładny, jak programista Asemblera. Kod napisany w C będzie zwykle wolniejszy. Możliwe jest łączenie C z Asemblerem. Będziemy używali języka C do tworzenia kodu.
7 Czas działania algorytmu Częstotliwość zegara DSP wyznacza liczbę cykli na sekundę. Np. 100 MHz to 100 mln cykli/s. Każda instrukcja kodu zużywa określoną liczbę cykli zegarowych. Czas działania algorytmu mierzymy liczbą cykli. Np. jeżeli alg. zużywa 600 cykli, to czas = 0,6 ms. Optymalizacja algorytmu pozwala nam wykonać więcej operacji w ciągu sekundy bardzo ważne w zastosowaniach praktycznych.
8 Czas działania algorytmu Praktyczny wniosek: Programowanie na typowe komputery uczy nas nie dbać o czas wykonywania kodu ( nie optymalizować dopóki nie jest to niezbędne ). Takie podejście nie sprawdzi się na DSP. Jeżeli nie będziemy od początku dbali o czas wykonywania kodu, to może nam zabraknąć cykli zegarowych.
9 Kod w języku C Struktura kodu w języku C: dołączenie nagłówków (#include), deklaracje zmiennych, w tym buforów, (opcjonalnie) definicje funkcji, funkcja main tutaj rozpoczyna się wykonanie programu. Program może być zapisany w więcej niż jednym pliku.
10 Inicjalizacja układu Na początku main trzeba skonfigurować naszą płytkę: ustawienie częstotliwości zegara, włączenie kodeka dźwięku, ust. cz. próbkowania, uruchomienie wyświetlacza, przycisków, itp. i inne rzeczy. Te operacje wykonujemy w każdym programie, dlatego są one zwykle umieszczone w osobnej bibliotece. Trzeba jedynie je wywołać.
11 Schemat przetwarzania Przykład: chcemy przetworzyć dźwięk z wejścia i wysłać go na wyjście. Wewnątrz main implementujemy pętlę wykonującą następujące operacje: odczyt próbki z wejścia, przetwarzanie: próbka po próbce każdą próbkę z osobna, lub blokowe zapisujemy próbkę do bufora, przetwarzamy bufor gdy się zapełni, zapisanie przetworzonej próbki na wyjście.
12 Obliczanie średniej ruchomej Zabieramy się wreszcie do pisania kodu. Obliczamy wartość średnią ostatnich 5 próbek: y( n) = x( n) + x( n 1) + x( n 2) 5 + x( n 3) + x( n 4) lub inaczej: y( n) = 0,2x( n) + 0,2x( n 1) + 0,2x( n 2) + 0,2x( n 3) + 0,2x( n 4) Musimy przechować 5 ostatnich próbek w pamięci.
13 Bufor liniowy Najprostsze podejście bufor liniowy. Wyrzucamy z bufora najstarszą próbkę, przesuwamy pozostałe próbki o jedno miejsce, wpisujemy nową próbkę na wolne miejsce. Wada: tracimy czas na przesuwanie próbek. Jeśli w buforze będzie np. 100 próbek, zmarnujemy dużo cykli.
14 Bufor kołowy Lepsze rozwiązanie: bufor kołowy. Próbki nie są przesuwane. Przesuwany jest indeks wskazujący na najstarszą próbkę w to miejsce zapisujemy nową próbkę. Indeks musi się zawijać po dojściu na koniec bufora, wraca na pozycję 0.
15 Bufor kołowy i liniowy -ilustracja Bufor kołowy Bufor liniowy
16 Bufor kołowy w języku C Implementacja w naszym programie: #define N 5 int bufor[n]; int indeks = 0; // rozmiar bufora // deklaracja bufora // wskazuje najstarszą próbkę bufor[indeks] = nowa_probka; // zapis // tutaj wykonujemy obliczenia indeks += 1; if (indeks == N) indeks -= N; // przesunięcie indeksu // jesteśmy na końcu // zawijamy indeks
17 Bufor kołowy na DSP Bufory kołowe są zwykle używane na DSP. Procesor ma specjalne instrukcje do ich obsługi. W kodzie C mamy dostęp do wewnętrznych instrukcji procesora (intrinsics) za pomocą specjalnych komend. Np. zwiększenie indeksu w buforze kołowym to instrukcja _circ_incr. Instrukcje wewnętrzne skracają pisany kod.
18 Bufor kołowy na DSP Zamiast: indeks += 1; if (indeks == N) indeks -= N; możemy napisać: indeks = _circ_incr(indeks, 1, N);
19 Deklarowanie buforów Zanim pójdziemy dalej: gdzie deklarować bufory? DSP ma pamięć o ciągłym zakresie adresów. Pamięć jest logicznie dzielona na zakresy: danych, programu, stosu, itp. (definicje w pliku.cmd). Nie ma zabezpieczenia przed przekroczeniem danego zakresu! Zmienne (w tym bufory) możemy definiować: przed main w obszarze danych, wewnątrz main na stosie.
20 Stos Stos jest obszarem pamięci dla zmiennych deklarowanych wewnątrz funkcji (w tym main). Obszar stosu jest niewielki, np. 4 KB. Deklarując duże bufory wewnątrz main, możemy spowodować przepełnienie stosu. Objawy mogą być rożne, np.: zawieszenie się programu, program działa, ale generuje błędne dane.
21 Przepełnienie stosu Ilustracja problemu: Zajęty obszar stosu Deklarujemy duży bufor na stosie Wolny obszar stosu Zajęty obszar danych Przepełnienie stosu! Wolny obszar danych
22 Przepełnienie stosu Efekty przepełnienia stosu są trudne do debugowania. Obszar danych jest większy od stosu i wystarczający. Dlatego proszę zapamiętać i stosować poniższą zasadę. Wszelkie bufory danych deklarujemy globalnie, tzn. poza main i innymi funkcjami!
23 Typy danych Nasz DSP daje nam do dyspozycji następujące typy danych liczb całkowitych: int liczba 16-bitowa (także: short, DATA, Int16), long liczba 32-bitowa (także LDATA, Int32). Każdy typ jest w wersji: signed ze znakiem (domyślnie), unsigned bez znaku (np. unsignedint). NIE MA typów zmiennoprzecinkowych float, double!
24 Deklarowanie zmiennych w C Zmienna skalarna : typ, nazwa int probka; unsigned int indeks; Tablice (np. bufory): typ, nazwa[rozmiar] int bufor[1024]; Tablice stałych, np. współczynników: const int wsp[] = {1000, 2000, 3000}; Stałe liczbowe, np. rozmiar tablicy: const int N = 5; #define N 5
25 Mnożenie na DSP Wracamy do naszego kodu. Mamy policzyć średnią ruchomą. Musimy przemnożyć próbki przez 0,2. Pamiętajmy: tylko typy całkowitoliczbowe. Stosujemy zapis Q15 (wykład nr 5): 0,2 * Próbki sygnału są zapisane jako int (16 bit). Mnożenie dwóch liczb 16-bitowych daje wynik 32-bitowy (typ long).
26 Mnożenie na DSP W języku C, mnożenie dwóch liczb 16-bitowych daje zawsze wynik 16-bitowy, starsze bity zostają usunięte! Musimy rzutować mnożoną liczbę na typ long. Prawidłowo: long wynik = (long)probka * 6535; // OK Nieprawidłowo: int wynik = probka * 6535; // obcięcie wyniku long wynik = probka * 6535; // również obcięcie wyniku!
27 Obliczenie średniej Mnożymy przez 0,2 próbki zapisane w buforze kołowym, zaczynając od pozycji indeks, i sumujemy. const int WSP = 6535; // współczynnik 0,2 int i = 0; // licznik pętli int poz = indeks; // pozycja odczytu próbki long wynik = 0; // nasza średnia for (i = 0; i < n; i++) { // pętla po próbkach wynik += (long)bufor[poz] * WSP; poz = _circ_incr(poz, -1, N); }
28 MAC Jedna z typowych operacji na DSP: przemnożenie dwóch liczb i dodanie wyniku do akumulatora: y y + a * x Taka operacja nazywa się MAC multiplyand accumulate. DSP ma specjalne instrukcje do szybkiego MAC Nasz DSP potrafi wykonywać dwie operacje MAC w tym samym cyklu (Dual MAC). Wymaga to zwykle użycia Asemblera.
29 Przepełnienie zakresu Arytmetyka stałoprzecinkowa jest wrażliwa na przepełnienie zakresu liczby. Np. x = Obliczamy (x + 10). Liczba nie mieści się na 15 bitach (>32767). Następuje przepełnienie (overflow) jedynka przeskakuje na bit znaku. Wynik 8002h jest interpretowany jako ! Dostajemy całkowicie błędny wynik!
30 Przepełnienie zakresu Jak bronić się przed przepełnieniem? Najlepiej zapewnić, aby żadna cząstkowa suma nie przekraczała zakresu. Np. w naszym algorytmie mamy współczynniki 5 0,2 = 1. Jeżeli nie możemy tego zapewnić, możemy użyć 40-bitowego rejestru (typ longlong), ale spowalnia to obliczenia. Możemy też użyć arytmetyki nasycenia.
31 Arytmetyka nasycenia Saturationarithmetic obcina wartości przekraczające zakres do wartości maksymalnej. Np. dla liczb Q15 wynik jest równy: 32767, gdy wynik > 32767, , gdy wynik < Wyniki nadal są błędne, ale przynajmniej nie ma przeskoku na wartości z przeciwnym znakiem. Procesor DSP ma możliwość włączenia trybu nasycenia. Kosztuje to jeden cykl na operację.
32 Arytmetyka nasycenia Wybrane instrukcje wewnętrzne dla trybu nasycenia: _sadd / _lsadd dodawanie (wynik: int / long) _ssub / _lssub - odejmowanie _smpy / _lsmpy mnożenie _smac / _llsmac MAC (wynik: long / long long) UWAGA: instrukcje te włączają tzw. tryb ułamkowy (fractionalmode). Wynik typu long jest zapisywany w formacie Q31 (wynik Q30 jest mnożony razy 2)! Ułatwia to późniejszą konwersję do typu int.
33 Obliczenie średniej (c.d.) Stara wersja naszego algorytmu: for (i = 0; i < n; i++) { // pętla po próbkach wynik += (long)bufor[poz] * WSP; poz = _circ_incr(poz, -1, N); } Wersja z wykorzystaniem MAC i nasycenia: for (i = 0; i < n; i++) { // pętla po próbkach wynik = _smac(wynik, bufor[poz], WSP); poz = _circ_incr(poz, -1, N); }
34 Konwersja wyniku do typu int Po wykonaniu obliczeń, wynik (typu long) musi być skonwertowany do typu int. Są dwie metody. Obcięcie usunięcie najmłodszych 15 bitów (Q30) lub 16 bitów (Q31) poprzez przesunięcie bitowe. Należy pamiętać o rzutowaniu typu. // wynik: zmienna typu long (Q30) int wyjscie = (int)(wynik >> 15);
35 Konwersja wyniku do typu int Drugi sposób zaokrąglenie. Bardziej kosztowne, ale zmniejsza błędy zaokrągleń o połowę. Przed przesunięciem o n bitów, dodajemy 2 n-1. // wynik: zmienna typu long (Q30) int wyjscie = (int)((wynik ) >> 15); Dla liczb Q31 w trybie ułamkowym mamy instrukcję: int wyjscie = (int)(_sround(wynik) >> 16);
36 Obliczanie średniej (finał) Mamy już cały kod obliczający średnią z ostatnich pięciu próbek sygnału: y( n) = 0,2x( n) + 0,2x( n 1) + 0,2x( n 2) + 0,2x( n 3) + 0,2x( n Algorytm wygładza sygnał: 4)
37 Obliczanie średniej Jak wygląda charakterystyka częstotliwościowa naszego algorytmu?
38 Obliczanie średniej Możemy łatwo zmodyfikować nasz algorytm tak, aby liczył średnią z N próbek, ze współczynnikiem 1 / N
39 Obliczanie średniej To, co napisaliśmy, jest przykładem filtru cyfrowego typu FIR: o skończonej odpowiedzi impulsowej. Jedyna różnica to taka, że w filtrze FIR, współczynniki zwykle nie są stałe (u nas: stałe 0,2). Ale implementacja jest taka sama. Czyli wiemy już jak zaimplementować filtr FIR na DSP! Więcej o praktycznych implementacjach FIR - na kolejnym wykładzie.
40 Ważne rzeczy do zapamiętania Struktura kodu DSP w języku C Bufory deklarujemy poza main Typy int i long, rzutowanie i konwersje Arytmetyka Q mnożenie, dodawanie, MAC Problem przepełnienia zakresu, nasycenie Instrukcje wewnętrzne DSP
Filtry FIR i biblioteka DSPLIB
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Filtry FIR i biblioteka DSPLIB Wstęp Na poprzednim wykładzie napisaliśmy algorytm
Bardziej szczegółowoZastosowania Procesorów Sygnałowych. dr inż. Grzegorz Szwoch p Katedra Systemów Multimedialnych.
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Filtry FIR i IIR Plan wykładu Filtry FIR Instrukcje wewnętrzne DSP Filtry
Bardziej szczegółowoGenerowanie sygnałów na DSP
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Generowanie sygnałów na DSP Wstęp Dziś w programie: generowanie sygnałów za pomocą
Bardziej szczegółowoPrzykładowe pytania DSP 1
Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..
Bardziej szczegółowoLABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Bardziej szczegółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowoMETODY 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ę
Bardziej szczegółowoAdam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Sygnały dyskretne są z reguły przetwarzane w komputerach (zwykłych lub wyspecjalizowanych, takich jak procesory
Bardziej szczegółowoAdam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Sygnały dyskretne są z reguły przetwarzane w komputerach (zwykłych lub wyspecjalizowanych, takich jak procesory
Bardziej szczegółowoDr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Bardziej szczegółowoPoradnik programowania procesorów AVR na przykładzie ATMEGA8
Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR
Bardziej szczegółowoJak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Bardziej szczegółowoPROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04
PROCESORY SYGNAŁOWE - LABORATORIUM Ćwiczenie nr 04 Obsługa buforów kołowych i implementacja filtrów o skończonej i nieskończonej odpowiedzi impulsowej 1. Bufor kołowy w przetwarzaniu sygnałów Struktura
Bardziej szczegółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoWprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Bardziej szczegółowoKompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoWskaź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.
Część XXII C++ w 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. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowo2. Arytmetyka procesorów 16-bitowych stałoprzecinkowych
4. Arytmetyka procesorów 16-bitowych stałoprzecinkowych Liczby stałoprzecinkowe Podstawowym zastosowaniem procesora sygnałowego jest przetwarzanie, w czasie rzeczywistym, ciągu próbek wejściowych w ciąg
Bardziej szczegółowo1 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,
Bardziej szczegółowoARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoPodstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje oraz liczby naturalne od do 255
Bardziej szczegółowoAdam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.
Adam Korzeniewski - adamkorz@sound.eti.pg.gda.pl, p. 732 dr inż. Grzegorz Szwoch - greg@sound.eti.pg.gda.pl, p. 732 dr inż. Piotr Odya - piotrod@sound.eti.pg.gda.pl, p. 730 Plan przedmiotu ZPS Cele nauczania
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoTyp użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.
Typy danych Aby zapisać w komputerze jakąś daną, trzeba zapamiętać trzy jej podstawowe cechy: miejsce przechowywania informacji, przechowywaną wartość, rodzaj przechowywanej wartości. Typ użyty w deklaracji
Bardziej szczegółowoZestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Bardziej szczegółowoTechnologie Informacyjne
System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne
Bardziej szczegółowoPROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 03
PROCESORY SYGNAŁOWE - LABORATORIUM Ćwiczenie nr 03 Obsługa portu szeregowego, układu kodeka audio i pierwsze przetwarzanie sygnałów (cyfrowa regulacja głośności) 1. Konfiguracja układu szeregowego portu
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoWykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430
Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F
Bardziej szczegółowoPrzekształcenie Fouriera i splot
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Przekształcenie Fouriera i splot Wstęp Na tym wykładzie: przekształcenie Fouriera
Bardziej szczegółowoFiltry cyfrowe i procesory sygnałowe
Filtry cyfrowe i procesory sygnałowe Prezentacja nowego sprzętu do cyfrowego przetwarzania sygnałów w czasie rzeczywistym platformy TMX320C5515 ezdsp USB STICK Porównanie przydatności nowego sprzętu ze
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoTechniki multimedialne
Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo
Bardziej szczegółowoPodstawy Programowania. Wykład 1
Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania
Bardziej szczegółowoWiadomoś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 Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Bardziej szczegółowoSPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI
1 ĆWICZENIE VI SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI (00) Celem pracy jest poznanie sposobu fizycznej realizacji filtrów cyfrowych na procesorze sygnałowym firmy Texas Instruments TMS320C6711
Bardziej szczegółowoSpis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Bardziej szczegółowoPodstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoSzkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Bardziej szczegółowo1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Bardziej szczegółowoPodstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
Bardziej szczegółowoProgramowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Bardziej szczegółowoTemat 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,
Bardziej szczegółowoProgramowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Bardziej szczegółowoJę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
Bardziej szczegółowoZASTOSOWANIA PROCESORÓW SYGNAŁOWYCH
ZASTOSOWANIA PROCESORÓW SYGNAŁOWYCH Materiały pomocnicze do realizacji projektu Opracowanie: dr inż. Grzegorz Szwoch wersja 1.13, 07.05.2016 Gdańsk 2016 SPIS TREŚCI 1 KONFIGURACJA NOWEGO PROJEKTU W CODE
Bardziej szczegółowoWprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoTemat: 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,
Bardziej szczegółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoPytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoPodstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7
Bardziej szczegółowoJęzyk C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Bardziej szczegółowoMetody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Bardziej szczegółowoMikrokontroler ATmega32. Język symboliczny
Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami
Bardziej szczegółowo1 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,
Bardziej szczegółowoLaboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci
Laboratorium 1: Wprowadzenie do środowiska programowego oraz podstawowe operacje na rejestrach i komórkach pamięci Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji
Bardziej szczegółowoTemat 7. Programowanie mikrokontrolerów z rodziny PIC16 w języku C przy użyciu HI-TECH C for PIC10/12/16
Temat 7. Programowanie mikrokontrolerów z rodziny PIC16 w języku C przy użyciu HI-TECH C for PIC10/12/16 Spis treści do tematu 7 7.1. Używanie kompilatora 7.2. Rozszerzenia języka ANSI C 7.3. Optymalizacja
Bardziej szczegółowostart Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja
----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat"
Bardziej szczegółowoOperacje arytmetyczne
PODSTAWY TEORII UKŁADÓW CYFROWYCH Operacje arytmetyczne Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Dodawanie dwójkowe Opracował: Andrzej Nowak Ostatni wynik
Bardziej szczegółowoLaboratorium 5: Tablice. Wyszukiwanie binarne
Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały
Bardziej szczegółowo1 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
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Bardziej szczegółowoTeoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoMetody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Bardziej szczegółowoZASTOSOWANIA PROCESORÓW SYGNAŁOWYCH - PROJEKT
ZASTOSOWANIA PROCESORÓW SYGNAŁOWYCH - PROJEKT Harmonogram projektu Terminy realizacji i prowadzący zajęcia: T1 piątek, 8.30 10.00, NE 239 - dr inż. Grzegorz Szwoch (pok. 732) T2 piątek, 8.30 10.00, NE
Bardziej szczegółowoPodstawy 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:
Bardziej szczegółowoKodowanie informacji. Kody liczbowe
Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,
Bardziej szczegółowoArytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
Bardziej szczegółowo> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017
> C++ wskaźniki Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 >??? Co to jest WSKAŹNIK? ++ wskaźniki 2 / 20 >??? Co to jest WSKAŹNIK? To po prostu ADRES
Bardziej szczegółowoDla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
Bardziej szczegółowoARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe
ARCHITEKTURA KOMPUTERÓW 17.11.2010 Liczby zmiennoprzecinkowe Sprawa bardzo podobna jak w systemie dziesiętnym po przecinku mamy kolejno 10-tki do ujemnych potęg, a w systemie binarnym mamy 2-ki w ujemnych
Bardziej szczegółowoSterowniki Programowalne (SP) Wykład 13
Sterowniki Programowalne (SP) Wykład 13 Język C dla sterowników programowalnych GeFanuc Na podstawie C Programmer's Toolkit for PACSystems WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW
Bardziej szczegółowoJęzyki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Bardziej szczegółowoProgramowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Bardziej szczegółowoZaawansowane algorytmy DSP
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Zaawansowane algorytmy DSP Wstęp Cztery algorytmy wybrane spośród bardziej zaawansowanych
Bardziej szczegółowoI. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA
I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów
Bardziej szczegółowoWydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1A400027 Temat ćwiczenia:
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoWstęp do informatyki- wykład 1 Systemy liczbowe
1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz,
Bardziej szczegółowoKonwersje 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,
Bardziej szczegółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoProgramowanie mikrokontrolerów. 8 listopada 2007
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik
Bardziej szczegółowoWydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Konstrukcje i Technologie w Aparaturze Elektronicznej Ćwiczenie nr 5 Temat: Przetwarzanie A/C. Implementacja
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoMagistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Bardziej szczegółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Bardziej szczegółowo