"o algoritmo" -"que é" do

Propaganda
2014/2015
Aplicações Informáticas B
12ºAno
Ficha de Revisão

Preenchimento dos espaços (,,...,) assinalados no algoritmo seguinte com
os «termos» adequados
10
2x5
Algoritmo ORDENAÇÃO ________________________
O vetor K de N elementos, é ordenado por ordem crescente.
O1. [Inicialização]
LIMITE  N
TROCA  ______________
O2. [Passagens só enquanto houver trocas]
DO WHILE TROCA > 0
TROCA  _______
OB3. [Compara e troca]
DO FOR J = 1 TO ________________
IF K [ J ] > K [ J + 1 ]
THEN X  K [ J ]
K[J]K[J+1]
K[J+1]X
TROCA  J
LIMITE  __________
O4. [Termina]
□
EXIT
Dadas as seguintes passagens, que algoritmo de ordenação foi utilizado?
8
9
3
4
7
6
3
9
4
7
6
3
4
9
7
6
3
4
6
7
9
3
4
6
7
9
Vetor Inicial (por ordenar)
32
8x4
Considerando
o seguinte vetor, indique como este fica organizado, após cada
passagem, dos algoritmos de ordenação, por Seleção, Inserção Direta, Bolha e
ordenação Agitada.
8
4
3
2
5
Transcreva para a sua folha de prova os «termos» adequados ao preenchimento
dos espaços (, , ,  e ) no algoritmo que se segue.
10
2x5
O algoritmo seguinte calcula e imprime o acréscimo de preço, em percentagem, de cada obra
em leilão, relativamente à sua base de licitação (preço inicial fixado para cada peça).
São utilizados os vetores PBASE, PVENDA e OBRAS que contém, respetivamente, a base de
licitação de cada obra, o preço atingido no leilão e os nomes das obras.
Consideram-se os vetores PBASE, PVENDA e OBRAS previamente preenchidos para 100 obras,
e que os seus índices coincidem com o código atribuído a cada obra.
As obras que não forem vendidas (preço de venda igual a zero) não devem constar no relatório
produzido.
1.[Cálculo e impressão da listagem de acréscimos]
DO FOR I = 1 TO ______
IF PVENDA [ I ] < > 0
THEN _________  ( _________ - _________ ) / PBASE [ I ] * 100
PRINT ( ‘ O acréscimo para’, OBRAS [ ________ ], ‘ foi de’ ,
ACRÉSCIMO, ‘ %’ )
2.[TERMINAR]
EXIT
10

Identifique a função do algoritmo seguinte, atribuindo-lhe um título, preenchendo a
sua descrição e comentando o passo 2.
Algoritmo _________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_1.[Ler os 10 elementos do vetor K e X ]
Repita para I = 1, 2, …, 10
Leia ( K [ I ], X [ I ] )
_2.[_____________________________ ]
Repita para I = 1, 2, …, 10
SE TRUNC ( I / 2 ) = I / 2
ENTÃO Y [ I ]  K [ I ] - X [ I ]
SENÃO Y [ I ]  K [ I ] + X [ I ]
_3. [ Terminar ]
Saída
Nota: A função TRUNC ( ) retorna o valor inteiro do seu argumento.
Um aluno desenvolveu um programa na sua prova prática de programação.
18
3x6
Identifique os seis erros que o aluno cometeu na elaboração do programa,
justificando.
Sub Main()
Dim n As Integer
Dim refeições(n - 1) As Integer
Dim promoções(n - 1) As Integer
Console.Write("Quantos clientes? ")
n = Console.ReadLine()
Console.WriteLine(" ")
Console.WriteLine("Digite o número de refeições de cada cliente!")
Console.WriteLine(" ")
For i = 0 To n - 1
Console.Write("Cliente nº " & i + 1 & "
")
Console.ReadLine()
Next
For i = 0 To n - 1
promoções(n) = Int(refeições(n) / 10)
Next
Console.WriteLine(" ")
Console.WriteLine("Refeições Grátis!")
Console.WriteLine(" ")
For i = n To n - 1
If promoções(i) > 0 Then
Console.WriteLine("Cliente nº " & i + 1 & " = " & promoções(i))
End If
Next
Console.ReadLine()
End Sub
 Identifique os quatro erros que o aluno cometeu na elaboração
12
3x4
do programa, justificando
Sub Main()
Dim meses(11) As String
Dim temperatura(11), soma, média, max As Decimal
Dim i, mês As Integer
meses(0) = "Janeiro"
meses(1) = "Fevereiro"
meses(2) = "Março"
meses(3) = "Abril"
meses(4) = "Maio"
meses(5) = "Junho"
meses(6) = "Julho"
meses(7) = "Agosto"
meses(8) = "Setembro"
meses(9) = "Outubro"
meses(10) = "Novembro"
meses(11) = "Dezembro"
soma = 0
média = 0
max = -50
mês = 0
Console.WriteLine("Introduza as temperaturas:")
For i = 0 To 11
Console.Write(meses(i) & " : ")
temperatura(i) = Console.ReadLine()
soma = soma + 1
If temperatura(i) > soma Then
max = temperatura(i)
i = mês
End If
Next
Console.WriteLine("O mês com a temperatura mais elevada foi: " &
meses(mês))
média = soma / 11
Console.WriteLine("A temperatura média anual é: " & média)
Console.WriteLine("Meses com temperatura igual ou superior à
média: ")
For i = 0 To 11
If temperatura(i) >= média Then
Console.WriteLine(meses(i))
End If
Next
Console.ReadLine()
End Sub
Download