Podstawowe elementy modelu AMPL problemu liniowego(pl)
|
|
- Kamila Drozd
- 7 lat temu
- Przeglądów:
Transkrypt
1 Wstęp Program GUSEK służy do rozwiązywania modeli programowania liniowego i dyskretnego(całkowitoliczbowego i binarnego). Do zapisu modelu zgadnienia programowania liniowego: n Max(Min)z = c j x j j=1 n a ij x j <= b i,i = 1,2,...,m j=1 x j 0,j = 1,2,...,n używa się języka programowania GNU MathProg będącego podzbiorem języka AMPL. Podstawowe elementy modelu AMPL problemu liniowego(pl) Zapis zagadnienia programowania liniowego ma w języku AMPL następujacą bazową strukturę: Reprezentacja algebraiczna 1.Deklaracje zbiorów. 2.Deklaracje parametrów. 3.Deklaracje zmiennych. 4.Reprezentacja modelu(funkcji celu i ograniczeń). Implementacja modelu 5.Rozwiązanie modelu. 6.Prezentacja wyników. 7.Dane wejsciowe. Tablica 1: Elementy modelu AMPL Zaletą tego zapisu jest, że model może być użyty do rozwiązywania liniowych problemówdowolnegorozmiarupoprzezzmianędanychwejściowych:m,n,c j,a ij,b i. W zapisie modelu AMPL muszą być stosowane następujace reguły: 1. Plik musi być zwykłym tekstem(utworzonym dowolnym edytorem). 2. Komentarz może być poprzedzony znakiem# i kończyć się znakiem końca linii(może pojawić się w dowolnym miejscu modelu) lub być dowolnym tekstem zawartym pomiędzy znakami\* Dowolny tekst\*. 3. Każda instrukcja wyłączając komentarz musi się kończyć średnikiem(;).
2 4. Instrukcja języka AMPL może zajmować więcej niż jedną linię, dopuszczalne są znaki przestankowe jak spacja, dwukropek, przecinek, nawiasy okrągłe, kwadratowe, klamrowe oraz operatory matematyczne. Wyjątkiem są łańcuchy(nazwy), które powinny być wzięte w cudzysłowy pojedyńcze lub podwójne, gdzie znaki przestankowe powinny być poprzedzone symbolembackslash(\). 5. Wszystkie słowa kluczowe pisane są małymi literami. 6. W nazwach stosowanych przez użytkownika rozróżnia się duże i małe litery. Nazwy muszą być alfanumeryczne(ciąg znaków zaczynający się od litery) ewentualnie rozdzielone, jeśli potrzeba, podkreśleniem(). Podamy teraz przykład problemu planowania produkcji na którym zilustrujemy budowę modelu AMPL. Przykład 1. Produkcja farb- Firma MKsa Firma MKsa produkuje z dwóch surowców M1 i M2 dwa rodzaje farb: wewnętrzne (FW) i zewnętrzne(fz). Tabela 2 zawiera podstawowe dane: Badania rynku Zużycie(t) surowca na tonę Maksymalny limit farby FZ farby FW dzienny(t) Surowiec M Surowiec M Zysk na tonę(1000pln) 5 4 Tablica 2: Dane do problemu MKsa wykazały, że dzienny popyt na farbę wewnętrzną(fw) nie może przekroczyć o więcej niż jedną tonę popytu na farbę zewnętrzną(fz). Ponadto maksymalny dzienny popyt na farbę wewnętrzną wynosi 2t. Firma MKsa chce wiedzieć ile produkować każdej z farb aby zmaksymalizować dzienny zysk. Definiując zmienne decyzyjne: x 1 -ilość(t)dziennejprodukcjifarbyzewnętrznej(fz), x 2 -ilość(t)dziennejprodukcjifarbywewnętrznej(fw) mamy następujący liniowy model tego problemu: Typyzmiennych:x 1 0, x 2 0. Funkcjacelu: maxz = 5x 1 +4x 2 (Zysk). Ograniczenia: 6x 1 +4x 2 24[SurowiecM1] x 1 +2x 2 6[SurowiecM2] x 1 +x 2 1[Wymaganierynkowe] x 2 2[Limitpopytu]
3 Model tego problemu zapisany w języku AMPL może być postaci(słowa kluczowe pisane są pismem półgrubym) podanej tabeli 3: Wpisując ten plik pod var x1 >= 0; var x2 >= 0; maximize z : 5 x1+4 x2; subject to c1 : 6 x1+4 x2 <= 24; c2 : x1+2 x2 <= 6; c3 : x1+x2 <= 1; c4 : x2 <= 2; solve; display 5 x1+4 x2,x1,x2; Tablica 3: Model problemu MKsa nazwą MKsa.mod(konieczne jest rozszerzenie mod po kropce) do systemu GU- SEK i klikając opcję Run na pasku głównym otrzymamy wyniki: OPTIMAL SOLUTION FOUND 21 X1 = 3 X2 = 1.5 Model has been successfully processed. W podanym powyżej modelu wiersze 1 i 2 to deklaracje zmiennych nieujemnych, funkcja celu modelu jest zadeklarowana w wierszu 3. Wiersz 4 zawiera słowo kluczowe subject to, które można opcjonalnie opuścić. Ograniczenia modelu są zapisane w wierszach 4(można opuścić),5,6,7 i 8. Wiersz 9(solve;) zawiera polecenie rozwiazania modelu a ostatni wiersz: display z, x1, x2; polecenie wydruku wyników tj. optymalnej wartości funkcji celu i optymalnych wartości zmiennych modelu(argumenty instrukcji display rozdzielone są przecinkami). W powyższym przykładzie nie wystąpiły elmenty 1,2 i 7 bazowej struktury modelu AMPL. W następnym rozdziale pokażemy w tabeli 4 inną wersję modelu wykorzystujacą te elementy.
4 Definiowanie zbiorów, parametrów i zmiennych #*********************Modelalgebraiczny********************* # -deklaracjezbiorów(1) set farby; set zasoby; # deklaracjeparametrów(2) param jednostkowyzysk{farby}; param limit{zasoby}; param aij{zasoby,farby}; # -deklaracjezmiennychdecyzyjnych(3) var product{farby} >=0; # -model(4) maximize zysk: sum{j in farby} jednostkowyzysk[j]*product[j]; ograniczenie{i in zasoby}: sum{j in farby} aij[i,j]*product[j] <= limit[i]; # -rozwiązanie(5) solve; # -wydrukwyników(6) display zysk,product; # -danedomodelu(7) data; setfarby:=fzfw; set zasoby:=m1 M2 Rynek Popyt; param jednostkowyzysk:=fz 5 FW 4; paramlimit:=m124m26rynek1popyt2; paramaij:fzfw:= M164 M212 Rynek-11 Popyt01; end; Tablica 4: Model AMPL problemu MKsa z indeksami nazwowymi Algebraiczna reprezentacja modelu(tablica 4) zaczyna się od deklaracji zbiorów, które definiują indeksy ogólnego modelu liniowego. Użytkownik nadaje nazwy zasoby i farby dla zbiorów indeksów odpowiadających odpowiednio zbiorom {i} oraz {j} w modelu liniowym. Konkretne elementy zbiorów zasoby i farby, które definiują problem RMsa są dostarczone w części danych wejściowych(pkt 7 ogólnego schematu) modelu.
5 Parametrami są nazwy nadawane przez użytkownika poprzedzone słowem kluczowym param, które definiują wspólczynniki funkcji celu i współczynniki ograniczeń jako funkcję zmiennych i zbiorów ograniczeń. Parametry: jednostkowyzysk{farby}, aij{zasoby,farby} oraz limit{zasoby} odpowiadająodpowiedniomatematycznymsymbolom c j,a ij i b i modeluliniowego. Indeksy i oraz j są reprezentowane w AMPL odpowiednio zbiorami zasoby i farby. Konkretne wartości tych parametrów są dostarczane w części danych wejściowych modelu AMPL. Zmiennemodelu, x j mająnazwęproduktisąpoprzedzonesłowemkluczowym var. Jak poprzednio produkt jest funkcją zbioru farby. W deklaracji zmiennej możemy dodać warunek nieujemności(>=). W przypadku jego opuszczenia zmienna może przymować dowolne wartości(tj. dodatnie lub ujemne). Ponadto po nazwie zmiennej może wystąpić słowo kluczowe integer lub binary, gdy zmienna ma przyjmować tylko wartości całkowite lub binarne(zero lub jeden) w problemach dyskretnych. Definiowanie funkcji celu i ograniczeń Mając zdefiniowane zbiory, parametry i zmienne modelu(pkty 1,2 i 3) następnym krokiem jest wyrażenie problemu optymalizacji za pomocą tych elementów. Deklaracja funkcji celu określa typ optymalizacji używając słów kluczowych maximize lub minimize. Funkcja celu z ma nazwę zysk, po której występuje dwukropek(:). Wyrażenie matematyczne c j x j jest reprezentowane w języku AMPL następującą instrukcją: j sum{j in farby} jednostkowyzysk[j]*produkt[j]; Indeks j jest wybierany(jego nazwa) przez użytkownika. Zwróć uwagę, że używamy nawiasów klamrowych w {j in farby} aby pokazać, że wartości indeksu j są elementami zbioru farby, a użycie nawiasów kwadratowych [j] reprezentuje indeks. Model może zawierać jedno lub więcej ograniczeń, z których każde musi mieć nazwę nadaną przez użytkownika. W rozpatrywanym modelu mamy jeden zbiór ograniczeń o nazwie limit indeksowany zbiorem zasoby: limit{i in zasoby}: sum{j in farby} aij[i,j]*produkt[j] <= ograniczenie[i];
6 Tainstrukcjajestbezpośrednimzapisemi-tegoograniczenia: j a i,jx j b i. AMPL dopuszcza wprowadzenie ograniczeń dolnych i górnych na wartości zmiennych decyzyjnych. Można to zrobić na etapie deklaracji zmiennych(nie trzeba wprowadzać dodatkowych ograniczeń w modelu). W tym celu deklaruje się dwa parametry o nazwach np. dolneograniczenie i gorneograniczenie jako: param dolneograniczenie{farby}; param gorneograniczenie{farby}; a następnie zmienne są definiowane jako: var produkt{j in farby}>=dolneograniczenie[j],<=gorneograniczenie[j]; UWAGA! Syntaktyka języka nie dopuszcza porównywania wektorów, zatem błędna jest deklaracja: var produkt{farby}>=dolneograniczenie{farby},<=gorneograniczenie{farby}; (Wyjątkiem od tej reguły jest sytuacja, gdy jeden z wektorów jest zerowym- tak np. deklaracja var produkt{farby} >= 0: definiująca warunek nieujemnosci zmiennych jest poprawna). Dla parametrów obowiązują te same reguły i tak deklaracja: param gorneograniczenie{j in farby}>=dolneograniczenie[j]; gwarantuje, że gorneograniczenie jest zawsze nie mniejsze niż dolneograniczenie. Specyfikacja danych wejściowych Algebraiczny model może być zastosowany do problemu o dowolnej liczbie zmiennych i ograniczeń. Zastosowanie tego modelu do problemu MKsa dokonuje się poprzez specyfikację danych, dokonywaną w części modelu po deklaracji dane;(7). Najpierw definiujemy nazwy w części deklaratywnej zbiorów a następnie wykorzystując te definicje przypisujemy numeryczne wartości różnym parametrom. Zbiór farby zawiera nazwy dwu zmiennych FZ i FW. Natomiast zbiór zasoby zawiera elementy o nazwach: M1, M2, Rynek i Popyt. Odpowiednie deklarcje w części danych wejściowych są następujące: setfarby:=fzfw; set zasoby:=m1 M2 Rynek Popyt; Elementy zbioru występujące po znaku operatora:=(symbol zarezerwowany) są oddzielone spacją(lub przecinkiem). Indeksy będące nazwami(symbolami alfanumerycznymi tj. nie będące liczbami) muszą być zawarte w podwójnych apostrofach, jeśli występują poza segmentem danych wejściowych modelu, np. odwołanie się do konkretnej wartości parametru musi mieć postać: farby[ Z ],farby[ FW ],limit[ M1 ],limit[ M2 ],limit[ Rynek ],limit[ Popyt ]. W przeciwnym przypadku indeks będzie błędnie interpretowany jako numeryczny parametr.
7 Można również zdefiniować zbiory w części deklaratywnej modelu algebraicznego(zamiast w części danych wejściowych) i wtedy taka deklaracja ma następująca postać: setfarby:= { FZ, FW }; setzasoby:= { M1, M2, Rynek, Popyt }; Konieczne jest tu użycie nawiasów klamrowych, podwójnych apostrofów i przecinków oddzielających poszczególne elementy zbioru. Definiowanie zbiorów liczbowych Użycie alfanumerycznych nazw dla zbiorów(np. w problemie MKsa nazw farby i zasoby) może być niewygodne dla dużych problemów. W takim przypadku wygodniejsze są indeksy numeryczne(liczbowe), np.: set farby:= 1..2; set zasoby:= 1..4; Zapis 1..4 reprezentuje zbiór(zakres wartości indeksu) {1, 2, 3, 4} i jest szczególnie użyteczny dla dużych zbiorów. Np jest zbiorem 1000 kolejnych liczb od 1 do Instrukcja 1..m(lub n) ma następującą postać ogólną: start..end by krok, gdzie start,end i krok sa parametrami, których warości mogą być podane w częscidata;.jeślistart <end ikrok >0,toelementamitegozbiorusa:start, start+krok, itd. Ostatni największy element ma wartość mniejszą lub równą end. Możebyćrównieżstart >endikrok <0iwtedydeklaracja 10..3by-2 generuje zbiór o elementach 10,8,6,4. Domyślną wartością dla krok jest 1 co oznacza, że deklaracja jest identyczna z deklaracją start..end by 1 start..end. Ogólnie start,end i krok mogą być dowolnymi poprawnymi w AMPL wyrażeniami matematycznyminp.dladanychwartościparametrów minzbiór 2 n..m+n 2 by n/2 jest poprawnie zdefiniowany. Również wartość krok nie musi być liczbą całkowitąnp.dla m = 5in=13elementamizbioru m..nby m/2sąliczby 5,7.5,10,12.5.
8 Parametry jedno i dwu-indeksowe Można zdefiniować ogólnie zakres wartości indeksu najpierw definiując wartości minjakoparmetry: param m; param n; Wtedy zbiory 1..m, i 1..n mogą być używane bezpośrednie w całym modelu(bez potrzeby deklarowania nazw zasoby i farby). Ilustruje to model problemu MKsa podany w tabeli 5. W powyższym modelu mamy dwa jedno-indeksowe parametry: param m; param n; param jednostkowyzysk{1..n}; param limit{1..m}; paramaij{1..m,1..n}; # -zmienne var produkt{1..n}>= 0; # model maximize zysk: sum{j in 1..n}jednostkowyzysk[j]*produkt[j]; limit{i in 1..m}: sum{j in 1..n}aij[i,j]*produkt[j]; # Rozwiązanieiprezentacjawyników solve; display zysk,sum{j in 1..n}jednostkowyzysk[j]*produkt[j],produkt; # danewejściowe data; param m:=4; param n:=2; param jednostkowyzysk:= ; paramlimit:= ; paramaij:12:= ; end; Tablica 5: Model AMPL problemu MKsa z indeksami numerycznymi jednostkowyzysk i limit i jeden dwu-indeksowy parametr aij. Dane dla pierwszego rodzaju parametrów specyfikujemy listując kolejno numer elmentu zbioru a następnie(co najmniej jedna spacja odstępu) jego wartość. W sytuacji, gdy zakres indeksu zdefiniowany jest zbiorem alfanumerycznym tak jak w modelu z tablicy 4 specyfikacja wartości parametrów jednostkowyzysk i limit jest następująca:
9 param jednostkowyzysk:= FZ5 FW4; param limit:= M124 M26 Rynek 1 Popyt 2; Elementy listy mogą być zapisane w jednej linii ale muszą być oddzielone co najmniej jedną spacją. Dane wejściowe dla dwu-indeksowanego parametru aij są zapisywane podobnie z tym, że kolejność kolumn musi być podana po nazwie parametru zakończonej dwukropkiem(aij:) celem eliminacji niejednoznaczności. W przypadku indeksów zadanych zbiorem alfanumerycznym tak jak w modelu 4 specyfikacja jest następujaca: paramaij:fzfw:= M164 M212 Rynek-11 Popyt01; AMPL umożliwia nadanie domyślnychych wartości wszystkim elementom danegoparemetru.załóżmy,żedlaparametru cmamyże c 1 = 11, c 8 = 22oraz c i = 0dla i = 2,3,...,7.Zwykłaspecyfikacjatychdanychbyłabynastępująca: paramc{1..8};... data; paramc:= ; Natomiast bardziej zwartą postać daje użycie nastepujących instrukcji: param c{1..8} default 0;... data; paramc:=111822; Instrukcja display domyślnie wyświetla wyniki na ekranie. Nie jest to jedyny sposób przentacji wyników. Możliwe jest przekazywanie wyników obliczeń na zewnętrzne pliki umieszczając znak > i nazwę pliku(>nazwa), w którym chcemy mieć wyniki, bezpośrednio przed średnikiem kończącym instrukcję. W rozważanych przykładach modeli cały AMPL model znajdował się w jednym pliku, któremu użtkownik nadaje nazwę z rozszerzeniem mod po kropce, np. MKsa.mod. W wielu przypadkach algebraiczny model problemu rozwiązuje się dla kilku zbiorów danych lub dane do modelu ptrzechowywane są na zewnętrzych nośnikach.
10 W tym celu model AMPL może być reprezentowany przez dwa oddzielne pliki: np. dla problemu MKsa plik MKsa.mod zawierający model algebraiczny łącznie z instrukcjami solve i display oraz plik MKsa.dat zawierający dane wejściowe dla modelu. Wyrażenia matematyczne i wyliczalne parametry Język AMPL umożliwia nie tylko wprowadzenie ograniczeń dolnych i górnych na wartości parametrów ale pozwala również na bardziej elastyczne definiowanie parametrów jako złożonych wyrażeń matematycznych, ewentualnie modyfikowanych warunkowo. Dla ilustracji rozważmymy model problemu, w którym maksmalizujemy funkcję celu, której współczynniki są funkcją dwóch paramentrów(r i v). Interesująca część modelu AMPL ma postać: paramr{1..n}> 0, < 1; paramv{1..n}> 0, < 1; var x{1..n}>= 0; maximizez:sum{iin1..n}(r[i] v[i] (r[i]+1)) x[i]; (ograniczenia) Innym sposobem jest w tej sytuacji użycie nowego parametru c którego wartości są obliczane(przy definiowaniu parametru) następująco: paramr{1..n}> 0, < 1; paramv{1..n}> 0, < 1; paramc{iin1..n}=(r[i] v[i] (r[i]+1)); var x{1..n}>= 0; maximizez:sum{iin1..n }c[i] x[i]; (ograniczenia) Wyrażenia definiujące parametr mogą zawierać dowolne arytmetyczne funkcję(np. sin, max, log, sqrt, exp), których obliczana wartość jest wartością numeryczną. Do obliczenia wartości parametrów może być stosowana następująca konstrukcja warunkowa: parametr = if warunek then wyrażenie1 else wyrażenie2; Warunek porównuje arytmetyczne wielkości i symbole(strings) używając operatorów =,<,>,<=,>=,<>(równieżlogicznych / ),któreniemusząbyć funkcjami zmiennych modelu. Konstrukcja może być także używana bez else wyrażenie2 jak również może być zagnieżdzona po else. Konstrukcja if-then-else przypisuje obliczalnemu parametrowi numeryczną wartość wyrażenie1 lub wyrażenie2 zatem jest ona wyrażeniem a nie instrukcją. Zastosowanie tej konstrukcji pokażemy na następującym przykładzie. Firma produkuje pewien produkt w celu zaspokojenia popytu w nadchodzących miesiącach. Jednostkowy koszt produkcji
11 wynosi pzł.dlapierwszym mmiesięcyiwzrastao10%wnastępnych mmiesiącach i o 20% w następnych m miesiącach. Pominiemy ograniczenia w modelu, aby zademonstrować tylko działanie konstrukcji if. Niech x j =ilośćproduktuwytwarzanawmiesiącu j,j = 1,2,...,3m Funkcja celu jest następująca: minz = p(x 1 +x 2 + +x m )+1.1p(x m+1 +x m+2 + +x 2m ) +1.2p(x 2m+1 +x 2m+2 + +x 3m ) Model tego fragmentu w AMPL jest postaci: param p; var x{1..3*m}>= 0; minimize koszt: p*(sum{j in 1..m}x[j]+1.1* sum{j in m+1..2*m}x[j]+ 1.2*sum{j in 2*m+1..3m}x[j]); (ograniczenia) Bardziej zwartym zapisem wykorzystującym konstrukcję if-then-else do zdefiniowaniaparametru c j wfunkcjicelujestnastępującyfragment: param m; param n:=3*m; param p; paramc{jinn}:=if j <= mthenpelse if j > mand j <= 2 mthen1.1*pelse1.2*p; var x{1..n}>= 0; minimize z: sum{j in 1..n}c[j]*x[j]; (ograniczenia)
12 Podzbiory Załóżmy, że w pewnym modelu mamy 7 zmiennych i następujące ograniczenie: x 1 +x 2 +x 5 +x 6 +x 7 27; Takie ograniczenie można zamodelować na kilka sposobów(nowe słowa kluczowe pisane są pogrubionym drukiem): # Sposób1 var x{1..7}>= 0; ograniczenie: sum{j in 1..7:j<= 2 or j>= 5}x[j]<= 27; # Sposób2 var x{1..7}>= 0; ograniczenie: sum{j in 1..2 union 5..7}x[j]<= 27; # Sposób3 var x{1..7}>= 0; ograniczenie: sum{j in 1..7 diff 3..4}x[j]<= 27; # Sposób4 var x{1..7}>= 0; ograniczenie: sum{j in 1..7 diff(1..4 inter 3..7)}x[j]<= 27; # - Wsposobie1zezbioru {jin1..7}usuwasięelement3i4nakładającwarunki na j. Znak dwukropka oddziela zmodyfikowany zbiór od warunków. Słowo kluczowe or odpowiada symbolowi alternatywy logicznej(lub). Słowa kluczowe union, diff i inter odpowiadają operacjom na zbiorach odpowiednio sumie (A B),różnicy(A B)iiloczynowi(A B)zbiorów.
Laboratorium WDEC. Opis posługiwania się pakietem AMPL
Laboratorium WDEC Opis posługiwania się pakietem AMPL Adam Krzemienowski, Grzegorz Płoszajski Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska Pakiet AMPL Pakiet AMPL jest narzędziem
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,
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,
4. 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
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
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
Obliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
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
Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN
AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------
METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski
METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,
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
Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego
Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego część III Analiza rozwiązania uzyskanego metodą simpleksową
Programowanie liniowe
Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
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
Wprowadzenie do Mathcada 1
Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.
Laboratorium 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
Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE 6. Ćwiczenia komputerowe Ćwiczenie 6.1
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Cw.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
Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Mathcad 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
ZAGADNIENIE TRANSPORTOWE
ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk
Programowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
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
Wstęp do informatyki- wykład 11 Funkcje
1 Wstęp do informatyki- wykład 11 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
A. Kasperski, M. Kulej Badania Operacyjne- programowanie liniowe 1
A. Kasperski, M. Kulej Badania Operacyjne- programowanie liniowe ZAGADNIENIE DUALNE Z każdym zagadnieniem liniowym związane jest inne zagadnienie nazywane dualnym. Podamy teraz teraz jak budować zagadnienie
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
Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!
Scilab jest środowiskiem programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego
Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA 3.2. Ćwiczenia komputerowe
Elementy języków programowania
Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone
Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik
Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Elż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,
Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Zestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
ZAGADNIENIA PROGRAMOWANIA LINIOWEGO
ZAGADNIENIA PROGRAMOWANIA LINIOWEGO Maciej Patan Uniwersytet Zielonogórski WSTĘP często spotykane w życiu codziennym wybór asortymentu produkcji jakie wyroby i w jakich ilościach powinno produkować przedsiębiorstwo
Wstęp do informatyki- wykład 9 Funkcje
1 Wstęp do informatyki- wykład 9 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Niezwykł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ą
Podstawy 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
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
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
MATLAB - laboratorium nr 1 wektory i macierze
MATLAB - laboratorium nr 1 wektory i macierze 1. a. Małe i wielkie litery nie są równoważne (MATLAB rozróżnia wielkość liter). b. Wpisanie nazwy zmiennej spowoduje wyświetlenie jej aktualnej wartości na
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ę
7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
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ąć
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Ukł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 + +
3. Instrukcje warunkowe
. Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include
GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13
Nazwisko i imię: Nr indeksu: 1 2 3 4 Σ MiNI/MatLic/AiPP/2014 2015/Kolokwium-IIA (30) GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13 Uwaga: Za każde zadanie można uzyskać tę samą liczbę
JAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych
1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych i dynamicznych, symulacji procesów, przekształceń i obliczeń symbolicznych
WYDZIAŁ 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
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja
Algorytmika i Programowanie VBA 1 - podstawy
Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Metoda simpleks. Gliwice
Sprowadzenie modelu do postaci bazowej Sprowadzenie modelu do postaci bazowej Przykład 4 Model matematyczny z Przykładu 1 sprowadzić do postaci bazowej. FC: ( ) Z x, x = 6x + 5x MAX 1 2 1 2 O: WB: 1 2
Metody i analiza danych
2015/2016 Metody i analiza danych Macierze Laboratorium komputerowe 2 Anna Kiełbus Zakres tematyczny 1. Funkcje wspomagające konstruowanie macierzy 2. Dostęp do elementów macierzy. 3. Działania na macierzach
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.1 Opis programów Do rozwiązania zadań programowania
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Polcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
Wprowadzenie 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
Warsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle
Instrukcja numer 06 Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle Zadanie 06 Pętle w skryptach wiersza poleceń Zadanie omawia zagadnienia związane ze stosowaniem instrukcji
Badania operacyjne. Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 adam.kasperski@pwr.edu.pl Materiały do zajęć dostępne na stronie:
Badania operacyjne Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 adam.kasperski@pwr.edu.pl Materiały do zajęć dostępne na stronie: www.ioz.pwr.wroc.pl/pracownicy/kasperski Forma zaliczenia
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:
Metody 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
PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008
PętlaforwOctave Roman Putanowicz kwietnia 008 Zakresyioperator : Zakresy(ang. ranges) są wygodnym sposobem definiowania wektorów reprezentujących ciągi arytmetyczne, czyli ciągi w których różnica pomiędzy
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Kompilator języka Basic można bezpłatnie pobrać ze strony z zakładki DOWNLOAD.
Kompilator języka Basic można bezpłatnie pobrać ze strony www.justbasic.com z zakładki DOWNLOAD. lub bezpośrednio z linku - > download Just BASIC v1.01! Size: 2.4 MB Po zainstalowaniu na komputerze program
Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Ję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 -
1. 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
III TUTORIAL Z METOD OBLICZENIOWYCH
III TUTORIAL Z METOD OBLICZENIOWYCH ALGORYTMY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH Opracowanie: Agata Smokowska Marcin Zmuda Trzebiatowski Koło Naukowe Mechaniki Budowli KOMBO Spis treści: 1. Wstęp do
n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję.
Zadania-6 1 Opracować program obliczający wartość sumy: S n m ai bj i 1 j 1 ln( bi j a) n, m : int; S, a, b : double Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 103 Dla obliczenia
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego
1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia
//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];
4.3. Przykłady wykorzystania funkcji bibliotecznych 73 MATLAB % definiowanie funkcji function [dx]=vderpol(t,y) global c; dx=[y(2); c*(1-y(1)^2)*y(2)-y(1)]; SCILAB // definiowanie układu function [f]=vderpol(t,y,c)
Wykorzystanie programów komputerowych do obliczeń matematycznych
Temat wykładu: Wykorzystanie programów komputerowych do obliczeń matematycznych Kody kolorów: żółty nowe pojęcie pomarańczowy uwaga kursywa komentarz * materiał nadobowiązkowy Przykłady: Programy wykorzystywane
Zadania rachunkowe z termokinetyki w programie Maxima
Zadania rachunkowe z termokinetyki w programie Maxima pliku, polecenia do wpisywania w programie Maxima zapisane są czcionką typu: zmienna_w_maximie: 10; inny przykład f(x):=x+2*x+5; Problem 1 komorze
Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego
Przykład wykorzystania dodatku SOLVER 1 w arkuszu Ecel do rozwiązywania zadań programowania matematycznego Firma produkująca samochody zaciągnęła kredyt inwestycyjny w wysokości mln zł na zainstalowanie
PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie
PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania
Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:
Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym
Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź
JAVASCRIPT PODSTAWY materiały dydaktyczne dla uczniów słuchaczy opracowanie: 2004-2007 by Arkadiusz Gawełek, Łódź 1. Czym jest JavaScript JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript,
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
W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Algorytmy przeszukiwania wzorca
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Algorytmy przeszukiwania wzorca 1 Wstęp Algorytmy
OPTYMALIZACJA DYSKRETNA
Temat nr a: odelowanie problemów decyzyjnych, c.d. OPTYALIZACJA DYSKRETA Zagadnienia decyzyjne, w których chociaż jedna zmienna decyzyjna przyjmuje wartości dyskretne (całkowitoliczbowe), nazywamy dyskretnymi
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
1. Wypisywanie danych
1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout
Zakładka Obmiar jest dostępna dla pozycji kosztorysowej w dolnym panelu. Służy do obliczania ilości robót (patrz też p ).
1.1.1. Obmiar Zakładka Obmiar jest dostępna dla pozycji kosztorysowej w dolnym panelu. Służy do obliczania ilości robót (patrz też p. 4.3.15). Zakładka przypomina swoim wyglądem uproszczony arkusz kalkulacyjny.