Inżynieria Wytwarzania Systemów Wbudowanych
|
|
- Bogdan Wawrzyniak
- 5 lat temu
- Przeglądów:
Transkrypt
1 GUT Intel 2015/16 1/40 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 1 Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 5, 2018
2 Potrzeba standaryzacji Tworzenie kodu źródłowego (implementacja kodu) to nieodłaczny element procesu wytwarzania systemu wbudowanego Język C jest najczęściej używanym językiem programowania w systemach wbudowanych Jakość programów napisanych w C wyraźnie odzwierciedla różnicę w poziomie umiejętności kodowania między doświadczonymi i niedoświadczonymi programistami. Standaryzacja umożliwia minimalizowanie tej rożnicy! ESCR zgodne z ISO/IEC 25010:2011 Systems and software engineering Systems and software Quality Requirements and Evaluation (SQuaRE) System and software quality models GUT Intel 2015/16 2/40
3 Standardy języka C dla systemów wbudowanych Język C C90: ISO/IEC 9899:1990 Programming Language C. C99: ISO/IEC 9899:1999 Programming Language C C11: ISO/IEC 9899:2011 Programming Language C Język C++: ISO/IEC 14882:2003 Programming language C++ MISRA C język C zdefiniowany przez The Motor Industry Software Reliability Association (MISRA) MISRA C:1998 MISRA C:2004 MISRA C:2012 GUT Intel 2015/16 3/40
4 Model jakości oprogramowania Poprawność (correctness) - stopień zgodności programu ze specyfikacja i zaspokojenia celów przedsięwzięcia Wiarygodność (reliability) - stopień, w jakim program wykonuje zamierzone funkcje z wymagana precyzja Wydajność (efficiency) - ilość przetwarzanych zasobów i kodu, które program potrzebuje do wykonywania swoich funkcji Integralność (integrity) - stopień odporności programu lub danych na nieuprawnione użycie lub modyfikację Użyteczność (usability) - wysiłek, który musi być włożony w nauczenie się programu, w jego użycie, przygotowanie danych wejściowych i interpretację danych wyjściowych Łatwość pielęgnacji (maintainability) - wysiłek, który musi być włożony w lokalizację błędów i ich naprawę GUT Intel 2015/16 4/40
5 Model jakości oprogramowania Elastyczność (flexibility) - wysiłek wymagany dla modyfikacji działajacego programu Testowalność (testability) - wysiłek, który jest potrzebny dla upewnienia się, że program funkcjonuje poprawnie Przenośność (portability) - wysiłek, który może być wymagany dla przeniesienia oprogramowania z jednego systemu sprzętowego lub programowego do drugiego Możliwość powtórnego wykorzystania (reusability) - stopień, w jakim całość lub część oprogramowania może zostać powtórnie wykorzystana w innej aplikacji Łatwość współdziałania (interoperability) - wysiłek, który musi być włożony dla podłaczenia jednego systemu do drugiego GUT Intel 2015/16 5/40
6 Model jakości oprogramowania (ISO/IEC 25010) GUT Intel 2015/16 6/40
7 Embedded System development Coding Reference (ESCR) Publikowane przez IPA/SEC (Software Reliability Enhancement Center, Technology Headquarters, Information-technology Promotion Agency, Japan) Zalecenia dotyczace jakości kodu źródłowego w języku C Opracowane w celu ustanowienia pewnej konwencji i promowania standardów kodowania w języku C Zgodne ze standardem C99 i MISRA C Wersja 2.0, będaca rozwinięciem wersji GUT Intel 2015/16 7/40
8 Dobre praktyki GUT Intel 2015/16 8/40
9 Inicjalizacja zmiennych Jeśli zmienne sterujace nie zostana zainicjowane, ich wartości staja się niezdefiniowane, a wyniki operacji moga się różnić od spodziewanych. Inicjalizacja musi mieć miejsce w momencie deklaracji lub wprost przed użyciem zmiennej. GUT Intel 2015/16 9/40
10 Inicjalizacja stałych Stałe musza być zainicjalizowane w momencie deklaracji, ponieważ później nie można juz im przypisać wartości. W języku C brak inicjalizacji przy deklaracji stałej nie powoduje błędu kompilacji (w języku C++ już tak). GUT Intel 2015/16 10/40
11 Inicjalizacja tablic Tablice o ustalonej liczbie elementów powinny być inicjalizowane taka liczba wartości, ile elementów ma tablica. Jeśli do tablicy o N elementach zostanie zapisanych N znaków, może to spowodować błędne działanie funkcji przetwarzajacej łańcuch znaków. Jeśli dane w tablicy maja być przetwarzane jako łańcuch znaków, należy pamiętać o znaku pustym jako jej ostatnim elemencie. GUT Intel 2015/16 11/40
12 Zakres obszaru pamięci wskazywanego przez wskaźnik 1. Nie należy dodawać wartości całkowitych do zmiennych wskaźnikowych! Bezpieczniej jest traktować obszar pamięci jak tablicę i zmieniać indeks elementów tablicy (a nie wskaźnik). 2. Nie należy wychodzić poza zakres pamięci zaalokowanej dla tablicy. GUT Intel 2015/16 12/40
13 Odejmowanie wartości wskaźników od siebie Odejmowanie wartości wskaźników w celu uzyskania wiedzy o liczbie elementów tablicy pomiędzy tymi wskaźnikami dopuszczalne jest tylko w zakresie tej samej tablicy GUT Intel 2015/16 13/40
14 Porównywanie wartości wskazywanych przez wskaźniki Porównywanie wartości wskazywanych przez wskaźniki dopuszczalne jest jedynie wtedy, gdy obydwa wskaźniki wskazuja na wartości znajdujacej się w tej samej tablicy lub strukturze. W przeciwnym razie wynik takiego porównania jest niezdefiniowany (w ogólnym przypadku). Należy pamiętać, że adresy poczatków tablic sa zależne od platformy! GUT Intel 2015/16 14/40
15 Liczba zmiennoprzecinkowa a instrukcja iteracyjna Liczba zmiennoprzecinkowa nie powinna być licznikiem (zmienna sterujac a) instrukcji iteracyjnej. Błędy zaokragleń moga się kumulować i doprowadzić do nieprzewidzianego zachowania instrukcji iteracyjnej. GUT Intel 2015/16 15/40
16 Porównywanie struktur i unii Pamięć struktur i unii może zawierać niewykorzystana przestrzeń adresowa. Wartości zapisane pod niewykorzystanymi adresami nie sa znane. Dlatego też struktury i unie nie powinny być porównywane ze soba za pomoca funkji memcmp. Porównywanie powinno odbywać się pomiędzy poszczególnymi elementami struktur. GUT Intel 2015/16 16/40
17 Porównywanie z wartościa logiczna Należy unikać sprawdzania prawdziwości wyrażenia: zmienna == TRUE. W języku C wartości TRUE odpowiada każda niezerowa wartość. GUT Intel 2015/16 17/40
18 Operator warunkowy (?:) Podczas użycia operatora warunkowego (?:) wyrażenie logiczne powinno być zamknięte w nawiasach (), a zwracane wartości powinny być tego samego typu. GUT Intel 2015/16 18/40
19 Porównywanie zmiennej z licznikiem instrukcji iteracyjnej - typ danych! Porównywanie wartości zmiennych o różnym zakresie wartości może prowadzić do nieprzewidzianego zachowania instrukcji iteracyjnej. GUT Intel 2015/16 19/40
20 Zgodność typów argumentów i wyniku operacji arytmetycznej W przypadku działać arytmetycznych typ zmiennej, do której zapisywany jest wynik, nie ma znaczenia podczas kompilacji. Precyzja wartości wynikowej zależy tylko od argumentów działania. W celu kontrolowania typu danych należy stosować rzutowanie typów PRZED operacja arytmetyczna. GUT Intel 2015/16 20/40
21 Zgodność typów argumentów i wyniku operacji arytmetycznej Jawne rzutowanie typów potrzebne jest również wtedy, gdy operacja arytmetyczna dotyczy typów: ze znakiem i bez znaku. Zawsze jednak warto rozważyć najpierw zmianę typu danych. GUT Intel 2015/16 21/40
22 Ryzyko utraty informacji Jeśli w zmiennej jest zapisywana wartość innego typu, niz ta zmienna, zapisana wartość może ulec zmianie. Nawet jeśli wiemy, że dana konwersja nie jest obarczona ryzykiem informacji, rzutowanie typu powinno być jawne. Zawsze warto upewnić się, czy zapisana wartość zmiennej mieści się w założonym zakresie GUT Warto Intelrozważyć 2015/16 zmianę 22/40 typu zmiennych - często jest to najprostsze
23 Jednoargumentowy operator - a typ unsigned Nie należy używać jednoargumentowego operatora - przed argumentem typu bez znaku. Np.: instrukcja: if ( - ui < 0 ) nie zwróci wartości true. GUT Intel 2015/16 23/40
24 Operatory: ~ i << a typ unsigned Jeśli operatory ~ i << stosowane sa w odniesieniu do wartości typu bez znaku, wynik będzie typu signed int. Jeśli zależy nam na wyniku unsigned int, potrzebne jest jawne rzutowanie typu. GUT Intel 2015/16 24/40
25 Przesunięcie bitowe Drugi (prawostronny) argument operatora przesunięcia bitowego << powinien być większy badź równy zero, ale mniejszy od liczby bitów argumentu z lewej strony. W przeciwnym razie zachowanie programu będzie nieprzewidywalne (zależy od kompilatora). GUT Intel 2015/16 25/40
26 Sekwencja bitów Sekwencja bitów powinna być definiowana jako liczba typu unsigned. Wynik działania operatorów bitowych na liczbie typu signed może być zależny od kompilatora. GUT Intel 2015/16 26/40
27 Porównanie: wskaźnik < > 0 Nie ma sensu sprawdzać, czy wskaźnik jest mniejszy lub większy od zera. Jeśli jednym z argumentów porównania jest wskaźnik, kompilator zmieni wartość 0 na null pointer, wówczas wynik porównania może być inny od zakładanego. GUT Intel 2015/16 27/40
28 Deklaracja funkcji bez parametrów Deklaracja function() może być interpretowana przez niektóre kompilatory jako funkcja o nieznanej liczbie parametrów. Dlatego w przypadku funkcji bez parametrów należy deklarować ja z 1 parametrem void. GUT Intel 2015/16 28/40
29 Funkcja o zmiennej liczbie parametrów Funkcja nie powinna być deklarowana ze zmienna liczba parametrów. Bez rozumienia procesu przetwarzania takich funkcji dla konkretnej platformy ich użycie może powodować przepełnienie stosu lub inne niespodziewane problemy. GUT Intel 2015/16 29/40
30 Deklaracja prototypu funkcji Deklaracja prototypu funkcji powinna znajdować się w jednym miejscu, do którego można odnieść się w pliku gdzie znajduje się jej definicja oraz wywołanie. GUT Intel 2015/16 30/40
31 Zawsze sprawdzaj, czy nie wychodzisz poza zakres adresów elementów tablicy W języku C tablica nie może mieć zmiennej wielkości GUT Intel 2015/16 31/40
32 Unikaj konstrukcji, które w szczególnych okolicznościach moga spowodować runtime error GUT Intel 2015/16 32/40
33 Jeśli funkcja zwraca kod błędu, trzeba go jawnie sprawdzić GUT Intel 2015/16 33/40
34 Nie używaj wywołań rekurencyjnych (MISRA C) Rozmiar stosu używany podczas wywołania rekurencyjnego jest nieprzewidywalny, więc istnieje ryzyko przepełnienia go. GUT Intel 2015/16 34/40
35 W instrukcjach warunkowych zawsze obsługuj wszystkie możliwe przypadki jeśli brakuje else, nie wiadomo, czy jest to zamierzone, czy programista zapomniał czegoś dopisać nawet jeśli nie potrzebujesz obsługi else, warto wykorzystać ta część GUT Intel 2015/16 35/40 instrukcji do obsługi wyjatków
36 W instrukcjach warunkowych zawsze obsługuj wszystkie możliwe przypadki GUT Intel 2015/16 36/40
37 Nie używaj operatora porównania: == lub!= do sprawdzania wartości licznika instrukcji iteracyjnej GUT Intel 2015/16 37/40
38 Nie łacz w jednej instrukcji przekazania parametru do funkcji i jego modyfikacji Kompilatory nie gwarantuj a kolejności wykonania operacji na parametrach wejściowych funkcji! (side effect problem) GUT Intel 2015/16 38/40
39 Nie porównuj liczb zmiennoprzecinkowych za pomoca operatora == lub!=! dobrze: f l o a t a = 2. 0 ; f l o a t b = a 3; f l o a t e p s i l o n = ; i f ( b a 3 < e p s i l o n ) {... } źle: f l o a t a = 2.0 f l o a t b = a 3; i f ( b == a 3) { / / TRUE of FALSE?} GUT Intel 2015/16 39/40
40 Literatura GUT Intel 2015/16 40/40
Dokumentacja i systemy jakości
Dokumentacja i systemy jakości Model jakości oprogramowania Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG November 25, 2018 Potrzeba standaryzacji Tworzenie kodu źródłowego (implementacja
Bardziej szczegółowoInżynieria Wytwarzania Systemów Wbudowanych
GUT Intel 2015/16 1/30 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 3 Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 18, 2018 Dobre praktyki GUT Intel 2015/16 2/30 Przenośność
Bardziej szczegółowoInżynieria Wytwarzania Systemów Wbudowanych
GUT Intel 2015/16 1/1 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 2 Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 11, 2018 Dobre praktyki GUT Intel 2015/16 2/1 Łatwość pielęgnacji
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ółowoModel jakości McCalla
Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Model jakości McCalla http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc J.Kuchta@eti.pg.gda.pl Czynniki jakości
Bardziej szczegółowoPodstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
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ółowoJęzyki i techniki programowania Ćwiczenia 2
Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
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ół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ółowoOperatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1
Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoWykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
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ółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoczęść 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia
Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy
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ółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
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ółowoWstęp do wskaźników w języku ANSI C
Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,
Bardziej szczegółowoOczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
Bardziej szczegółowo/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
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ół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ółowoJęzyki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoWykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster
Wykład nr 3 Temat: Wskaźniki i referencje. Cytaty: Mylić się jest rzeczą ludzką, ale żeby coś naprawdę spaprać potrzeba komputera. Edward Morgan Forster Gdyby murarze budowali domy tak, jak programiści
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ółowoProgramowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer
Bardziej szczegółowoFunctionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoWskaźniki, funkcje i tablice
, funkcje i tablice Zak lad Chemii Teoretycznej UJ 20 listopada 2008 wielowymiarowe 1 2 3 4 wielowymiarowe, funkcje i tablice Czym sa wskaźniki? Plan wielowymiarowe Zmienne wskaźnikowe wskazuja na inne
Bardziej szczegółowoLaboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Bardziej szczegółowoProgramowanie w elektronice: Podstawy C
Programowanie w elektronice: Podstawy C Projekt Matematyka dla Ciekawych Świata, Robert Ryszard Paciorek 2019-05-05 C / C++ są najpopularniejszymi językami kompilowanymi do kodu maszynowego
Bardziej szczegółowoWstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoJęzyki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
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ółowoJęzyk C - podstawowe informacje
Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
Bardziej szczegółowoOperatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
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ółowoWykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
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ółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof
Bardziej szczegółowoWskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17
Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8
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ółowoPodstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Bardziej szczegółowoPrzeciążanie operatorów
Instrukcja laboratoryjna nr 4 Programowanie w języku C 2 (C++ poziom zaawansowany) Przeciążanie operatorów dr inż. Wilk-Jakubowski Jacek mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz Wprowadzenie Oprócz
Bardziej szczegółowoOperatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:
Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoTablice, funkcje, wskaźniki - wprowadzenie
Tablice, funkcje, wskaźniki - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 4 19 listopada 2018 (Wykład 4) Tablice, funkcje, wskaźniki - wprowadzenie 19 listopada 2018 1 / 37 Outline 1 Tablice
Bardziej szczegółowoWykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz
Wykład 8 Testowanie w JEE 5.0 (1) Autor: 1. Rola testowania w tworzeniu oprogramowania Kluczową rolę w powstawaniu oprogramowania stanowi proces usuwania błędów w kolejnych fazach rozwoju oprogramowania
Bardziej szczegółowoKURS C/C++ WYKŁAD 6. Wskaźniki
Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można
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ółowoPodstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia
Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka
Bardziej szczegółowoPodstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
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ółowoTablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ
Zak lad Chemii Teoretycznej UJ 26 listopada 2007 wielowymiarowe 1 2 wielowymiarowe 3 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego
Bardziej szczegółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoOperacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Obliczenia matematyczne (operatory) Operator
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ółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoPodstawy programowania komputerów
Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
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ółowoDelphi Laboratorium 3
Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,
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ółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE
WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez
Bardziej szczegółowoProgramowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne
Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty
Bardziej szczegółowoJęzyki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowo1 Wskaźniki. 1.1 Główne zastosowania wskaźników
1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować
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ółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
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ółowoZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Bardziej szczegółowoWdrażanie systemów zarządzania w małych, średnich i dużych przedsiębiorstwach. prof. PŁ dr hab. inż. Andrzej Szymonik 2015/2016 www.gen-prof.
Wdrażanie systemów zarządzania w małych, średnich i dużych przedsiębiorstwach prof. PŁ dr hab. inż. Andrzej Szymonik 2015/2016 www.gen-prof.pl 1 Zagadnienie: Istota i obszary funkcjonowania systemów zintegrowanych
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ółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy KONSTRUKTORY
Inicjalizacja obiektu KONSTRUKTORY Inicjalizacja Przyczyną wielu błędów w programach jest nieprawidłowe zainicjalizowanie zmiennych na początku działania programu. Obiekt zawiera z reguły szereg pól ich
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ółowoUkłady arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011
Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy
Bardziej szczegółowo