"A arte de programar consiste na arte de organizar e dominar a complexidade."

domingo, 8 de novembro de 2015

Ficha nº8

1.


Código:


Private Sub Command1_Click()
    Dim inicio As Integer, fim As Integer, soma As Integer
   
    Do
        inicio = Val(InputBox("Indique qual é o ínicio do intervalo", "Entrada de dados"))
        If inicio < 0 Then
            MsgBox "O valor que introduziu é inválido", vbCritical, "Aviso"
        End If
    Loop Until inicio >= 0
    
    Do
        fim = Val(InputBox("Indique onde acaba o intervalo", "Entrada de dados"))
        If fim < 0 Then
            MsgBox "O valor que introduziu é inválido", vbCritical, "Aviso"
        End If
    Loop Until fim >= 0
    
    soma = 0
    
    If inicio < fim Then
        Do
            soma = soma + inicio
            inicio = inicio + 1
        Loop Until inicio > fim
    End If
    
    MsgBox "A soma dos números naturais é " & soma, vbInformation, "Saída"
    
End Sub



2.


Código:


Private Sub Command1_Click()
    Dim num As Integer, i As Integer, multiplicacao As Integer
    
    i = 1
    
    Do
        num = Val(InputBox("Introduza a tabuada que deseja efetuar", "Entrada de dados"))
        If num < 0 Then
            MsgBox "A tabuada que introduziu é inválida", vbCritical, "Aviso"
        End If
    Loop Until num > 0
    
    If i < 10 Then
        Do
            multiplicacao = i * num
            Picture1.Print i & " * " & num & " = " & multiplicacao
            i = i + 1
        Loop Until i > 10
    End If
End Sub



3.


Código:


Private Sub Command1_Click()
    Dim temperaturas As Integer, temp_alta As Integer, temp_baixa As Integer, media As Integer, i As Integer, soma As Integer
    
    soma = 0
    temp_alta = 0
    temp_baixa = 200
    i = 0
    
    Do
        i = i + 1
        Do
            temperaturas = Val(InputBox("Introduza a temperatura média mensal do " & i & " mês", "Entrada de dados"))
            If temperaturas < -100 Or temperaturas > 100 Then
                MsgBox "A temperatura que introduziu é inválida", vbCritical, "Aviso"
            End If
        Loop Until temperaturas > -100 Or temperaturas < 100
        soma = soma + temperaturas
        If temperaturas > temp_alta Then
            temp_alta = temperaturas
        End If
        If temperaturas < temp_baixa Then
            temp_baixa = temperaturas
        End If
    Loop Until i = 12
    
    media = Round(soma / 12, 2)
    
    MsgBox "A temperatura mais alta é " & temp_alta & " e a mais baixa é " & temp_baixa & ". A média de todas as temperaturas introduzidas é " & media, vbInformation, "Saída"
End Sub



4.


Código:


Private Sub Command1_Click()
    Dim soma As Integer, media As Integer, maximo As Integer, minimo As Integer, total As Integer, num As Integer, i As Integer, positivos As Integer
    
    positivos = 0
    i = 0
    soma = 0
    maximo = 0
    minimo = 300
    
    total = Val(InputBox("Qual é o tamanho da sequência?", "Entrada de dados"))
    Do
        i = i + 1
        num = Val(InputBox("Introduza o " & i & " número", "Entrada de dados"))
        If num >= 0 Then
        positivos = positivos + 1
            soma = soma + num
            If num > maximo Then
                maximo = num
            End If
            If num < minimo Then
                minimo = num
            End If
        End If
    Loop Until i = total
    
    media = Round(soma / positivos, 2)
    
    MsgBox "A soma dos números é " & soma & ", a média é " & media & ", o número máximo é " & maximo & " e o número minimo é " & minimo, vbInformation, "Saída"
End Sub


Sem comentários:

Enviar um comentário