ANY u WHERE u : seq(MININT..MAXINT) & size(u) = size(s) & #f.(f : 1..size(s) >->> 1..size(s) & !j.(j : 1..size(s) => s(f(j)) = u(j))) & !i.(i : 1..size(s)-1.

Slides:



Advertisements
Hasonló előadás
LRendezés minimális elem kiválasztással Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 19./0. lAz algoritmus működése lRávezető feladat.
Advertisements

Populáció növekedés október 1.
Számítástechnika Levelezőknek
FelültöltésVHDL Felültöltés (Overloading) n Áttekintés n Példák.
Algoritmizálás, adatmodellezés tanítása 4. előadás
Programozási Nyelvek (C++) Gyakorlat Gyak 01.
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Programozási alapismeretek 1. előadás
Programozás II. 3. Gyakorlat C++ alapok.
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák tömbökre
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Borland C/C++ mintapéldák struktúrákra. 1. példa /* Egyszerû példa a struktúrák használatára */ #include #define SIZE 5 struct szemely { char nev[26];
Borland C/C++ mintapéldák mutatókra
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
Programozás I. Horváth Ernő.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
2012. március 7. Paulik Áron Prog szakkör.
Számítógépes grafika OpenGL 1. gyakorlat.
C++ alapok, harmadik óra
SQL 2012 TKOC Magas Rendelkezésreállás II. Király István Microsoft Certified Trainer Microsoft Certified Systems Engineer.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Bin-summarise-smooth: ‚bigvis’ „Big Data” elemzési módszerek.
Az F# programozási nyelv
Programozási nyelvek.
1/20 Kulturális örökség a Szemantikus Weben a Museum24 projekt Szász Barnabás Finnország, 2005.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Input – output, adatfolyamok
Masol/1 A másoló eljárás PROC masol ([] REAL ezt, ide) SEQ ide := ezt Az összefésülő eljárás feje PROC fesul ([] REAL t1, t2, tki) -- t1 és t2 összefésülése.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
A C++ nyelv.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Ciklusok 1 Számlálós (léptető) ciklus Szintaxis: for ( i=1; i
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
Rendezőalgoritmusok. Feladatok I. 1.Hozzunk létre új StandardEXE VB projektet. Töröljük Form1-t 2.Add/Module/New, majd Properties/átnevezzük: „MainModule”
A 2. géptermi beszámoló VBA anyagának összefoglalása
Ficsor Lajos Objektumok inicializálása CPP4 / 1 Objektumok inicializálása Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Számítógépes Grafika 3. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Picasso exhibition in Esztergom, Hungary Picasso exhibition in Esztergom2.
AGILE COCKTAIL – Shaken or stirred HWSW free!
A Büntetés-végrehajtási Szervezet helyzete és aktuális feladatai
Pozitron Emissziós Tomográfia (PET)
Az átlátható programok kellékei
Lineáris egyenletrendszerek megoldása
Fájlkezelés C++ alatt – péntek Jordán Sándor.
Fájlkezelés C++ alatt – péntek Jordán Sándor.
gg004-Mesh project copy-paste-rename gg002-App folder
Programozási alapismeretek 2. előadás
a hét verse E.E. Cummings: bajza sándor
Az átlátható programok kellékei
ARAB SZÁMOK … 5.
C++ Standard Template Library
A „Programozási alapismeretek” 2. gyakorlat
String osztály létrehozása
C++ Standard Template Library
C++ Standard Template Library
Konverziós operátorok
Az objektum-orientáltság
Függvénysablonok használata
Osztály fogalom Új fogalom: osztály (class).
Előadás másolata:

ANY u WHERE u : seq(MININT..MAXINT) & size(u) = size(s) & #f.(f : 1..size(s) >->> 1..size(s) & !j.(j : 1..size(s) => s(f(j)) = u(j))) & !i.(i : 1..size(s)-1 => u(i) <= u(i + 1)) THEN t := u END x <-- findmax(s, n) = PRE n : 1..MAXINT-1 & s : seq(MININT..MAXINT) & size(s) >= n THEN ANY y WHERE y : 1..n & !z.(z : 1..n => s(y) >= s(z)) THEN x := y END #include using namespace std; int main() { int k, m ; cout << "A 2*x+3 fuggveny ertekeinek az osszege m-tol, k-darab\n" ; cout > m; cout > k; int sum = 0; for (int i=m; i<=m+k; i++){ sum += 2*i+3; } cout << "\nA 2*x+3 fuggveny ertekek osszege " << m << "-tol " << k << "-darab: " << sum << "\n"; return 0; } „…hogy ne robbanjon fel…” Neumann Nap 2005 ELTE-IK-PSZT Dr. Istenes Zoltán Neumann Nap 2005 ELTE-IK-PSZT Dr. Istenes Zoltán

#include using namespace std; int main() { int k, m, sum ; cout << "A 2*x+3 fv. értékeinek az összege m-tól, k-darab"; cout > m; cout > k; for (int i=m; i<=m+k; i++){ sum += 2*i+3;} cout << "A 2*x+3 fv. értékek összege " << m << "-tól " << m+k << "-ig: " << sum return 0;} Csak egy kis C++ program…(1) sum = 0; ; fordító jelzi, szintaktikai hiba első teszteléskor kiderül, „csak elfelejtettük”… szemantikai hiba, „mindenki tudja”…

Csak egy kis C++ program…(2) #include using namespace std; int main() { int k, m, sum=0 ; cout << "A 2*x+3 fv. értékeinek az összege m-tól, k-darab"; cout > m; cout > k; for (int i=m; i!=m+k; i++){ sum += 2*i+3;} cout << "A 2*x+3 fv. értékek összege " << m << "-tól " << k << " darab: " << sum; return 0;}

„Ha egy változó túlcsordul…” e) At 36.7 seconds after H0 (approx. 30 seconds after lift-off) the computer within the back-up inertial reference system, which was working on stand-by for guidance and attitude control, became inoperative. This was caused by an internal variable related to the horizontal velocity of the launcher exceeding a limit which existed in the software of this computer. ARIANE 5 - Flight 501 Failure - Report by the Inquiry Board for (int i=m; i!=m+k; i++){ sum += 2*i+3;}

B módszer (the B method) van formális szintaktikája és formális szemantikája komplett fejlesztőeszközök, B specifikációkat szerkeszteni, ellenőrizni, bizonyítandó tételeket készíteni és azokat bizonyítani lehet velük. formális kifejezhetőek a különféle tulajdonságok és feltételek, bemutathatóak azok bizonyítása illetve működése B-Toolkit / Atelier-B "A B egy módszer szoftverrendszerek tervezésére és megvalósítására" J.R. Abrial

Bizonyítások „láncolata”… Absztrakt gép specifikáció Absztrakt gép specifikáció Finomítás 1. Finomítás... Finomítás n. Megvalósítás C/Java forráskód Egy szinten belüli „koherencia” „megfelelés” az előző szintnek

specifikáció implementáció

„Halmaz, típus, helyettesítés” INVARIANT beir  TAN INITIALISATION beir:=  OPERATIONS kiirat(diak)= PRE diak  beir THEN beir:=beir-{diak} END; [beir:=  ]beir  TAN   TAN beir  TAN  diak  beir  [PRE diak  beir THEN beir:=beir-{diak} END]beir  TAN beir  TAN  diak  beir  diak  beir  [beir:=beir-{diak}]beir  TAN beir  TAN  diak  beir  [beir:=beir-{diak}]beir  TAN beir  TAN  diak  beir  beir-{diak}  TAN A művelet „formális” definiciója: [PRE P THEN G END] Q  P  [G] Q Az invariánst „megőrzi” az inicializálás… Az invariánst „megőrzi” a művelet…

B módszer alkalmazása Párizsi metro 14-es vonal program által irányított… sor B specifikáció sor ADA kód bizonyított tétel félformális és formális módszerek félformális és formális módszerek rendszer modellezés UML tervminták „Formális módszerek a szoftvertechnológiában” „Formális módszerek a szoftvertechnológiában”

Összefoglalás igény a „nagy” és „biztonságos” informatikai rendszerek iránt formális eszközök/módszerek szükségesek a biztonságkritikus és a bizonyíthatóan helyes rendszerek tervezésekor formális eszközök/módszerek szükségesek a biztonságkritikus és a bizonyíthatóan helyes rendszerek tervezésekor B módszer formális módszerek alkalmazása Az előadás : A tárgy weboldala : The B method :