Dokumentacja i systemy jakości
|
|
- Joanna Małek
- 5 lat temu
- Przeglądów:
Transkrypt
1 Dokumentacja i systemy jakości Model jakości oprogramowania Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG November 25, 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 2/60
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 3/60
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ę 4/60
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 5/60
6 Model jakości oprogramowania (ISO/IEC 25010) 6/60
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 /60
8 Dobre praktyki 8/60
9 Niezawodność (Reliability) 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. 9/60
10 Niezawodność (Reliability) 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). 10/60
11 Niezawodność (Reliability) 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. 11/60
12 Niezawodność (Reliability) 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. 12/60
13 Niezawodność (Reliability) 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. 13/60
14 Niezawodność (Reliability) 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. 14/60
15 Niezawodność (Reliability) 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. 15/60
16 Niezawodność (Reliability) 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. 16/60
17 Niezawodność (Reliability) 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. 17/60
18 Niezawodność (Reliability) 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. 18/60
19 Niezawodność (Reliability) Zawsze sprawdzaj, czy nie wychodzisz poza zakres adresów elementów tablicy W języku C tablica nie może mieć zmiennej wielkości 19/60
20 Niezawodność (Reliability) Unikaj konstrukcji, które w szczególnych okolicznościach moga spowodować runtime error 20/60
21 Niezawodność (Reliability) 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. 21/60
22 Niezawodność (Reliability) 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ęść 22/60 instrukcji do obsługi wyjatków
23 Niezawodność (Reliability) W instrukcjach warunkowych zawsze obsługuj wszystkie możliwe przypadki 23/60
24 Niezawodność (Reliability) Nie używaj operatora porównania: == lub!= do sprawdzania wartości licznika instrukcji iteracyjnej 24/60
25 Niezawodność (Reliability) 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) 25/60
26 Niezawodność (Reliability) 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?} 26/60
27 Łatwość pielęgnacji/konserwacji (Maintainability) Łatwość pielęgnacji (maintainability) - wysiłek, który musi być włożony w lokalizację błędów i ich naprawę Kiedy potrzebna jest zmiana programu, który został już dostarczony klientowi, np.: w wyniku znalezienia błędu gdy zaistnieje potrzeba dodania nowej funkcjonalności Dobre praktyki: pamiętaj, że inni będa czytać twój kod, pisz w taki sposób, by zmniejszyć prawdopodobieńtwo błędu podczas modyfikacji, pisz prosto, pisz w jednolitym stylu, pisz w taki sposób, by móc łatwo opracować testy. 27/60
28 Łatwość pielęgnacji/konserwacji (Maintainability) Deklaracje wielu zmiennych 1. W jednej instrukcji deklaruj tylko jedn a zmienn a 2. Możesz zadeklarować w jednej instrukcji zmienne tego samego typu i przeznaczenia, jednak nie mieszaj zmiennych zainicjalizowanych ze zmiennymi niezainicjalizowanymi 28/60
29 Łatwość pielęgnacji/konserwacji (Maintainability) Długi łańcuch znaków w wielu liniach kodu Długi łańcuch znaków podziel na wiele składowych łańcuchów. Nie umieszczaj jednego łańcucha znaków w wielu liniach kodu (taka konstrukcja jest bardziej czytelna). 29/60
30 Łatwość pielęgnacji/konserwacji (Maintainability) użycie instrukcji switch, gdy możliwe sa tylko 2 przypadki używaj instrukcji switch tylko wtedy, gdy liczba możliwych przypadków jest większa od 2 switch jest obarczony większym prawdopodobieństwem błędu, niż if (nieprawnie zdefiniowany przypadek default, brak polecenia break) 30/60
31 Łatwość pielęgnacji/konserwacji (Maintainability) Nawiasy w wyrażeniach logicznych Używaj nawiasów ( ) by zwiększyć czytelność wyrażeń logicznych 31/60
32 Łatwość pielęgnacji/konserwacji (Maintainability) Nawiasy a operatory dwuargumentowe Używaj nawiasów ( ) by jasno zaznaczyć, jaka jest kolejność wykonywania operacji 32/60
33 Łatwość pielęgnacji/konserwacji (Maintainability) Użycie nazwy funkcji bez nawiasów ( ) W języku C zawołanie nazwy funkcji bez nawiasów oznacza pobranie adresu (referencji) tej funkcji Taki kod trudno odróżnić od pomyłki polegajacej na pominięciu nawiasów podczas wywołania funkcji Używaj operatora & do sprawdzania referencji do funkcji! 33/60
34 Łatwość pielęgnacji/konserwacji (Maintainability) Jawne porównanie z wartościa 0 Jawnie porównuj wartość zmiennej z wartościa 0 (lub true/false) 34/60
35 Łatwość pielęgnacji/konserwacji (Maintainability) Jedna zmienna = jedno przeznaczenie Nie używaj tej samej zmiennej do różnych zadań 35/60
36 Łatwość pielęgnacji/konserwacji (Maintainability) Nie używaj nazw istniejacych w standardowych biblitekach 36/60
37 Łatwość pielęgnacji/konserwacji (Maintainability) Nie używaj nazw rozpoczynajacych się od znaku _ Nazwy rozpoczynajace się od _ i wielkiej litery zarezerwowane sa w języku C do operacji na plikach. 37/60
38 Łatwość pielęgnacji/konserwacji (Maintainability) 0 przed liczba całkowita Nie stawiaj 0 przed liczba całkowita w celu jej wyrównania. 0 przed liczba całkowita jest rozumiane jako poczatek liczby w systemie ósemkowym. 38/60
39 Łatwość pielęgnacji/konserwacji (Maintainability) Wyjaśnienie nietypowych konstrukcji Jeśli używasz nietypowych konstrukcji języka C/C++, zawsze opisuj je za pomoca komentarza lub makra Jeśli używasz nieskończnych instrukcji iteracyjnych, b adź konsekwentny: tylko for(;;) lub tylko while(1) 39/60
40 Łatwość pielęgnacji/konserwacji (Maintainability) Nawiasy { } a pojedyncza instrukcja W przypadku, gdy w instrukcji warunkowej lub iteracyjnej znajduje się tylko jedna instrukcja nie ma potrzeby używania nawiasów { }. Jednak jeśli kod będzie w przyszłości modyfikowany i lista instrukcji wydłuży się, istnieje prawodopodbieństwo, że nikt nie będzie pamiętał o dodaniu nawiasów { }. Dlatego warto ich używać w każdym przypadku. 40/60
41 Łatwość pielęgnacji/konserwacji (Maintainability) Break w instrukcji switch Każdy przypadek case, włacznie z default, powinien być zakończony intrukcja break. 41/60
42 Łatwość pielęgnacji/konserwacji (Maintainability) Definicja instrukcji for W definicji instrukcji for powinny się znaleźć tylko instrukcje dotyczace zmiennej sterujacej 42/60
43 Łatwość pielęgnacji/konserwacji (Maintainability) Używaj maksymalnie 2-krotnego wskaźnika Wskaźnik potrójny jest trudny do interpretacji 43/60
44 Łatwość pielęgnacji/konserwacji (Maintainability) Trzymaj się jednolitej konwencji zapisu: pozycji nawiasów { } wcięcia na poczatku linii kodu spacji. Dlaczego warto używać spacji? 44/60
45 Łatwość pielęgnacji/konserwacji (Maintainability) Trzymaj się jednolitej konwencji pisania komentarzy Używaj // dla komentarza na końcu linii kodu (tylko 1 linia tekstu!) Używaj /* */ dla bloku komentarzy Trzymaj się jednolitej konwencji nazw 45/60
46 Łatwość pielęgnacji/konserwacji (Maintainability) Nie używaj par nazw, które różnia się jedynie: obecnościa podkreślenia _ litera O i cyfra 0 litera I i litera l lub cyfra 1 litera S i cyfra 5 litera Z i cyfra 2 litera n i litera h 46/60
47 Łatwość pielęgnacji/konserwacji (Maintainability) Pamięć dynamiczna - jeśli alokujesz pamieć w sposób dynamiczny, musisz pamiętać o ryzyku zwiazanym z: odwołaniem do nieprawidłowej przestrzeni adresowej przecieków pamięci Problem zwiazane z dynamiczna alokacja pamięci Przepełnienie bufora (Buffer overflow) - kiedy odwołujesz się do pamięci spoza zaalokowanego. Problem ten ujawni się dopiero podczas odwołania do pamięci, która została zapisana przez pomyłkę Brak inicjalizacji (Forgetting to initialize) - kiedy pamięć alokowana jest za pomoca new, ale nie dla obiektu klasy C++, pamięć nie jest automatycznie inicjalizowana. 47/60
48 Łatwość pielęgnacji/konserwacji (Maintainability) Problem zwiazane z dynamiczna alokacja pamięci (c.d.) Przeciek pamięci (Memory leak) - kiedy zapominamy o zwalnianiu pamięci. Nie dotyczy to programów, ktore uruchamiane sa raz i kończa dziłałanie po jednokrotnym wykonaniu. Problem dotyczy programów, które działaja długo i iteracyjnie. Odwołanie po zwolnieniu pamięci (Use after return) - kiedy odwołujemy się do pamięci zwolnionej przez wcześniejsze wywołanie delete 48/60
49 Przenośność (Portability) Przenośność (portability) - wysiłek, który może być wymagany dla przeniesienia oprogramowania z jednego systemu sprzętowego lub programowego do drugiego Dobra praktyka: pisz w takim stylu, który jest niezależny od konkretnego kompilatora używaj tylko standardowych elementów języka używaj tylko standardowych znaków i znaków specjalnych upewniaj się co do reprezentacji typów danych w systemie i zapisuj to w dokumentacji pisz w stylu niezależnym od środowiska, w którym wytwarzasz oprogramowanie wszystkie elementy zależne od implementacji powinny być udokumentowane, np.: reprezentacja liczb zmiennoprzecinkowych jak traktowane sa znaki reszty z dzielenia liczb całkowitych (C90) kolejność szukania plików wymienionych przez dyrektywy #include użycie innych znaków niż standardowe (alfanumeryczne łacińskie, _ { } [ ] # ( ) < > % : ;.? * + / ^ & =,, spacja, znaki nowej linii i 49/60 powrotu karetki, tab)
50 Przenośność (Portability) Typ char a znak (signed/unsigned) w przeciwieństwie do typu int typ char nie ma domyślnie okreslonego znaku - to zależy od kompilatora. jesli chcesz wykorzytać char do przechowywania wartości liczbowej, określaj jawnie, czy jest to signed char czy unsigned char, najlepiej tworzac nowa definicję typu 50/60
51 Przenośność (Portability) Format #include używaj < > dla plików nagłówkowych dostarczanych wraz z kompilatorem używaj dla plików nagłówkowych innych niż dostarczanych wraz z kompilatorem 51/60
52 Przenośność (Portability) Format #include Standard języka C nie definiuje, jak interpretować znaki \ lub /* w łańcuchu znaków ograniczonym przez < > lub Zachowanie znaku : jest również specyficzne dla kompilatora 52/60
53 Przenośność (Portability) Format #include Nigdy nie podawaj bezwzględnej ścieżki do pliku nagłówkowego 53/60
54 Przenośność (Portability) Kod assemblera w kodzie C/C++ Nie wszystkie kompilatory obsługuja funkcję asm (string),która pozwala na dołaczenie do kodu instrukcji assemblera. Lepiej jest używać funkcji inline zdefiniowanej jako makro preprocesora 54/60
55 Przenośność (Portability) Typy proste Rozmiar i reprezentacja prostych typów (int i floating point) zależa od kompilatora Definiuj własne typy, nawet dla typów prostych Standard C99 proponuje następuj ace nazwy (jeśli używasz C90, użyj tych nazw do zdefiniowania typów prostych): 55/60
56 Dobre praktyki Wydajność (efficiency) - ilość przetwarzanych zasobów i kodu, które program potrzebuje do wykonywania swoich funkcji Pisz tak, by brać pod uwagę ilość zasobów i wymagania czasowe wobec działania progrmu 56/60
57 Wydajność Wywołanie funkcji a makro Częste wywołania funkcji moga spowalniać działanie systemu Zadania krytyczne czasowo moga być realizowane przez makra, ale z zachowaniem szczególnej ostrożności - działanie makr zależy od implementacji Liczne wywołania makr zwiększaja rozmiar pliku binarnego 57/60
58 Przenośność (Portability) Niezmienne elementy w instrukcjach iteracyjnych Nie umieszczaj w instrukcjach iteracyjnych elementów, które sa niezmienne Kompilator w procesie optymalizacji nie musi zoptymalizować wszystkiego. Wówczas taka stała instrukcja wołana iteracyjnie spowalnia działanie systemu. 58/60
59 Wydajność Wskaźniki do struktur danych Nie przekazuj do funkcji całych struktur danych, tylko wskaźniki do nich 59/60
60 Literatura 60/60
Inżynieria Wytwarzania Systemów Wbudowanych
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 Potrzeba standaryzacji Tworzenie kodu źródłowego
Inż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
Inż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ść
Podstawy 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
METODY 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ę
1 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,
Podstawy 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
1. 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
Programowanie 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
1 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,
Wstę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
Zmienne, 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
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Podstawy 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
Tablice (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
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Laboratorium 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
Ję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
/* 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
Mikrokontroler 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
Temat 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,
Wskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Ję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++...
Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?
Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.
C++ - 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
Wykł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
Dr 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
Techniki 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
Programowanie 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
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Lab 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
Ję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
Podstawy 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:
Podstawy 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
Wykł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
Ję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
LABORATORIUM 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
C++ - 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
Programowanie 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
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Laboratorium 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
Podstawy 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
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
PROE 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
Instytut 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
Model 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
Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];
Ję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
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Programowanie 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
Podstawy 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
Informatyka 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
Wstę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
Programowanie 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
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
MATERIAŁ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
Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Programowanie 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
Bloki 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
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
Programowanie 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,
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Informatyka 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
Programowanie 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
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla
2 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
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Oczywiś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.
Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop
Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na
C++ - 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
Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
C++ - 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
Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Ję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
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
ROZDZIAŁ 2. Operatory
Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]
Wstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
JĘ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
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
Wskaź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
Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Ję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
1 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.
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
LibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Podstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Functionalization. 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
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu