Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.

Slides:



Advertisements
Podobne prezentacje
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
Advertisements

Grażyna Mirkowska PJWSTK 15 listopad 2000
Algorytmy – zapis struktur programowania
Języki programowania C++
typy całkowite (całkowitoliczbowe)
WYKŁAD 2 SYSTEMY EKSPERTOWE cz.2.
Nośniki sygnałów - przykład Nośniki sygnałów – przykład.
Jan Aleksander Wierzbicki
27/09/ Języki programowania 1 Piotr Górczyński Instrukcje warunkowego wyboru.
Instrukcje warunkowe Zajęcia 5.
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Kurs Pascala – spis treści
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Podstawy programowania
Proponowany program wykładu monograficznego
Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami.
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
Dr Anna Kwiatkowska Instytut Informatyki
PASCAL (2) dr Anna Kwiatkowska.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – cz II Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Podprogramy.
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Schemat Hornera Mgr inż. Michał Szucki.
Programowanie w języku Fortran 95
Podstawy programowania
Instrukcje sterujące część 1
Programowanie w języku Matlab
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
20 września 2003r. Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie Wstęp do algorytmiki Autor: Marek Magiera.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Metody matematyczne w inżynierii chemicznej
Wyrażenia w Turbo Pascalu.
Programowanie w języku Matlab
PHP: warunki, pętle, switch, break, continue
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Programowanie strukturalne i obiektowe
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie do akumulatora.
STEROWANIE Ale nie tylko
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Programowanie baz danych
Wykład 10 typ zbiorowy rekurencja.
Składnia instrukcji warunkowej if…
Wykład 7 Synchronizacja procesów i wątków
Ogólna struktura programu w TP
Podstawy języka Instrukcje - wprowadzenie
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne.
opracowała: Anna Mikuć
Instrukcje wyboru.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Pętle Zajęcia 6.
Pętle – instrukcje powtórzeń
Język C/C++ Instrukcje
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
Podstawy informatyki Zmienne, stałe Instrukcje sterujące Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Dane, zmienne, instrukcje
Haskell Składnia funkcji.
Zapis prezentacji:

Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych ani do wnętrza pętli. Instrukcja pusta CONTINUE Wprowadzono ją we wcześniejszych FORTRANach jako instrukcję, którą można było bezpiecznie etykietować (nie wolno było etykietować np. instrukcji pętli lub pustej linii).

Prosta instrukcja warunkowa (każdy FORTRAN) IF (wyrażenie_logiczne) instrukcja Instrukcja (zawsze jedna) jest wykonywana jeżeli wyrażenie_logiczne przyjmuje wartość.TRUE. Przykład: IF (DELTA.LT. 0.0) PRINT *,Brak pierwiastkow rzeczywistych

Blokowa instrukcja warunkowa (od FORTRANu 77) IF (wyrażenie_logiczne) THEN Instrukcja_1 Instrukcja_2 ….. Instrukcja_n ENDIF Blok instrukcji między IF and ENDIF jest wykonywany jeżeli wyrażenie_logiczne przymuje wartość.TRUE. Blok_instrukcji

Przykład: IF (DELTA.GT. 0.0) THEN X1=-0.5*(B+SQRT(DELTA))/A X2=-0.5*(B-SQRT(DELTA))/A ENDIF

Złożona instrukcja warunkowa (od FORTRANu 77) IF (wyrażenie_logiczne_1) THEN Blok_Instrukcji_1 ELSE IF (wyrażenie_logiczne_2) THEN Blok_Instrukcji_2 …… [ELSE] Blok_instrukcji_x ENDIF Dany blok instrukcji między IF and ELSE lub ENDIF jest wykonywany jeżeli odpowiednie przymuje wartość.TRUE.; wtedy pozostałe części instrukcji warunkowej są ignorowane. Blok następujący po ELSE bez wyrażenie logicznego (jeżeli występuje to jest zawsze ostatnie) jest wykonywany jeżeli wszystkie poprzednio napotkane wyrażenia logiczne mają wartość.FALSE.

Przykład: IF (DELTA.GT. 0.0) THEN X1=-0.5*(B+SQRT(DELTA))/A X2=-0.5*(B-SQRT(DELTA))/A ELSE IF (DELTA.EQ. 0.0) THEN X1=-0.5*B/A X2=X1 ELSE PRINT *,Brak pierwiastków rzeczywistych ENDIF

Tak sobie radzono z brakiem IF..THEN…ELSE…ENDIF w FORTRANie IV IF (DELTA.LE. 0.0) GOTO 10 X1=-0.5*(B+SQRT(DELTA))/A X2=-0.5*(B-SQRT(DELTA))/A GO TO CONTINUE IF (DELTA.LT. 0.0) GO TO 20 X1=-0.5*B/A X2=X1 GO TO 40 20PRINT *,31HBrak pierwiastkow rzeczywistych 40CONTINUE Innym sposobem (ale mniej ogólnym) było użycie arytmetycznej instrukcji warunkowej.

Arytmetyczna instrukcja IF (każdy FORTRAN) IF (wyrażenie_arytmetyczne) etykieta_1,etykieta_2,etykieta_3 Do instrukcji oznaczonej odpowiednią etykietą skacze się gdy: etykieta_1: wyrażenie_arytmetyczne<0 etykieta_2: wyrażenie_arytmetyczne=0 etykieta_3: wyrażenie_arytmetyczne>0 wyrażenie_arytmetyczne nie może być typu COMPLEX (musimy umieć zdefiniować relację większości)

Przykład: IF (DELTA) 10,20,30 10PRINT *,Brak pierwiastków rzeczywistych GO TO 40 20X1=-0.5*B/A X2=X1 GO TO 40 30X1=-0.5*(B+SQRT(DELTA))/A X2=-0.5*(B-SQRT(DELTA))/A 40CONTINUE

Obliczona instrukcja skoku GO TO (etykieta_1,etykieta_2,…,etykieta_n), wyrażenie_arytmetyczne W starszych FORTRANach GO TO (etykieta_1,etykieta_2,…,etykieta_n), zmienna_sterująca Wartość wyrażenia arytmetycznego po prawej stronie jest zaokrąglana z dołu do najbliższej liczby całkowitej. Skok do odpowiedniej etykiety następuje jeżeli: wyrażenie_arytmetyczne 2: etykieta_1 2 wyrażenie_arytmetyczne 3: etykieta_2 ………. wyrażenie_arytmetyczne n: etykieta_n W starszych FORTRANach zmienna_sterująca musiała być całkowita

Przykład: READ (*,*) IFUN,X C W zależności od wartości IFUN obliczymy odpowiednią funkcję C trygonometryczną lub hiperboliczną zmiennej X GO TO (10,20,30,40),IFUN 10Y=SIN(X) GOTO 50 20Y=COS(X) GOTO 50 30Y=SINH(X) GOTO 50 40Y=COSH(X) 50PRINT *,F(,X,)=,Y

Wyznaczona instrukcja skoku ASSIGN etykieta TO zmienna ……….. GO TO zmienna,(etykieta_1,etykieta_2,…,etykieta_n) zmienna musi być zmienną całkowitą. Skok następuje do tej etykiety z listy, która została przypisana do zmiennej instrukcją ASSIGN. Jeżeli któraś z etykiet nie odpowiada żadnej instrukcji pojawia się błąd kompilacji.

Przykład: C Ten fragment programu czyta dwa razy jedną liczbę z klawiatury. C Za pierwszym razem oblicza jej sinus a za drugim sinus hiperboliczny ASSIGN 10 TO ISEL 40READ (*,*) X GOTO ISEL,(10,20) 10Y=SIN(X) PRINT *,SIN(,X,)=,Y ASSIGN 20 TO ISEL GOTO 40 20Y=SINH(X) PRINT *,SINH(,X,)=,Y

Instrukcja SELECT CASE identyfikator: SELRCT CASE(zmienna) CASE(wybór_1) blok_instrukcji_1 CASE(wybór_2) blok_instrukcji_2 CASE DEFAULT blok_instrukcji_default END SELECT

Przykład: i=1 nazwa: select case(i) case(1) print *,"i=1" case(2) print *,"i=2" case default print *,"i=?" end select nazwa

Instrukcja pętli z licznikiem FORTRAN77 i wyżej DO zmienna=start,koniec[,przyrost] instrukcja_1 instrukcja_2 ………. instrukcja_n ENDDO FORTRAN IV i niżej DO etykieta zmienna=start,koniec[,przyrost] instrukcja_1 instrukcja_2 ………. etykietainstrukcja_n Blok instrukcji pomiędzy DO a ENDDO lub pomiędzy DO a instrukcją etykietowaną jest wykonywany dla wartości zmiennej począwszy od start, przez start+przyrost, aż do momentu kiedy zmienna sterująca przekroczy koniec (z lewej lub prawej strony w zależności od znaku zmiennej krok). Jeżeli przyrost nie jest podany, jest przyjmowany jako 1.

Ważne uwagi: 1.W FORTRANie 77 instrukcje zawarte w pętli NIE SĄ wykonywane, jeżeli start>koniec dla krok>0 lub start<koniec dla krok<0. W FORTRANie IV i niżej instrukcje zawarte w pętli były ZAWSZE wykonywane przynajmniej raz. Kompilując źródła napisane w FORTRANie IV, dla zachowania kompatybilności musimy czasami włączyć opcję kompilatora, która wymusza przynajmniej jednokrotne wyknanie instrukcji zawartych w pętli. 2.Zmienna sterująca i krok mogą być typu REAL ale wtedy należy uważać na kumulację błędów sumowania przy obliczaniu kolejnych wartości zmiennej sterującej. Lepiej używać zmiennych sterujących I innych parametrów pętli typu INTEGER.

Przykład 1: C Wczytywanie N kolejnych elementów tablicy X z klawiatury, każdej C w oddzielnej linii DO I=1,N READ (*,*) X(I) ENDDO Przykład 2: C Drukowanie kolejnych liczb nieparzystych od 1 do N DO 40 I=1,N,2 40 PRINT *,I

Instrukcja pętli z warunkiem DO WHILE (wyrażenie_logiczne) instrukcja_1 instrukcja_2 ………….. instrukcja_n ENDDO Blok instrukcji między DO a ENDDO jest wykonywany, dopóki wyrażenie_logiczne przyjmuje wartość.TRUE.

Przykład: C Iteracyjna procedura obliczania pierwiastka kwadratowego metodą C Herona. Przybliżeniem początkowym jest połowa liczby X=0.5*A XX=X*X DO WHILE (ABS(XX-A).GT. 1.0E-4) X=0.5*(XX+A)/X XX=X*X ENDDO