Selezione singola

Decidere se eseguire o meno una o più istruzioni Dopo aver eseguito istruzione 0 decide se eseguire istruzioni 11 istruzioni 12 e poi continua eseguendo istruzione 2 … If E = 1 Then     Begin         Istr11;         Istr12;     End; … Se viene controllata l’esecuzione di … Leggi tutto

Sequenza

Una sequenza di istruzioni, allineate in verticale (attraversate dalla freccia del tempo dall’alto verso il basso) L’esecutore eseguirà prima l’istruzione 1, poi l’istruzione 2 e infine l’istruzione 3 Istr1; Istr2; Istr3; Le istruzioni possono essere scritte sulla stessa riga e la loro esecuzione procederà da sinistra verso destra… Istr1; Istr2; Istr3;  

Funzioni mancanti

A partire dalle funzioni matematiche già esistenti nel linguaggio di programmazione Pascal Esponenziale Exp(x) Logaritmo naturale Ln(x) Arcotangente ArcTan(x) possono essere ricavate eventuali funzioni mancanti Pascal Radice ennesima Exp(Ln(x)/n) Elevamento a potenza Exp(y*Ln(x)) Esponenziale con base 10 Exp(x*Ln(10)) Esponenziale con base 2 Exp(x*Ln(2)) Logaritmo in base 10 Ln(x)/Ln(10) Logaritmo in base 2 Ln(x)/Ln(2) Tangente Sin(x)/Cos(x) Cotangente Cos(x)/Sin(x) Arcoseno ArcTan(x/Sqrt(1-Sqr(x))) Arcocoseno ArcTan(Sqrt(1-Sqr(x))/x)

Fare 4 note

Prova a suonare qualche motivetto con il Pascal… l’utente può scegliere il tempo per il brano il valore di tempo viene utilizzato per inizializzare il vettore RITARDI con tempo, 2*tempo, 4*tempo, 8*tempo, … per ottenere lo staccato le note vengono accorciate e seguite da una brevissima pausa FUSA= 1/128 Uses  Crt; Const    PAUSA=0;   … Leggi tutto

Problemi con matrici

Problemi con una matrice Riempirla di zeri Riempirla con i numeri consecutivi, per riga, da 1 a … Riempirla di numeri casuali da 0.0 a 99.9… Calcolare il minimo dei valori contenuti … massimo Calcolare il totale dei valori contenuti … media Realizzare la tavola pitagorica … la matrice identità … la matrice triangolare superiore … Leggi tutto

Problemi con array

Con le seguenti dichiarazioni Const     DIM=10; Type     VETTORE: Array[1..DIM] Of Real; Var     V1, V2, V3: VETTORE; completa gli esercizi seguenti Procedure Visualizza(v: VETTORE); Var   i: Integer; Begin   For i:=1 To DIM Do       Writeln(i:5, ‘: ‘, v[i]:10:2); End; Procedure Visualizza_Capovolto(v: VETTORE); Procedure Visualizza_Quadrati(v: VETTORE); Procedure … Leggi tutto

Problemi con array 2

Con le seguenti dichiarazioni Const     DIM=10; Type     VETTORE: Array[1..DIM] Of Real; Var     V1, V2, V3: VETTORE; completa gli esercizi seguenti Procedure Visualizza(v: VETTORE); Var   i: Integer; Begin   For i:=1 To DIM Do       Writeln(i:5, ‘: ‘, v[i]:10:2); End; Procedure Visualizza_Capovolto(v: VETTORE); Procedure Visualizza_Quadrati(v: VETTORE); Procedure … Leggi tutto

Problemi con array

Problemi che richiedono un vettore Estrarre le cifre da un numero minore di 1.000.000 n=187 1 2 3 4 5 6 0 0 0 1 8 7 Convertire da base 10 a base 2 un numero minore di 256 n=13 1 2 3 4 5 6 7 8 0 0 0 0 1 1 0 … Leggi tutto

Array

La notazione funzionale si è rivelata molto flessibile per il riutilizzo del codice della funzione Max2(X, Y), infatti Max3:= Max2(Max2(X1, X2), X3); Max4:= Max2(Max2(Max2(X1, X2), X3), X4); … MaxN:=(Max2(…(Max2(Max2(X1, X2), X3), …), XN); ma non comoda se bisogna riscrivere l’espressione a seconda del numero di variabili. L’algoritmo sottostante è invece (X1, X2)? –> M –> … Leggi tutto

Prova i file di testo

Program ProvaFileTesto; Const   nomefile=’filetesto.txt’; Var   T: Text;   s : String;   c : Char; Begin   Assign(T, nomefile);   Rewrite(T);   s:=’Ciao’;   WriteLn(T, s);   s:=’mamma.’;   WriteLn(T, s);   Close(T);       Reset(T);   While Not Eof(T) Do       Begin          Read(T, c); // … Leggi tutto