La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.

Presentazioni simili


Presentazione sul tema: "Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi."— Transcript della presentazione:

1 Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi

2 Lez. 11 (10/11) - PBElementi di Programmazione2 Domanda 1 Option Explicit Option Base 1 Function prova(ByVal a As Integer, ByRef b As Integer) As Integer Dim c As Integer c = a + b b = a Mod b prova = b + 1 End Function Sub ex() Dim x As Integer, y As Integer, z As Double y = 10 x = 5 z = prova(y, x) y = prova(8, y) z = x / y End Sub Mostrare la valorizzazione delle variabili durante lesecuzione del presente programma

3 Lez. 11 (10/11) - PBElementi di Programmazione3 Domanda 1 Option Explicit Option Base 1 Function prova(ByVal a As Integer, ByRef b As Integer) As Integer Dim c As Integer c = a + b b = a Mod b prova = b + 1 End Function Sub ex() Dim x As Integer, y As Integer, z As Double y = 10 x = 5 z = prova(y, x) y = prova(8, y) z = x / y End Sub x y z 5 10 0 a b c prova 5 10 0 10 ^x 0 0 5 10 0 10 ^x 15 0 0 10 0 10 ^x 15 0 0 10 0 10 ^x 15 1 0 10 1 1<- 0 10 1 8 ^y 0 0 0 10 1 8 ^y 18 0 0 8 1 8 ^y 18 0 0 8 1 8 ^y 18 9 0 9 1 0 9 0 NB: 8 : 10 = 0 0 8

4 Lez. 11 (10/11) - PBElementi di Programmazione4 Domanda 2 Trasformare usando listruzione do While... Loop Do A = A + 3 If A > 5 Then Do B = B -1 C = C + 1 Loop While (C>0) End If C = 2 Loop While (A < B)

5 Lez. 11 (10/11) - PBElementi di Programmazione5 Domanda 2 Trasformare usando listruzione do While... Loop Do A = A + 3 If A > 5 Then Do B = B -1 C = C + 1 Loop While (C>0) End If C = 2 Loop While (A < B) A = A + 3 If A > 5 Then B = B -1 C = C + 1 Do While (C>0) B = B -1 C = C + 1 Loop End If C = 2 Do While (A < B) A = A + 3 If A > 5 Then B = B -1 C = C + 1 Do While (C>0) B = B -1 C = C + 1 Loop End If C = 2 Loop

6 Lez. 11 (10/11) - PBElementi di Programmazione6 Domanda 2 Do x=x+1 Loop While x >0 x=x+1 Do While x>0 x=x+1 Loop APPLICAZIONE REGOLA GENERALE

7 Lez. 11 (10/11) - PBElementi di Programmazione7 Domanda 2 Do x=x+1 Do y = y +1 Loop While y<0 Loop x >0 x=x+1 Do y = y +1 Loop While y<0 Do While x>0 x=x+1 Do y = y +1 Loop While y<0 Loop Partenza Passo 1: E indifferente partire Dal ciclo interno o esterno

8 Lez. 11 (10/11) - PBElementi di Programmazione8 Domanda 2 x=x+1 Do y = y +1 Loop While y<0 Do While x>0 x=x+1 Do y = y +1 Loop While y<0 Loop x=x+1 y = y +1 Do While y<0 y = y +1 Loop Do While x>0 x=x+1 y = y + 1 Do While y<0 y = y +1 Loop Passo 1Passo 2

9 Lez. 11 (10/11) - PBElementi di Programmazione9 Domanda 2 Do x = x +1 Loop While x < 0 X 5 6 x=x+1 Do while x <0 x= x + 1 Loop X 5 6 Do while x <0 x= x + 1 Loop X 5 Vera equivalenza Equivalenza errata

10 Lez. 11 (10/11) - PBElementi di Programmazione10 Domanda 3 Date le seguenti dichiarazioni: Dim a As Boolean, b As Boolean Dim c As Double, d As Integer ed i seguenti valori iniziali: a = False b = True c = 2.5 d = 4 Indicare il valore delle espressioni: d = d / 3 + c a = b OR (c > d - c) c = d / 3 + 7

11 Lez. 11 (10/11) - PBElementi di Programmazione11 Domanda 3 Date le seguenti dichiarazioni: Dim a As Boolean, b As Boolean Dim c As Double, d As Integer ed i seguenti valori iniziali: a = False b = True c = 2.5 d = 4 Indicare il valore delle espressioni: d = d / 3 + c a = b OR (c > d - c) c = d / 3 + 7 d = d / 3 + c d= 1.333 + 2.5 d= 4 arrotonda!!! a = b OR _ (c > d - c) True OR True True c = d / 3 + 7 C=8.333

12 Lez. 11 (10/11) - PBElementi di Programmazione12 Domanda 4 Il codice che segue genera un errore di esecuzione; indicare quale e quale istruzione lo provoca: Option Explicit Option Base 1 Sub ex() Dim vet(3 To 8) vet(7) = 6 vet(8) = 1 vet(1) = 3 End Sub

13 Lez. 11 (10/11) - PBElementi di Programmazione13 Domanda 4 Il codice che segue genera un errore di esecuzione; indicare quale e quale istruzione lo provoca: Option Explicit Option Base 1 Sub ex() Dim vet(3 To 8) vet(7) = 6 vet(8) = 1 vet(1) = 3 End Sub Vet(1) non esiste

14 Lez. 11 (10/11) - PBElementi di Programmazione14 Domanda 5 Mostrare il contenuto della cella A2 dopo lesecuzione del seguente codice: Option Explicit Sub ex() Dim S As String S = "prova a provare" S = Replace(S, "va", "XX") Range("A1").Value = S Range("A2").Value=_ Left(S, 4) Range("A3").Value=_ right(S, 4) End Sub

15 Lez. 11 (10/11) - PBElementi di Programmazione15 Domanda 5 Mostrare il contenuto della cella A2 dopo lesecuzione del seguente codice: Option Explicit Sub ex() Dim S As String S = "prova a provare" S = Replace(S, "va", "XX") Range("A1").Value = S Range("A2").Value=_ Left(S, 4) Range("A3").Value=_ right(S, 4) End Sub proXX a proXXre proX XXre

16 Lez. 11 (10/11) - PBElementi di Programmazione16 Domanda 6 Date le seguenti dichiarazioni: Dim a As Integer, d As Double Dim c As Boolean, b As Boolean ed i seguenti valori iniziali: a = 8 d = 2.5 c = True b = False Indicare il valore delle espressioni: d = d / 3 + c a = b AND (c > 0) c = d /3 + 7 d valore iniziale

17 Lez. 11 (10/11) - PBElementi di Programmazione17 Domanda 6 Date le seguenti dichiarazioni: Dim a As Integer, d As Double Dim c As Boolean, b As Boolean ed i seguenti valori iniziali: a = 8 d = 2.5 c = True b = False Indicare il valore delle espressioni: d = d / 3 + c a = b AND (c > 0) c = d /3 + 7 d valore iniziale d = d / 3 + c d = 0.833 + (-1) d = -0.17 a=b AND (c > 0) a= false AND false a=False c=true

18 Lez. 11 (10/11) - PBElementi di Programmazione18 Domanda 7 Scrivere lintestazione della funzione ft() che ha tre parametri X, Y, Z; di questi il primo è di tipo Double gli altri due sono facoltativi di tipo Integer il primo per valore, il secondo per riferimento. La funzione restituisce un tipo Double.

19 Lez. 11 (10/11) - PBElementi di Programmazione19 Domanda 7 Scrivere lintestazione della funzione –ft() –che ha tre parametri X, Y, Z; –di questi il primo è di tipo Double –gli altri due sono facoltativi di tipo Integer il primo per valore, il secondo per riferimento. –La funzione restituisce un tipo Double.

20 Lez. 11 (10/11) - PBElementi di Programmazione20 Domanda 7 Scrivere lintestazione della funzione ft() che ha tre parametri X, Y, Z; di questi il primo è di tipo Double gli altri due sono facoltativi di tipo Integer il primo per valore, il secondo per riferimento. La funzione restituisce un tipo Double. function ft( X as Double, _ Optional ByVal _ Y As Integer,_ Optional Z As Integer ) As Double

21 Lez. 11 (10/11) - PBElementi di Programmazione21 Domanda 8 Indicare il contenuto delle celle B1 ed B2 dopo lesecuzione del seguente codice VBA: Option Explicit Sub ex() Dim x As Double, y As Double x = 4 y = 8 y = y ^ 2 + x / 3 x = y + 10 Range("B1").Value = Application.WorksheetFunction.Floor(x, 1) Range("B2").Value = y End Sub

22 Lez. 11 (10/11) - PBElementi di Programmazione22 Domanda 8 Indicare il contenuto delle celle B1 ed B2 dopo lesecuzione del seguente codice VBA: Option Explicit Sub ex() Dim x As Double, y As Double x = 4 y = 8 y = y ^ 2 + x / 3 x = y + 10 Range("B1").Value = _ Application.WorksheetFunction.Floor(x, 1) Range("B2").Value = y End Sub x y 4 8 4 65.333 75.3333 65.333 B1 = 75 B2 = 65.333


Scaricare ppt "Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi."

Presentazioni simili


Annunci Google