Laboratorium nr 5: Mnożenie wektorów i macierzy
|
|
- Martyna Pawlak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Laboratorium nr 5: Mnożenie wektorów i macierzy 1 Cel ćwiczenia Wykształcenie umiejętności definiowania przeciążeń operatorów indeksujących i funkcyjnych. Utrwalenie umiejętności definiowania przeciążeń operatorów działających na wejściowych i wyjściowych strumieniach standardowych. 2 Program zajęć Ocena realizacji zadania z poprzedniego laboratorium ocenie podlega poprawność programu, kompilacja (kompilacja musi przebiegać bez ostrzeżeń), styl pisania programu oraz opisy, realizacja przeciążeń odpowiednich operatorów. Realizacja wstępnej fazy prac nad nowym zadaniem W ramach prac na zajęciach wymagane jest zdefiniowanie, jako niezbędne minimum struktury Wektor, której współrzędne będą liczbami zespolonymi. Zakładanym końcowym efektem tej fazy jest przeciążenie odpowiednich operatorów, które umożliwią wczytanie i wyświetlenie wektora ze współrzędnymi zespolonymi. Testowa wersja programu powinna być w stanie wczytać z wejścia standardowego kilka wektorów, aż do momentu jego wyczerpania (czytanie z pliku przekierowanego na wejście standardowe Uwaga: wewnatrz programu czytamy wyłacz- nie z wejścia standardowego). Ocena realizacji wstępnej wersji programu 3 Opis zadania programowego Należy napisać program, który umożliwi mnożenie macierzy o rozmiarze 4 4 i wektorów czterowymiarowych 1. Powinien on pozwalać na realizację trzech wariantów tej operacji, tzn. 1. mnożenie macierzy przez wektor, 2. mnożenie dwóch macierzy, 3. skalarny iloczyn dwóch wektorów. To jaki wariant ma być zrealizowany musi być rozpoznane na podstawie wczytywanych argumentów (chodzi o różnice w formacie zapisu macierzy i wektora). Program ma czytać argumenty z wejścia standardowego. Dla ułatwienia dostarczone są pliki testowe zawierające zestaw danych zapisanych w odpowiednich formatach. Czytanie ze wspomnianych plików ma być realizowane poprzez przekierowanie ich na wejście standardowe programu. Pliki dostarczone są w trzech wariantach, w których elementami poszczególnych macierzy i wektorów są: liczby wymierne, liczby zespolone oraz symbole (takie same jak w zadaniu nr 1). W kodzie programu typ elementów struktur danych modelujących wektor i macierz powinien być definiowany w oparciu o symbol dla preprocesora TYP, np. 1 Wektor w zapisie macierzowym traktujemy jako macierz jednokolumnowa. 1
2 #define TYP LiczbaZespolona struct Wektor { TYP x, y; }; Symbol TYP powinien być definiowany w osobnym pliku nagłówkowym, tak aby jego zmiana pozwalała skompilować cały program dla odpowiedniego wariantu danych. Plik ten może więc mieć postać #ifndef TYP_HH #define TYP_HH #define TYP LiczbaZespolona #endif Zakładając, że nazywa się on typ.hh plik nagłówkowy wektor.hh z definicją klasy Wektor może mieć następującą zawartość: #ifndef WEKTOR_HH #define WEKTOR_HH #include "liczbazespolona.hh" #include "symbol.hh" #include "typ.hh" struct Wektor { TYP x, y; }; #endif Analogiczne uwagi dotyczą konstrukcji klasy Macierz. Dla ułatwienia, zalążki tego typu konstrukcji udostępnione zostały w katalogu: bk/edu/kpo/zad/z5/zalazek 3.1 Działanie programu Program nie ma udostępniać żadnego interfejsu użytkownika. Zakłada się, że z wejściowego strumienia standardowego czytane są dwa argumenty. Każdy z nich może być macierzą lub wektorem. Dopuszczalne są trzy kombinacje tych argumentów, które warunkują rodzaj wykonywanej operacji. Te kombinacje to: pierwszy argument: macierz; drugi argument: wektor operacja: iloczyn macierzy i wektora, pierwszy argument: macierz; drugi argument: macierz operacja: iloczyn dwóch macierzy, pierwszy argument: wektor; drugi wektor: wektor operacja: iloczyn skalarny dwóch wektorów. 2
3 Czwartą kombinację, tzn. gdy pierwszy argument jest wektorem, a drugi macierzą traktujemy w tym programie jako zabronioną 2. Program ma rozpoznawać taką sytuację i informować, że nie jest przystosowany do realizacji tego typu operacji. Program po wczytaniu dwóch argumentów ma je wyświetlić, a następnie wykonać zadane działanie i wyświetlić jego wynik. Następnie operacja ta jest powtarzana, aż do momentu wyczerpania danych na wejściu standardowym (napotkanie końca pliku, operujemy na wejściu standardowy, ale to wejście też może zostać wyczerpane, np. przekierowujemy na nie plik). Program powinien dokonywać rozróżnienia między wektorem, a macierzą po pierwszym wczytanym znaku. Znak ten można później zwrócić do strumienia i wczytać całość odpowiednio jako wektor lub macierz. Poniżej przedstawiony jest przykład działania programu. jkowalsk@noxon: rozwiazanie>./mnozenie < liczby_zespolone.dane ---- Operacja dwuargumentowa Argument nr 1: (0+1i) (1+0i) (0+0i) (0+0i) (1+1i) (2+0i) (1+1i) (0+0i) (0+0i) (0+0i) (0+0i) (0+0i) (0+0i) (0+0i) (0+0i) (0+0i) Argument nr 2: ( (1+0i), (0+0i), (0+0i), (0+0i) ) Wynik: ( (0+1i), (1+1i), (0+0i), (0+0i) ) ---- Operacja dwuargumentowa Argument nr 1: ( (1+0i), (0+2i), (0+0i), (0+0i) ) Argument nr 2: ( (1+0i), (0+1i), (0+0i), (1+5i) ) Wynik: (-1+0i) ---- Operacja dwuargumentowa Blad danych! Wykryto niedozowlony rodzaj pierwszego argumentu. Dzialanie programu zostalo przerwane. 2 Operacja mnożenia wektora przez macierz jest operacją dopuszczalną i poprawną pod warunkiem, że wektor będzie wektorem transponowanym. 3
4 rozwiazanie>_ 3.2 Format plików z danymi Pliki z danymi mogą zawierać macierze lub wektory. Wykonując działania mnożenia macierzy przez wektor, te ostatnie traktujemy jako macierze jednokolumnowe. Jednak, aby w zapisie móc je odróżnić od macierzy, przyjęto zwyczajową formę zapisu ograniczoną nawiasami półokrągłymi, w której kolejne współrzędne rozdzielone są przecinkami. Przykładowy zapis macierzy dla liczb zespolonych jest przedstawiony w opisie działania programu. Poniżej przedstawiony jest przykładowy zapis macierzy w przypadku liczb wymiernych Zapis dla symboli: a c d e e e d a e b a a d e d a Zapis wektora dla liczb zespolonych dostępny jest w opisie działania programu. Poniżej przedstawiony jest zapis wektora dla liczb wymiernych. ( 2.33, 4.55, 6.11, 0.01 ) Dla symboli ma on postać: ( a, b, e, a ) 3.3 Wymagania co do konstrukcji programu Oprócz wymagań sformułowanych w opisie zadania należy uwzględnić uwarunkowania przedstawione poniżej. Należy zdefiniować strukturę Wektor oraz Macierz. Muszą one mieć tylko i wyłącznie niezbędne pola. Należy odpowiednio przeciążyć operator indeksujący dla klasy Wektor, operator funkcyjny dla klasy Macierz i odpowiednio posługiwać się nimi w programie. Należy przeciążyć operatora mnożenia, tak aby była możliwość przemnożenia macierzy przez wektor, macierzy przez macierz, oraz wektora przez wektor. Program musi zachować strukturę modułową i odpowiednią strukturę kartotek. O ile będzie to konieczne, należy zmodyfikować plik Makefile (np. gdy dodany zostanie nowy moduł). Program musi mieć oddzielne moduły dla działań na liczbach zespolonych i symbolach. 4
5 Wszystkie metody, przeciążenia operatorów, które nie zmieniają stanu obiektu, na którym działają, powinny być metodami typu const. Oprócz tego pozostają w mocy wszystkie wcześniejsze wymagania dotyczące struktury katalogów, pliku Makefile, modułowej struktury programu, jak też opisów. 3.4 Pomoc W katalogu bk/edu/kpo/zad/z5/zalazek został dostarczony zalążek konstrukcji programu. Zawiera on testowy zestaw danych dla każdego przypadku (tzn. typu double, LiczbaZespolona i Symbol). Pozwala on również na usprawnienie pracy. Aby przełączyć się, np. z typu double na typ LiczbaZespolona wystarczy napisać polecenie: make LiczbaZespolona Spowoduje ono następujące akcje: 1. zmieni zawartość pliku inc/type.hh na #ifndef TYP_HH #define TYP_HH #define TYP LiczbaZespolona #endif 2. przekopiuje plik./dane/test-liczbazespolona.dane do kartoteki, w której jest plik Makefile, binarny plik programu, nada kopiowanemu plikowi nazwę./test.dane, 3. usunie wcześniejsze produkty kompilacji i konsolidacji, 4. wymusi kompilację dla nowej wersji, a następnie jej konsolidację pod nazwą./mnozenie, 5. jeśli wszystko zakończyło się powodzeniem, to uruchomi program w następujący sposób: mnozenie < test.dane Od momentu wykonania opisanej wyżej formy polecenia make, dalsze kompilacje i konsolidacje oraz wywołania programu po wykonaniu samego polecenia make będą realizowane dla typu LiczbaZespolona. Przełączenie procesu kompilacji i konsolidacji na dwa pozostałe typy, tzn. double i Symbol, jest realizowane analogicznie. 3.5 Wersja bardzo uproszczona oceniana nie więcej niż na 3,5 W tej wersji wystarczy ograniczyć się do macierzy 2 2 i wektorów dwuwymiarowych. Program po uruchomieniu czyta wyłącznie dwa pierwsze argumenty z pliku i wykonuje odpowiednie działanie. 5
6 3.6 Wersja rozszerzona nieobowiazkowa Rozszerzenie małociekawe Zakładamy, że rozmiar macierzy i wektorów nie jest z góry znany (jednak jest mniejszy niż 20 korzystamy z tablic, a nie ze struktur dynamicznych). Zakładamy, że informacja o rozmiarze znajduje się w pliku z danymi i jest to pierwszy element tego pliku, np ( 2.33, 4.55, 6.11, 0.01, 4.55 ) Rozszerzenie ciekawsze Zakładamy, że rozmiar wczytywanych macierzy i wektorów nie jest określony. W pliku danych nie ma żadnej dodatkowej informacji. Rozmiar ustalany jest on w trakcie czytania macierzy lub wektora. Uwaga: W tym przypadku trzeba sprawdzić przed wykonaniem operacji mnożenia, że rozmiary są zgodne. W przypadku, gdy tak nie jest należy zaniechać realizacji tej operacji i wyświetlić odpowiednią informację. A Dodatek Niniejszy dodatek zawiera informacje, które mogą być użyteczne przy pisaniu programu realizowanego w ramach tego zadania. A.1 Podstawy matematyczne Załóżmy, że mamy dwa wektory u=(u 1,u 2,...,u n ), v=(v 1,v 2,...,v n ) o współrzędnych zespolonych. Ich iloczyn skalarny definiujemy jako: gdzie v i to liczba sprzężona do v i. u v= n i=1 u i v i A.2 Problem ujednolicenia względem typów W niniejszym zadaniu występują dwa zasadnicze problemy, które utrudniają proste napisanie programu, tak aby można było bez kłopotów skompilować go dla typów double, LiczbaZespolona lub Symbol. Pierwszym z nich jest zerowanie macierzy lub wektora. Drugim jest zapis iloczynu skalarnego dwóch wektorów. 6
7 A.2.1 Zerowanie zmiennej Zerowanie macierzy lub wektora sprowadza się do bardziej elementarnego problemu, jakim jest zerowanie pojedynczej zmiennej. Rozważmy przykład zmiennej Zm dla trzech kolejnych typów. W przypadku typu double operację zerowania możemy zapisać jako double Zm; Zm = 0; Dla typu LiczbaZespolona będzie to double Zm; Zm.re = 0; Zm.im = 0; Natomiast dla typu Symbol zapis ten sprowadzi się do postaci Symbol Zm; Zm = e; Aby ujednolicić tę operację, wystarczy że zdefiniujemy dla każdego z typów funkcję Zeruj. Wówczas zapis wcześniejszych operacji sprawdzi się do postaci TYP Zm; Zeruj(Zm); Podejście takie jest możliwe dzięki mechanizmowi przeciążeń. Funkcja Zeruj powinna zostać zdefiniowana odpowiednio w module liczbyzespolone.cpp oraz symbol.cpp (w odpowiednich plikach nagłówkowych powinna być zapowiedź definicji tej funkcji). Wskazane jest stworzenie analogicznego modułu dla typu double. A.2.2 Zapis iloczynu skalarnego W przypadku iloczynu skalarnego pojawia się problem utworzenie wartości zespolonej dla przypadku struktury LiczbaZespolona. Jednak ponownie możemy to ujednolicić analogicznie jak w przypadku zerowania. Zamiast posługiwać się metodą struktury LiczbaZespolona zwracającą wartość sprzężoną, możemy zdefiniować funkcję WartoscSprzezona dla wszystkich trzech typów. W przypadku typów double i Symbol funkcja ta będzie zwracała tę samą wartość, która jest jej argumentem. A.3 Wczytywanie danych W tym zadaniu, aby wczytać pierwszy argument należy podejrzeć od jakiego znaku on się zaczyna. Wydaje się, że najlepszym rozwiązaniem jest zastosowanie metody peek. Jednak jest to jedno z najgorszych rozwiazań (gorszym jest jedynie wcześniejsze wczytanie całej linii do tablicy i dalsza jej analiza). Ze względu na znaki białe właściwym rozwiązaniem jest wczytanie znaku, jego rozpoznanie i późniejsze jego zwrócenie do strumienia, a więc cin >> Znak;... cin.unget(); Najlepszym rozwiązaniem jest taka organizacja przeciążenia operatora czytania odpowiednio dla wektora i macierzy, aby po wykryciu niezgodności pierwszego znaku był on zwracany do strumienia, a strumień ustawiony w stan fail. 7
Zad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Bardziej szczegółowoZad. 5: Układ równań liniowych liczb zespolonych
Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym
Bardziej szczegółowoLaboratorium nr 4: Arytmetyka liczb zespolonych
Laboratorium nr 4: Arytmetyka liczb zespolonych 1 Cel ćwiczenia Wykształcenie umiejętności definiowania przeciążeń operatorów arytmetycznych dwuargumentowych i jednoargumentowych dla własnych struktur
Bardziej szczegółowoZad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 4: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoZad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb
Zad. 3: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoZad. 4: Szablonu dla układu równań liniowych
Zad. 4: Szablonu dla układu równań liniowych 1 Cel ćwiczenia Wykształcenie zdolności definiowania szablonów funkcji i klas oraz abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie
Bardziej szczegółowoZadanie nr 2: Arytmetyka liczb zespolonych
Zadanie nr 2: Arytmetyka liczb zespolonych 1 Cel ćwiczenia Wykształcenie umiejętności definiowania przeciążeń operatorów arytmetycznych dwuargumentowych i jednoargumentowych dla własnych struktur danych
Bardziej szczegółowoZad. 6: Sterowanie robotem mobilnym
Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Bardziej szczegółowoZad. 5: Sterowanie robotem mobilnym
Zad. 5: Sterowanie robotem mobilnym 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie
Bardziej szczegółowoUkład równań liniowych
Układ równań liniowych 1 Cel zadania Wykształcenie umiejętności projektowania własnych klas modelujących pojęcia niezbędne do rozwiązania postawionego problemu. Rozwinięcie umiejętności przeciążania operatorów
Bardziej szczegółowoZadanie nr 3: Sprawdzanie testu z arytmetyki
Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne
Bardziej szczegółowoZad. 5: Sterowanie dronem
1 Cel ćwiczenia Zad. 5: Sterowanie dronem Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Bardziej szczegółowoZadanie 2: Arytmetyka symboli
1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie
Bardziej szczegółowoZad. 5: Rotacje 3D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 5: Rotacje 3D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas. Praktyczne zweryfikowanie wcześniejszej konstrukcji programu. Jeśli
Bardziej szczegółowoZad. 7: Fabryka obiektów i singleton
Zad. 7: Fabryka obiektów i singleton 1 Cel ćwiczenia Praktyczna realizacja wzorca projektowego fabryki obiektów i singletona. Utrwalenie umiejętności posługiwania się wskaźnikami współdzielonymi i wykorzystanie
Bardziej szczegółowoZad. 4: Rotacje 3D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 4: Rotacje 3D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Generowanie dokumentacji z wykorzystaniem systemu doxygen. Praktyczne zweryfikowanie wcześniejszej
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoProgramowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Bardziej szczegółowoZad. 7: Sterowanie robotami mobilnymi w obecności przeszkód
Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie
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ółowoPliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
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ółowoOperacje wejścia/wyjścia odsłona pierwsza
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoMathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowoZad. 1: Sterowanie mimika
1 Cel ćwiczenia Zad. 1: Sterowanie mimika twarzy Wykształcenie umiejętności posługiwania się złożonymi makrami preprocesora języka C. Stworzenie podstawowej struktury wizualizacji twarzy robota, która
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ółowoJęzyk C, tablice i funkcje (laboratorium)
Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoTablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Bardziej szczegółowoWstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
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ółowoIX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
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ółowoZad. 7: Sterowanie manipulatorem przypadek 3D
Zad. 7: Sterowanie manipulatorem przypadek 3D 1 Cel ćwiczenia Wykorzystanie w praktyce mechanizmu dziedziczenia. Wykształcenie umiejętności korzystania z szablonu list oraz dalsze rozwijanie umiejętności
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja
Bardziej szczegółowoPodstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab
Podstawy Automatyki ćwiczenia Cz.1 Środowisko Matlab Podstawową jednostką obliczeniową w programie Matlab jest macierz. Wektory i skalary mogą być tutaj rozpatrywane jako specjalne typy macierzy. Elementy
Bardziej szczegółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoLaboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje
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ółowoDodatkowo klasa powinna mieć destruktor zwalniający pamięć.
Zadanie 1. Utworzyć klasę reprezentującą liczby wymierne. Obiekty klasy powinny przechowywać licznik i mianownik rozłożone na czynniki pierwsze. Klasa powinna mieć zdefiniowane operatory czterech podstawowych
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ółowoProgramowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoWprowadzenie do programu Mathcad 15 cz. 1
Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowopo ostatnim dopisaniu na standardowe wyjście (cout) powinien zostać wyprowadzony komunikat "Skonczylem";
Lista 4 Zestaw I Zaprojektować i zaimplementować funkcję wpisz_do_pliku_a, kótra wpisuje do pliku a.txt 10 razy łańcuch Hello World. łańcuchy są rozdzielone znakami nowych wierszy. Zadanie 2. Zaprojektować
Bardziej szczegółowoZad. 6: Sterowanie dronami w obecności przeszkód
Zad. 6: Sterowanie dronami w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie dziedziczenia
Bardziej szczegółowo4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku
Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Bardziej szczegółowo#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoCzęść 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ęść
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ół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ółowoMateriał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji
Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 5 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w
Bardziej szczegółowoPodstawy 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
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ółowoNazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoSystemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017
Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie
Bardziej szczegółowoPodstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
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ółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoDiary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku
Diary przydatne polecenie diary nazwa_pliku Polecenie to powoduje, że od tego momentu sesja MATLAB-a, tj. polecenia i teksty wysyłane na ekran (nie dotyczy grafiki) będą zapisywane w pliku o podanej nazwie.
Bardziej szczegółowoĆwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Bardziej szczegółowodr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;
Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoRok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne
Nazwa modułu: Programowanie proceduralne Rok akademicki: 2013/2014 Kod: JFT-1-201-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: Poziom studiów: Studia
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ółowoWYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO
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ółowoPodstawy programowania
Podstawy programowania I rok Automatyka i Robotyka Eka PWr Ćwiczenia Zestaw 4 Zakres materiału Analiza poprawności konstrukcji, wyliczanie wyrażeń z wskaźnikami i tablicami, ręczna symulacja, opracowywanie
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ółowoLaboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot
Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
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ółowoPętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Bardziej szczegółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoWstę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.
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ółowoUkłady równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
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ółowoPROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec
PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Bardziej szczegółowoC++ Przeładowanie operatorów i wzorce w klasach
C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoPrzetwarzanie sygnałów
Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory
Bardziej szczegółowoModuł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych
Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych Wersja 3.77.320 29.10.2014 r. Poniższa instrukcja ma zastosowanie, w przypadku gdy w menu System Konfiguracja Ustawienia
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoJęzyk C zajęcia nr 12. Struktury i unie
Język C zajęcia nr 12 Struktury i unie Struktura jest zgromadzonym pod jedną nazwą zbiorem elementów nazywanych polami lub składowymi. Pola mają swoje odrębne nazwy (podobnie jak zmienne) i mogą przechowywać
Bardziej szczegółowoProgramowanie współbieżne... (10) Andrzej Baran 2010/11
Programowanie współbieżne... (10) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html Biblioteki Biblioteki podstawowe BLACS (Basic Linear Algebra Communication Subprograms) BLAS
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoBaltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Bardziej szczegółowoAproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Bardziej szczegółowoNiezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Bardziej szczegółowoProjekty zaliczeniowe Podstawy Programowania 2012/2013
Projekty zaliczeniowe Podstawy Programowania 2012/2013 0. Zasady ogólne W skład projektu wchodzą następujące elementy: dokładny opis rozwiązywanego problemu opis słowny rozwiązania problemu wraz z pseudokodami
Bardziej szczegółowo