• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Programowanie strukturalne



    Podstrony: [1] 2 [3] [4]
    Przeczytaj także...
    Instrukcja opuszczenia (instrukcja zaniechania, instrukcja wyjścia z bloku) – instrukcja w danym języku programowania powodująca wyjście z określonej instrukcji strukturalnej.Instrukcja warunkowa jest elementem języka programowania, które pozwala na wykonanie różnych obliczeń w zależności od tego czy zdefiniowane przez programistę wyrażenie logiczne jest prawdziwe, czy fałszywe. Możliwość warunkowego decydowania o tym, jaki krok zostanie wykonany w dalszej kolejności jest jedną z podstawowych własności współczesnych komputerów – dowolny model obliczeń zdolny do wykonywania algorytmów (tj. równoważny maszynom Turinga) musi ją posiadać.
    Historia[ | edytuj kod]

    Przed programowaniem strukturalnym[ | edytuj kod]

    Pierwsze komputery były programowane wprost z użyciem kodu maszynowego lub z wykorzystaniem asemblera. Pierwsze asemblery przypadają na połowę lat 50. W 1954 roku Nathaniel Rochester napisał asembler dla IBM 701, natomiast w 1955 Stan Poley stworzył SOAP – asembler dla komputera IBM 650, początkowo programowanego wyłącznie przy pomocy kodu maszynowego. Kontrola przepływu w programie odbywała się głównie przy pomocy warunkowych i bezwarunkowych instrukcji skoku, w ówczesnych komputerach IBM określanych jako branch lub instrukcje transferu.

    Programowanie komputerów to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych (mikrokontrolery). Kod źródłowy jest napisany w języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych, znajomość języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów komputera. W inżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

    Wprowadzony w roku 1957 FORTRAN, pierwszy poważny język programowania wysokiego poziomu, główny nacisk kładł na formuły arytmetyczne. Występujące w nim struktury (a raczej instrukcje) kontrolne nie wykraczały daleko poza możliwości instrukcji skoku w asemblerach – język, poza skokiem bezwarunkowym, udostępniał przypisywalne (assigned goto) i obliczalne (computed goto) instrukcje skoku, oraz zbliżone do obliczalnego goto wyrażenie arytmetycznego (nie logicznego) if. Skoki były wykonywane do etykiet reprezentowanych przez wartości liczbowe. Dodatkowo występowała też prosta pętla.

    ALGOL (z ang. ALGOrithmic Language) – język programowania, który odegrał ważną rolę w historii informatyki. Wpłynął istotnie na kształtowanie się innych języków, w tym Pascala. Od momentu powstania przez około 20 lat ALGOL (lub jego dialekty) był de facto standardem opisu algorytmów w publikacjach naukowych i podręcznikach.Instrukcja powrotu (wyjścia) to instrukcja w określonym języku programowania powodująca opuszczenie aktualnie wykonywanego bloku programu (modułu, podprogramu: procedury, funkcji, metody, lub innych segmentów - bloków programowych - występujących w określonym języku programowana, a także całego programu, procesu) i przejście do następnej instrukcji występującej po instrukcji wywołania danego podprogramu.

    ALGOL[ | edytuj kod]

    Opublikowany w roku 1958 ALGOL 58 oraz jego dwa lata późniejsza, mocno rozwinięta wersja ALGOL 60, wprowadziły wiele kluczowych konstrukcji programistycznych, istotnych nie tylko z punktu widzenia programowania strukturalnego. Był to pierwszy język, w którym pojawił się koncept instrukcji złożonych – bloków – służących do grupowania instrukcji. Blok jest traktowany jako pojedyncza instrukcja i możliwe jest użycie go w miejscu dla niej przeznaczonym.

    Graf przepływu sterowania (ang. Control Flow Graph) – abstrakcyjna struktura danych używana przez kompilator do reprezentacji pojedynczej procedury programu. Wierzchołkami grafu są bloki podstawowe, a skierowane krawędzie wskazują powiązania pomiędzy blokami.IBM 701 pierwszy komputer firmy IBM przeznaczony do zadań naukowych, wszedł do sprzedaży 29 kwietnia 1952. Produkowano także "biznesowe" odmiany tego komputera IBM 702 i IBM 650.

    Język ALGOL wprowadził również fundamentalne dla programowania strukturalnego konstrukcje: logiczne instrukcje warunkowe if..then z opcjonalnym else, pętle for oraz instrukcję wyboru switch. Pozwolił też na deklarowanie procedur, w tym zagnieżdżonych w sobie, wraz z odpowiednim zasięgiem identyfikatorów. Instrukcja goto dalej pozostawała jednak ważnym elementem składniowym języka.

    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.Zasięg widoczności to w programowaniu fragment programu (np. obszar lub blok kodu) z którym skojarzone są wartości lub wyrażenia (np. zmienne). Różne języki programowania posiadają różne rodzaje zasięgów widoczności.

    Podstawa teoretyczna[ | edytuj kod]

    Jako fundament teorii programowania strukturalnego określa się twierdzenie o programowaniu strukturalnym. Jego autorstwo przypisuje się najczęściej ’Böhmowi i Giuseppe Jacopiniemu, wskazując jako źródło ich pracę Flow Diagrams, Turing Machines And Languages With Only Two Formation Rules z maja 1966 roku. W swojej pracy pokazali oni, że dowolny program zawierający skoki (czyli dowolny graf przepływu), może zostać znormalizowany do odpowiadającego mu ustrukturyzowanego grafu – zbudowanego z trzech podstawowych struktur: oraz wyrażającym odpowiednio: sekwencję, wybór oraz iterację. Ponieważ grafy przepływu mogą wyrażać dowolne funkcje obliczalne, to oznacza, że możemy też takie wyrazić przy pomocy tych podstawowych konstrukcji. W dalszej części pracy opisany jest język P′′ – pierwszy strukturalny język, dla którego udowodniono zupełność w sensie Turinga.

    Ole-Johan Dahl (ur. 12 października 1931, zm. 29 czerwca 2002) - norweski informatyk ceniony za współtworzenie koncepcji obiektowych języków programowania i opracowania języka Simula, za co wraz z Kristen Nygaardem został uhonorowany nagrodą Turinga w 2001 roku.Spaghetti code – termin określający skomplikowany, trudny do zrozumienia kod źródłowy programu. Z takiego kodu skompilowano wiele programów w starszych językach proceduralnych, typu Fortran czy BASIC. Było to jeszcze przed powstaniem metody programowania strukturalnego.

    Twierdzenie Böhma i Jacopiniego nie mówi o tym w jaki sposób tworzyć dobre programy strukturalne lub je analizować. Prace nad tymi zagadnieniami odbywały się głównie na przełomie lat 60 i 70, z istotnym wkładem dokonamy przez Edsgera Dijkstrę, Roberta W. Floyda, Tonyego Hoarea, Ole-Johana Dahla, oraz Davida Griesa.

    Dyskusja[ | edytuj kod]

    Już na etapie projektowania języka ALGOL, w roku 1959, Heinz Zemanek rozważał ograniczenie użycia instrukcji goto, jednak jego uwagi zostały wtedy zignorowane. Niedługo później Hoare proponował ograniczenie użycia skoków tylko do wyjść alarmowych, natomiast w roku 1966 razem z Wirthem proponowali ograniczenia w postaci instrukcji wyboru case.

    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców.

    W debacie pomiędzy programistami dotyczącej popularyzacji programowania strukturalnego i ograniczeniu programowania opartego na goto najistotniejszym punktem jest praca Edsgera Dijkstry z 1974 roku A Case against GO TO Statemant opublikowana pod tytułem Goto Statement considered Harmful. Autor w sposób zdecydowany wyraża się przeciwko użyciu tej instrukcji:

    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.Herb Sutter – jeden z najsławniejszych ekspertów języka C++. Jest również autorem wielu książek poświęconych temu językowi, które obecnie są uważane za klasyczne:
    .mw-parser-output div.cytat{display:table;border:1px solid #aaa;padding:0;margin-top:0.5em;margin-bottom:0.8em;background:#f9f9f9}.mw-parser-output div.cytat>blockquote{margin:0;padding:0.5em 1.5em}.mw-parser-output div.cytat-zrodlo{text-align:right;padding:0 1em 0.5em 1.5em}.mw-parser-output div.cytat-zrodlo::before{content:"— "}.mw-parser-output div.cytat.środek{margin-left:auto;margin-right:auto}.mw-parser-output div.cytat.prawy{float:right;clear:right;margin-left:1.4em}.mw-parser-output div.cytat.lewy{float:left;clear:left;margin-right:1.4em}.mw-parser-output div.cytat.prawy:not([style]),.mw-parser-output div.cytat.lewy:not([style]){max-width:25em}

    Instrukcja go to powinna zostać usunięta z wszystkich „wysokopoziomowych” języków programowania (to znaczy z wszystkich poza – prawdopodobnie - czystym kodem maszynowym).

    Resource Acquisition Is Initialization (inicjowanie przy pozyskaniu zasobu), w skrócie RAII - popularny wzorzec projektowy w C++ i D. Technika łączy przejęcie i zwolnienie zasobu z inicjowaniem i usuwaniem zmiennych.Pascal – dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego poziomu, ogólnego zastosowania, oparty na języku Algol. Został opracowany przez Niklausa Wirtha w 1970 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala.

    Odwołuje się też do twierdzenia Böhma i Jacopiniego, które umożliwia pokazanie, że goto jest instrukcją zbędną. Podaje przyczyny, przez które programy używające skoków są trudne w analizie. Dijkstra proponuje też odpowiednie ograniczenia na struktury kontrolne, jak na przykład Instrukcja opuszczenia, tak by dalej pozwalały na odpowiednią analizę, jeśli zestaw podstawowych instrukcji okazałby się zbyt ograniczający.

    Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.Communications of the ACM (CACM) – flagowy miesięcznik Association for Computing Machinery (ACM), wydawany od 1957 i rozsyłany do wszystkich członków ACM.

    Jednym z pierwszych dużych komercyjnych projektów wykorzystujących programowanie strukturalne, który odniósł duży sukces było wykonane przez Harlana Millsa z IBM systemu indeksującego zbierane informacje dla New York Times.

    Mimo kolejnych sukcesów związanych z aplikacją technik programowania strukturalnego, jak i rozwojowi teorii jej poświęconej, spora liczba programistów wciąż opierała się ograniczeniu lub wyeliminowaniu instrukcji goto z użycia. Donald Knuth w 1974 roku opublikował pracę Structured Programming with GoTo Statements, w której opisywał sytuacje gdzie użycie skoku upraszcza rozwiązanie bez wpływu na trudność w jego analizie.

    Fortran (od wersji 90 do aktualnej) a dawniej FORTRAN (do wersji 77 włącznie) (od ang. FORmula TRANslator) – język programowania pierwotnie zaprojektowany do zapisu programów obliczeniowych, był niegdyś językiem proceduralnym, obecnie jest nadal rozwijanym językiem ogólnego przeznaczenia. Umożliwia programowanie strukturalne, obiektowe (Fortran 90/95), modularne i równoległe (Fortran 2008). Jego zastosowaniami są, między innymi, obliczenia naukowo-inżynierskie, numeryczne, symulacja komputerowa itp.Charles Antony Richard Hoare (Tony Hoare, ur. 11 stycznia 1934 w Kolombo, Sri Lanka) - brytyjski informatyk, znany jako twórca algorytmu sortowania quicksort. Rozwinął także logikę Hoare’a służącą do weryfikowania poprawności programów oraz stworzył język formalny Communicating Sequential Processes (CSP) używany do specyfikowania interakcji współbieżnych procesów (zob. problem ucztujących filozofów). Przyczynił się także do powstania języka programowania Occam. W 1980 roku, w dowód uznania za wkład w rozwój języków programowania otrzymał nagrodę Turinga.

    W roku 1987 na łamach Communications of the ACM po liście Franka Rubina „GOTO Considered Harmful” Considered Harmful na nowo rozgorzała dyskusja dotycząca słuszności użycia goto, zarówno z głosami poparcia dla Rubina i użycia skoków, jak i mocnymi głosami przeciwko (razem z tytułami, stopniowo zawierającymi w coraz większej liczbie frazę „Considered Harmful”). Rubin twierdził:

    Kent Beck – twórca programowania ekstremalnego i jeden z twórców Manifestu Zwinnego Oprogramowania (Agile Manifesto).Niklaus Wirth (ur. 15 lutego 1934 w Winterthur) – szwajcarski elektronik i informatyk. Twórca wielu języków programowania.

    Wiara, że GOTO są złe, stała się doktryną religijną, niepodważalną żadnymi dowodami

    Zdaniem edytora była to największa wymiana listów w historii forum. Dyskusję uciął ostry list Dijkstry, poniekąd zawiedzionego poziomem dyskusji, jak i samymi próbami ponownej popularyzacji instrukcji goto.

    Wpływ na języki programowania[ | edytuj kod]

    Popularyzacja programowania strukturalnego zaowocowała wprowadzeniem konstrukcji programowania strukturalnego, często inspirowanych ALGOLEM, do języków programowania, które wcześniej ich nie posiadały, takich jak FORTRAN, COBOL czy BASIC.

    The New York Times – jeden z najważniejszych amerykańskich dzienników o profilu liberalno-lewicowym, wychodzący w Nowym Jorku. Jest trzecią pod względem nakładu gazetą w Stanach Zjednoczonych, po USA Today i The Wall Street Journal. Codzienny nakład wynosi 1,125 mln, a obieg wydania niedzielnego 1,700 mln (dane na 26 grudnia 2004). Właścicielem gazety jest The New York Times Company, która kontroluje również około 40 innych gazet, czasopism i wiele krzyżówek, między innymi The Boston Globe i International Herald Tribune.Garbage collection (zbieranie nieużytków, odśmiecanie) – jedna z metod automatycznego zarządzania dynamicznie przydzieloną pamięcią, w której za proces jej zwalniania odpowiedzialny jest nie programista, lecz programowy zarządca nazwany garbage collector. Pierwsza metoda odśmiecania została opracowana w 1959 roku przez Johna McCarthy’ego w celu rozwiązania problemu ręcznego zarządzania pamięcią w Lispie. Mechanizm ten następnie został szeroko rozpowszechniony i jest wykorzystywany w wielu wysokopoziomowych językach programowania, takich jak: Smalltalk, Python, Ruby, Java, C# czy D.

    Częste odstępstwa[ | edytuj kod]

    O ile można obserwować zanik użycia goto, to istnieje niewiele czysto strukturalnych języków programowania. Najczęściej poza podstawowymi strukturami kontrolnymi pojawia się możliwość wczesnego wyjścia, łamiąc tym samym zasadę pojedynczego wyjścia z każdej struktury. Obsługa wyjątków również wykracza poza założenia programowania strukturalnego.

    Robert W. Floyd (ur. 8 czerwca 1936 w Nowym Jorku - zm. 25 września 2001) - informatyk amerykański, laureat Nagrody Turinga.Biblioteka Narodowa Francji (fr. Bibliothèque nationale de France, BnF) – francuska biblioteka narodowa, znajdująca się w Paryżu. Przewidziana jest jako repozytorium dla wszystkich materiałów bibliotecznych, wydawanych we Francji. Obecnym dyrektorem Biblioteki jest Bruno Racine.

    Wczesne wyjście[ | edytuj kod]

    Najczęściej spotykana jest możliwość wyjścia z danej pętli lub podprogramu. Na poziomie podprogramu jest to zwykle instrukcja return. W przypadku pętli są to instrukcje break (przerwij daną pętlę) lub continue (przerwij daną iterację i przejdź do następnej). W czystym kodzie strukturalnym można napisać równoważne programy z wykorzystaniem dodatkowych instrukcji warunkowych, jednak może istotnie zwiększyć złożoność programów. Język C jest jednym z wczesnych przykładów wprowadzenia tego typu konstrukcji. Niektóre nowe języki programowania wprowadzają instrukcje „etykietowanego break”, które pozwalają opuścić więcej niż jeden poziom zagnieżdżonych pętli w pojedynczym kroku.

    Instrukcja kontynuacji – instrukcja w języku programowania powodująca przejście do kolejnej iteracji w określonej instrukcji pętli.Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.

    Wczesne wyjścia mogą powodować pewne trudności przy tworzeniu programów, związane na przykład z koniecznością zwalniania zaalokowanych zasobów przy każdym miejscu, w którym może być wykonany powrót z danego podprogramu. Występują różne podejścia: Pascal unika tych problemów nie dopuszczając tego typu konstrukcji, natomiast języki obiektowe wysokiego poziomu, takie jak C++ czy Java zawierają odpowiednie mechanizmy (RAII lub odśmiecanie pamięci) mające na celu ułatwienie pracy programiście.

    W programowaniu pętla to jedna z trzech podstawowych konstrukcji programowania strukturalnego (obok instrukcji warunkowej i instrukcji wyboru). Umożliwia cykliczne wykonywanie ciągu instrukcji określoną liczbę razy, do momentu zajścia pewnych warunków, dla każdego elementu kolekcji lub w nieskończoność.Andrei Alexandrescu (ur. 1969 w Bukareszcie, Rumunia) – ekspert w dziedzinie zaawansowanego programowania w języku C++ wykorzystującego szablony. Jego najbardziej znanym pomysłem były prace nad klasami parametryzowanymi wytycznymi, techniką wykorzystującą metaprogramowanie z wykorzystaniem szablonów klas, którą opisał w swojej książce Nowoczesne programowanie w C++.

    Kent Beck, Martin Fowler wraz ze współautorami swoich książek na temat refaktoryzacji stwierdzają, że mocno zagnieżdżone bloki instrukcji warunkowych mogą być trudniejsze w zrozumieniu niż bardziej spłaszczona struktura z wieloma punktami wyjścia.

    Pojedynczy punkt wyjścia nie jest tak naprawdę użyteczną regułą. Kluczem jest przejrzystość: Jeśli metoda jest prostsza z jednym punktem wyjścia, użyj jednego, w przeciwnym przypadku, użyj wielu

    Herb Sutter i Andrei Alexandrescu również stwierdzają, że zasada pojedynczego wyjścia nie ma zastosowania w C++, jest tak za sprawą obsługi wyjątków i destruktorów, przez co każda funkcja może mieć wiele niejawnych punktów wyjścia.

    Paradygmat programowania (ang. programming paradigm) — wzorzec programowania komputerów przedkładany w danym okresie rozwoju informatyki ponad inne lub szczególnie ceniony w pewnych okolicznościach lub zastosowaniach.C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.

    Odmienne zdanie wyraża natomiast Bertrand Meyer, który w 2009 opisał break i continue jako „stare goto w owczej skórze” i mocno odradzał ich użycie.

    Obsługa wyjątków[ | edytuj kod]

    Badacze spierają się co do użycia wyjątków w kontekście programowania strukturalnego, jako że łamią one zasadę pojedynczego wyjścia. Cytując wcześniejsze badania (1999-2004) i podając własne, Westley Weimer i George Necula stwierdzają, że problem z wyjątkami polega na tym, że „tworzą ukryte ścieżki przepływu sterowania, o których programistom ciężko wnioskować”. Pojawiają się propozycje by sprowadzić wyjątki do pojedynczego wyjścia, jak i opinie, by pozostawić pełną dowolność w ich użyciu, jako że reguła pojedynczego wyjścia powstała przed pojawieniem się i popularyzacją wyjątków, a opakowywanie wyjątków by uczynić zgodnymi z regułą jednego wyjścia dodaje zbędne poziomy zagnieżdżenia utrudniając zrozumienie programów.

    Donald Ervin Knuth (ur. 10 stycznia 1938 r. w Milwaukee) – amerykański matematyk, informatyk, emerytowany profesor na katedrze informatyki Uniwersytetu Stanforda.Refaktoryzacja (czasem też refaktoring, ang. refactoring) to pojęcie związane z wytwarzaniem systemów informatycznych, w szczególności z programowaniem. Jest to proces wprowadzania zmian w projekcie/programie, w wyniku którego zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. W ramach refaktoryzacji podejmowane są następujące działania:


    Podstrony: [1] 2 [3] [4]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Martin Fowler jest autorem książek i znanym wykładowcą z tematyki architektury oprogramowania, specjalizującym się w analizie obiektowej i projektowaniu, UML, wzorcach projektowych, metodykach zwinnych, w tym Programowania ekstremalnego.
    DOI (ang. digital object identifier – cyfrowy identyfikator dokumentu elektronicznego) – identyfikator dokumentu elektronicznego, który w odróżnieniu od identyfikatorów URL nie zależy od fizycznej lokalizacji dokumentu, lecz jest do niego na stałe przypisany.
    Definicja intuicyjna: Java (wym. „dżawa”) to język programowania. Programy napisane w Javie można uruchamiać na wielu urządzeniach, takich jak telefony komórkowe lub komputery oraz pod różnymi systemami operacyjnymi, przy użyciu Wirtualnej maszyny Javy, która musi być w danym środowisku zainstalowana.
    Hiszpańska Biblioteka Narodowa (Biblioteca Nacional de España) – największa biblioteka w Hiszpanii i jedną z największych na świecie. Znajduje się w Madrycie, a dokładnie przy Paseo de Recoletos.
    Kontrola autorytatywna – w terminologii bibliotekoznawczej określenie procedur zapewniających utrzymanie w sposób konsekwentny haseł (nazw, ujednoliconych tytułów, tytułów serii i haseł przedmiotowych) w katalogach bibliotecznych przez zastosowanie wykazu autorytatywnego zwanego kartoteką wzorcową.
    Instrukcja blokowa – (instrukcja złożona) jako instrukcja strukturalna jest elementem składni języków programowania strukturalnego, wydzielona część kodu źródłowego programu komputerowego, stosowane np. do grupowania sekwencji instrukcji składowych (prostych lub złożonych), ujmując je w nawiasy zdaniowe.
    W teorii obliczalności o maszynie lub języku programowania mówimy, że jest kompletny w sensie Turinga lub zupełny, jeśli można za jego pomocą rozwiązać identyczną klasę problemów obliczeniowych, jak na uproszczonym modelu programowalnego komputera zwanego maszyną Turinga. W praktyce oznacza to, że jeśli dany język lub maszyna potrafi wykonać lub wyrazić każdy algorytm, określany jest mianem zupełnego, przy czym nie jest wymagane, by algorytm ten realizowany był prosto, wydajnie bądź efektywnie.

    Reklama

    Czas generowania strony: 0.034 sek.