Introdução à Computação
Visual Basic
Sebenta Prática
Instituto Superior de Engenharia do Porto
Departamento de Informática
2002
Índice
1
ENTRADAS E SAÍDAS -------------------------------------------------------------------------------- 1
2
ESTRUTURAS DE SELECÇÃO SIMPLES------------------------------------------------------ 5
3
ESTRUTURAS DE SELECÇÃO EMBUTIDAS ------------------------------------------------- 8
4
ESTRUTURAS DE REPETIÇÃO CONDICIONAIS SIMPLES I --------------------------11
5
ESTRUTURAS DE REPETIÇÃO CONDICIONAIS SIMPLES II -------------------------13
6
ESTRUTURAS DE REPETIÇÃO CONTADAS SIMPLES ---------------------------------15
7
ESTRUTURAS DE REPETIÇÃO EMBUTIDAS I ---------------------------------------------19
8
ESTRUTURAS DE REPETIÇÃO EMBUTIDAS II --------------------------------------------22
9
VARIÁVEIS INDEXADAS --------------------------------------------------------------------------224
10 ANEXOS ---------------------------------------------------------------------------------------------------26
10.1 Símbolos para os Fluxogramas -------------------------------------------------------------- 26
10.2 Regras para o Pseudo-Código---------------------------------------------------------------- 27
10.3 VisualBasic - O Fundamental da Matéria Abordada ------------------------------------ 29
10.4 VisualBasic - Mensagens de Erro mais Comuns ---------------------------------------- 31
Visual Basic
1
1.1
Entradas e Saídas
Entradas e Saídas
Elabore um programa em Visual Basic que permita escrever ou apagar a mensagem, “Este é o
meu primeiro programa em VB”, consoante o botão de comando que seja premido. Como modelo
sugere-se o seguinte interface:
1.2
Objecto
Propriedade
Valor
Form1
Caption
Name
Mensagem
FrmMensagem
Label1
Caption
Font
Clique sobre cada um dos botões
Ms Sans Serif; Bold; 8
Label2
Alignment
BorderStyle
Caption
Font
Name
Center
1-Fixed Single
(vazio, isto é, eliminar Label2)
Times New Roman; Bold Italic; 10
LblMsg
Command1
Caption
Name
Escrever
CmdEscrever
Command2
Caption
Name
Apagar
CmdApagar
Command3
Caption
Name
Sair
CmdSair
Elabore um programa em Visual Basic que permita efectuar a conversão de graus centígrados (C)
para graus fahrenheit (F), sabendo que a fórmula de conversão é a seguinte: F = 1.8*C + 32.
Sugere-se o seguinte modelo para o interface:
(continua)
1
Visual Basic
1.3
Entradas e Saídas
Objecto
Propriedade
Valor
Form1
Caption
Name
Conversões Centigrados – Fahrenheit
FrmConverte
Label1
Caption
Font
Centígrados
Ms Sans Serif; Bold; 10
Label2
Caption
Font
Fahrenheit
Ms Sans Serif; Bold; 10
Label3
Alignment
BorderStyle
Caption
Font
Name
1 – Right Justify
1- Fixed Single
(vazio)
Ms Sans Serif; Regular; 10
LblFahr
Text1
Alignment
Font
Name
Text
1 – Right Justify
Ms Sans Serif; Regular; 10
TxtCentigr
(vazio)
Command1
Caption
Name
Font
Converter
CmdConverte
Times New Roman; Bold Italic; 12
Command2
Caption
Name
Font
Sair
CmdSair
Times New Roman; Bold Italic; 12
Tendo como modelo o interface apresentado em baixo, elabore um programa em Visual Basic que
permita visualizar o resultado de qualquer uma das seguintes operações aritméticas entre dois
números: adição, subtracção, multiplicação, divisão real, exponenciação, divisão inteira e resto da
divisão inteira. O programa deve ainda apresentar o sinal aritmético entre os dois operandos,
reflectindo a operação realizada.
(continua)
2
Visual Basic
Entradas e Saídas
Objecto
Propriedade
Valor
Form1
Caption
Name
Operações Aritméticas
FrmOperAritm
Text1
Alignment
Name
Text
Rigth Justify
TxtNumero1
(vazio)
Text2
Alignment
Name
Text
Rigth Justify
TxtNumero2
(vazio)
Label1
Alignment
Caption
Name
Center
(varia com a operação seleccionada)
LblOperacao
Label2
Caption
=
Label3
Alignment
BorderStyle
Caption
Name
Rigth Justify
Fixed Single
(vazio)
LblResultado
Command1
Caption
Name
+
CmdAdicionar
Command2
Caption
Name
CmdSubtrair
Command3
Caption
Name
X
CmdMultiplicar
Command4
Caption
Name
/
CmdDividir
Command5
Caption
Name
^
CmdPotencia
Command6
Caption
Name
\
CmdDivInteira
Command7
Caption
Name
Mod
CmdResto
Command8
Caption
Name
&Sair
CmdSair
Exercício Suplementar
1.4
Elabore um programa em Visual Basic para calcular a área de um polígono regular (A) (ver figura
da página seguinte), que é dada pela seguinte fórmula:
A=
o
360
2
R sen(
),
2
n
n
sendo n o número de lados e R o raio circunscrito.
Sugere-se o interface apresentado na página seguinte, em que a figura do polígono é construída
utilizando a ferramenta line.
(continua)
3
Visual Basic
Entradas e Saídas
Objecto
Propriedade
Valor
Form1
Caption
Name
Área de Polígonos Regulares
FrmAreaPoligReg
Label1
Caption
Número de lados =
Label2
Caption
Raio circunscrito (R) =
Label3
Caption
Área =
Text1
Name
Text
TxtNumLados
(vazio)
Text2
Name
Text
TxtRaioCircun
(vazio)
Label4
BorderStyle
Caption
Name
1 - Fixed Single
(vazio)
LblArea
Command1
Caption
Name
&Calcular
CmdCalc
Command2
Caption
Name
&Sair
CmdSair
4
Visual Basic
2
2.1
Estruturas de Selecção Simples
Estruturas de Selecção Simples
Elabore um jogo de sorte em Visual Basic chamado Sete da Sorte. O jogo consiste na geração
aleatória de um número inteiro entre 0 e 9, inclusive, e o jogador só ganha se sair o número 7.
Para o interface sugere-se o seguinte modelo:
OU
Depois do utilizador accionar o botão Iniciar, o programa deve gerar aleatoriamente um número
inteiro pertencente ao intervalo [0, 9] . Se o número gerado for 7, deve ser apresentada uma
imagem com moedas, senão, deve ser apresentada a mensagem “Tente Outra Vez …”. A imagem
encontra-se guardada no seguinte ficheiro:
C : \ My Documents \ moedas.wmf
2.2
Crie uma nova versão do jogo anterior, em que são gerados aleatoriamente 3 números inteiros
entre 0 e 9, inclusive, e o jogador ganha quando sai pelo menos um 7.
Para o interface, sugere-se o modelo apresentado na página seguinte.
(continua)
5
Visual Basic
2.3
Estruturas de Selecção Simples
Altere o programa anterior por forma a que o jogador ganhe quando sairem pelo menos dois 7.
Para o interface, sugere-se o seguinte modelo:
6
Visual Basic
2.4
Estruturas de Selecção Simples
O programa das Operações Aritméticas (exercício 1.3) gera um erro de execução nas operações
de divisão, quando é introduzido um divisor igual a zero. Trata-se de uma situação indesejável, e
como tal, altere o programa para que em tais circunstâncias, em vez de gerar o erro de execução,
o programa mostre ao utilizador uma mensagem apropriada numa caixa de mensagem.
Exercício Suplementar
2.5
Elabore um programa em Visual Basic para auxiliar a contabilidade duma empresa a calcular o
vencimento dum empregado. O cálculo é baseado no número de horas que trabalhou e no seu
salário por hora. Para além das 40 horas de trabalho, a hora é acrescida de um suplemento de
25%. Para o interface, sugere-se o seguinte modelo:
7
Visual Basic
3
3.1
Estruturas de Selecção Embutidas
Estruturas de Selecção Embutidas
Elabore um programa em Visual Basic para o auxiliar a cambiar Euros, sabendo que: €1 = 0.9796
Dólares (USA), €1 = 0.6274 Libras (GB) e €1 = 120.22 Ienes (Japão). O valor de câmbio deve ser
apresentado formatado com duas casas decimais, e no caso de ser um valor superior ou igual a
1000, deve ser mostrado com separadores de milhares. Para o interface sugere-se o seguinte
modelo:
Exercícios Suplementares
3.2
Elabore um programa em Visual Basic que determine se um dado ano é ou não bissexto. No caso
de não o ser, pretende-se que indique o(s) ano(s) bissexto(s) mais próximo(s). Como modelo,
apresenta-se o seguinte interface:
8
Visual Basic
3.3
Estruturas de Selecção Embutidas
Elabore um programa em Visual Basic para o auxiliar a localizar o quadrante dum ponto, dadas as
suas coordenadas. Para o interface sugere-se o modelo da figura apresentada, em que os eixos
XY podem ser construídos usando a ferramenta line.
3.4
Elabore um programa em Visual Basic para determinar as soluções de uma equação do 2º grau
(ax2+bx+c=0), reais ou complexas. As soluções devem apresentar, no máximo, 3 casas decimais.
Para o interface, sugere -se o seguinte modelo:
9
Visual Basic
3.5
Estruturas de Selecção Embutidas
Elabore um programa em Visual Basic para auxiliar um aluno a determinar a nota final a uma
disciplina cujo método de avaliação é o seguinte: a nota final tem duas componentes, teórica e
prática, e os seus pesos são respectivamente de 60 e 40 %. A nota teórica é dada pela média
aritmética das duas melhores classificações obtidas em 3 testes, e a nota prática é a classificação
de um trabalho laboratorial.
O programa tem de permitir ao utilizador introduzir as 4 notas obtidas, 3 teóricas e 1 prática, e tem
de validar todas as notas introduzidas, aceitando apenas valores numéricos entre 0 e 20,
inclusive. No caso de serem introduzidas notas inválidas, o programa deve mostrar uma
mensagem apropriada, numa caixa de mensagem. A nota final deve ser apresentada com apenas
1 casa decimal.
Construa um interface adequado.
10
Estruturas de Repetição Condicionais Simples I
4
4.1
Estruturas de Repetição Condicionais Simples I
Elabore um programa em Visual Basic que gere números aleatórios inteiros no intervalo [1, 60] ,
até sair o número 11. O programa deve listar todos os números gerados (11 incluído) e apresentar
o total dos mesmos. Para o interface sugere-se o seguinte modelo:
4.2
Altere o programa anterior para que apenas não inclua o número 11 na listagem e na contagem
dos números gerados.
4.3
Elabore um programa em Visual Basic que gere números aleatórios inteiros, no intervalo [1, 200] ,
até sairem 10 números pares. O programa deve listar apenas os números pares gerados e
apresentar o maior deles. Para o interface sugere-se o seguinte modelo:
4.4
Elabore um programa em Visual Basic que permita determinar a média de um conjunto de
números inteiros. A introdução dos números deve ser realizada através de uma inputBox e só
deve terminar quando o utilizador fizer clique no seu botão Cancel. Pretende-se que o programa
apresente a média dos números (com 1 casa decimal) e a totalidade dos mesmos, conforme é
ilustrado no interface seguinte sugerido:
11
Estruturas de Repetição Condicionais Simples I
Exercícios Suplementares
4.5
Considera-se que um número é primo quando apenas é divisível por si e pela unidade. Elabore
um programa em Visual Basic que determine se um dado número inteiro positivo é ou não primo.
Para o interface sugere-se o seguinte modelo:
4.6
Elabore um programa em Visual Basic que lhe permita jogar à adivinha com o computador. O
utilizador tem que adivinhar o número que o computador gera aleatoriamente entre 0 e 100 ou 0 e
1000 de acordo com a opção que escolheu. Para cada palpite errado deve-lhe ser dada uma
indicação do género “Palpite Baixo” ou “Palpite Alto”. No final pretende-se que o programa
apresente o número de tentativas efectuadas até ter acertado no número mistério. Considere o
seguinte exemplo:
12
Estruturas de Repetição Condicionais Simples II
5
5.1
Estruturas de Repetição Condicionais Simples II
Elabore um programa em Visual Basic, que leia o nome e a nota de um conjunto de alunos que
realizaram o exame de Introdução à Computação. A introdução dos dados deve ser feita utilizando
uma InputBox e termina quando nesta for premido o botão Cancel ou se digite o nome ZZZ.
Pretende-se que o programa apresente a média das notas e o nome e nota do melhor aluno.
Considere o seguinte exemplo:
Exercícios Suplementares
5.2
Elabore um programa em Visual Basic que calcule a soma dos pesos de um grupo de pessoas
que pretende entrar num elevador. A introdução dos pesos deverá ser feita utilizando uma
InputBox e termina quando nesta for premido o botão Cancel ou se digite o valor 0 ou se tenha
atingido um máximo de 6 pessoas ou a soma dos pesos exceda os 450 Kgs. Nesta última situação
deverá surgir uma caixa de diálogo com a mensagem “Peso Excessivo”.
Como modelo sugere-se o seguinte interface:
13
Estruturas de Repetição Condicionais Simples II
5.3
Elabore um programa em Visual Basic que permita determinar o máximo divisor comum entre dois
números inteiros positivos. Como modelo sugere-se o seguinte interface:
5.4
Elabore um programa em Visual Basic, para mostrar o número mínimo de termos necessários
para que o valor da série S =
1
3
+
3
3
+
5
3
+
7
3
+ ... , seja superior a 10, 20 ou 30, consoante a escolha
feita pelo utilizador. Para além desse valor, o programa também tem de apresentar o valor da
série com esse número mínimo de termos.
Para o interface, sugere-se o seguinte modelo:
14
Estruturas de Repetição Contadas Simples
6
6.1
Estruturas de Repetição Contadas Simples
Elabore um programa em Visual Basic para gerar 10 números aleatórios inteiros pertencentes ao
intervalo [1, 50] . Para o interface sugere-se o seguinte modelo:
6.2
Elabore um programa em Visual Basic para listar todos os números inteiros entre -100 e 50. Para
o interface sugere-se o seguinte modelo:
6.3
Modifique o programa anterior para listar todos os números pares entre 1 e N, inclusive, sendo N
definido pelo utilizador. Para o interface sugere-se o seguinte modelo:
15
Estruturas de Repetição Contadas Simples
6.4
Elabore um programa em Visual Basic que permita listar todos os números impares de um dado
intervalo (limites incluídos), ou então, apenas os ímpares que sejam divisíveis por três, ou por
cinco, ou simultaneamente por três e cinco, de acordo com as opções do utilizador. Considere o
seguinte exemplo:
Exercícios Suplementares
6.5
Elabore um programa em Visual Basic para listagem dos números inteiros pares ou impares,
pertencentes a um dado intervalo (limites incluídos). Este intervalo deve ser definido pelo
utilizador, e no caso de serem fornecidos limites inválidos (negativos e limite inferior > superior),
deve aparecer uma caixa de mensagem apropriada para avisar o utilizador. Para o interface,
sugere-se o seguinte modelo:
16
Estruturas de Repetição Contadas Simples
6.6
Elabore um programa em Visual Basic para calcular o valor da seguinte série:
1+
1
2
+
1
3
+ ... +
1
N
O número de termos da série (N) deve ser fornecido pelo utilizador. Para valores de N inválidos, o
programa deve apresentar ao utilizador uma caixa de mensagem apropriada. O valor da série
deve apresentar, no máximo, quatro casas decimais. Para o interface, sugere-se o seguinte
modelo:
6.7
Modifique o programa anterior, para calcular o valor da seguinte série:
1+
1
3
+
1
5
+
1
7
+ ...
O número de termos da série também deve ser fornecido pelo utilizador.
6.8
Elabore um programa em Visual Basic que efectue a geração aleatória de uma chave do totoloto.
Deve possibilitar-se ao utilizador que especifique o total de números (6-12) que a chave deverá
conter. Como modelo, considere o seguinte interface:
17
Estruturas de Repetição Contadas Simples
6.9
Elabore um programa em Visual Basic para detectar erros de escrita de números de bilhetes de
identidade (BI).
O procedimento de verificação é o seguinte: primeiro, acrescentamos ao número do BI o
algarismo que se encontra, no cartão, imediatamente à sua direita; depois, determinamos a soma
ponderada dos 8 algarismos desse número, e por fim, verificamos se essa soma é múltipla de 11.
Se for, o número do BI está correcto, senão, está errado.
A soma ponderada dum número é a soma dos produtos dos seus algarismos pelas respectivas
posições que ocupam no mesmo. Por exemplo, se tivermos um número a8a7a6a5a4a3a2a1, em que
ai representa um algarismo, a soma ponderada é dada pela seguinte expressão:
a8 x 8 + a 7 x 7+
a6 x 6 + a5 x 5 + a4 x 4 + a3 x 3 + a2 x 2 + a1 x 1.
O programa deve permitir ao utilizador introduzir o número do BI e o algarismo que se encontra
imediatamente à sua direita, separadamente, e mostrar o resultado da verificação. Registe-se que
o número do BI tem 7 algarismos.
Construa um interface adequado.
18
Estruturas de Repetição Embutidas I
7
Estruturas de Repetição Embutidas I
7.1 Elabore um programa em Visual Basic que permita tabelar a seguinte função:
f(x, y) =
2
2
x +y
2
y
As duas alternativas a considerar para os valores de x e y são:
•
x = 2,3,4,5 e y = 2,4,6,8,10,12,14,16,18,20
•
x = 2,3,4,5 e y = 2,5,8,11,14,17,20
Para o interface sugere-se o seguinte modelo:
7.2
Elabore um programa em Visual Basic que permita listar todos os números primos que se
encontram num dado intervalo definido pelo utilizador. Como modelo a considerar sugere-se o
seguinte interface:
Exercícios Suplementares
7.3
Uma instituição bancária possibilita aos seus clientes a constituição de um depósito a prazo que
vence juros diários em função do montante depositado, de acordo com o especificado na seguinte
tabela:
Montante Depositado
valor < 500 contos
500 ≤ valor < 2000 contos
2000 ≤ valor < 5000 contos
valor ≥ 5000 contos
Taxa de Juro (diária)
0.003%
0.007%
0.01%
0.02%
(continua)
19
Estruturas de Repetição Embutidas I
Elabore um programa em Visual Basic que simule a evolução de um dado depósito ao longo de N
anos. Pretende-se que este apresente o saldo da conta no final de cada ano. Para o interface
sugere-se o seguinte modelo:
Nota: Considere que um ano é sempre composto por 365 dias.
7.4
Na qualificação para uma determinada prova automobilística, participam um conjunto de
concorrentes (numerados de 1 a n). Cada concorrente dá 4 voltas ao circuito, com o objectivo de
fazer o melhor tempo possível em qualquer uma das voltas. A grelha de partida será
posteriormente elaborada, tendo por base o menor tempo realizado por cada concorrente.
Crie um programa em Visual Basic, cujo interface é sugerido na figura apresentada na página
seguinte, que leia para cada concorrente, o tempo efectuado (em segundos) em cada uma das
quatro voltas. O número total de concorrentes é definido pelo utilizador na caixa de texto entitulada
N. de Concorrentes.
No final, pretende-se que seja apresentado o pior tempo, assim como, o número do
concorrente que o realizou, uma vez que este será desclassificado.
20
Estruturas de Repetição Embutidas I
7.5
A administração de um casino pretende simular informaticamente o funcionamento de uma das
suas slot machines, para efeitos estatísticos. Fisicamente, esta é constituida por 3 roldanas, cada
uma com números entre 0 e 9. Um jogador só ganha, quando os números nas 3 roldanas forem
iguais.
Elabore um programa em Visual Basic que permita simular um certo número de jogos, a definir
pelo utilizador. Cada jogo é constituído por tantas tentativas quanto as necessárias para se obter 3
números iguais. Cada tentativa consiste na geração de 3 números aleatórios.
Pretende-se que o programa apresente:
•
Para cada jogo, o número de tentativas que o programa teve que efectuar até acertar,
representando os resultados numa caixa de listagem;
•
A média das tentativas por jogo até conseguir um acerto, obtida ao longo dos vários jogos.
Para interface, sugere-se o seguinte modelo:
21
Estruturas de Repetição Embutidas II
8
Estruturas de Repetição Embutidas II
8.1 A Federação de Golfe decidiu adquirir um programa em Visual Basic de modo a facilitar-lhes o
processamento dos dados durante as diversas provas realizadas e que lhes permita:
•
Ler o número N de buracos da prova;
•
Ler o nome dos participantes, assim como, o total de tacadas que cada atleta necessitou
para cada um dos N buracos existentes na prova. A introdução de dados deve terminar
quando for digitado FFF;
•
Mostrar o nome do vencedor da prova (atleta que obteve o menor número de tacadas no
total dos N buracos).
Para o interface sugere-se o seguinte modelo:
8.2 Num supermercado de uma cooperativa, com 125 sócios, está a decorrer uma promoção cujo
objectivo é premiar os sócios que ultrapassem os 75,00€ em compras através da oferta de um vale
de desconto. Elabore um programa em Visual Basic que:
•
Leia o número de cada sócio, assim como, o preço de cada produto que o mesmo adquiriu.
A introdução de dados relativos aos bens adquiridos deve terminar quando for introduzido o
preço 0 (zero) num artigo, e o atendimento dos sócios terminará quando for introduzido o
número 999;
•
Apresente o total de vales oferecidos;
•
Mostre o número de clientes atendidos.
Para o interface sugere-se o seguinte modelo:
22
Estruturas de Repetição Embutidas II
Exercício Suplementar
8.3 A Federação de Atletismo pretende comprar uma aplicação que lhes permita gerir mais facilmente
os resultados obtidos pelos atletas participantes na prova do Pentatlo (composta por 5 provas
distintas). Elabore um programa em Visual Basic que:
•
Leia o nome e o número de pontos conseguidos por cada atleta em cada uma das 5 provas.
A introdução de dados deve terminar quando for digitado o nome FFF.
•
Apresente o nome do vencedor e o total de pontos obtidos (maior número de pontos).
23
Variáveis Indexadas
9
Variáveis Indexadas
9.1 Elabore um programa em Visual Basic para determinar o comprimento médio de N tubos. O
programa deve ler e guardar num vector os comprimentos de cada um dos tubos, sendo N definido
pelo utilizador entre [1;20]. A introdução de dados deve ser feita através de uma inputBox.
Para o interface sugere-se o seguinte modelo:
9.2 Elabore um programa em Visual Basic que leia N números inteiros e mostre numa caixa de listagem
apenas os valores repetidos. Os números devem ser guardados num vector. O N deve ser definido
pelo utilizador entre [1;30]. A introdução de dados deve ser feita através de uma inputBox.
Para o interface sugere-se o seguinte modelo:
9.3 Elabore um programa em Visual Basic que leia N números inteiros (N<10), através de uma
inputBox, e os guarde num vector denominado K. O programa deve apresentar numa caixa de
listagem todos os números introduzidos ordenados por ordem crescente.
Para o interface sugere-se o seguinte modelo:
24
Variáveis Indexadas
9.4 Elabore um programa em Visual Basic que leia uma matriz quadrada 3x3 composta por números
inteiros. A introdução de dados deve ser feita através de uma inputbox e a matriz deve ser
apresentada numa caixa de listagem. O programa deve ainda:
•
Determinar a média dos elementos que compõem a diagonal principal.
•
Apresentar o total de elementos da matriz que são superiores à média calculada.
Para o interface sugere-se o seguinte modelo:
Exercícios Suplementares
9.5 Elabore um programa em Visual Basic que leia 6 números inteiros e mostre o maior deles em valor
absoluto. A introdução de dados deve ser feita através de uma inputbox e os números devem ser
guardados num vector.
9.6 A turma A constituída por 10 alunos avaliados a 3 disciplinas, é uma das turmas da disciplina de
Informática. Sabendo que a cada aluno está associada uma nota, pretende-se um programa em
Visual Basic que:
a) Calcule a nota mais elevada assim como a disciplina correspondente;
b) Calcule o total de alunos com nota negativa a todas as disciplinas.
A introdução de dados deve ser feita através de uma inputbox e todos os valores devem ser
guardados numa matriz denominada Notas.
9.7 A Câmara do Porto, para uma melhor gestão de tráfego, resolveu efectuar um estudo sobre o
número de acidentes verificados na cidade. Escolhendo 6 das ruas mais movimentadas e sabendo
que é possível o trânsito nos 2 sentidos e que todas as ruas se cruzam, pretende-se um programa
em Visual Basic que:
•
crie uma tabela com o números de acidentes ocorridos nas próprias ruas (1, 2, ..., 6) e nos
30 cruzamentos. A introdução de dados deverá ser feita no formato: Rua origem, Rua
destino e Número de acidentes.
•
Apresente o número de acidentes ocorridos em cada rua.
•
Calcule o número de acidentes que ocorreram no cruzamento que liga duas das ruas,
escolhidas pelo utilizador, indicando o sentido de deslocação dos veículos.
25
Fluxogramas
10 Anexos
10.1 Símbolos para os Fluxogramas
Símbolo
Função
Início / Fim
Entrada
Processamento
Decisão
Saída
Conector
Fluxo de dados
26
Regras para o Pseudo-Código
10.2 Regras para o Pseudo-Código
Tipo
Operação
Operadores
←
+, -, *, /, resto, divInt
↑
Casos
Atribuição
Exponenciação
>, <, ≥, ≤, =, ≠
Entrada
Saída
Selecção de
Alternativas
Estruturas
de
Repetição
(Ciclos)
Funções
e , ou , não
&
ler ...
escrever ...
mostrar ...
se condição então
acção
fim se
se condição então
acção
senão
acção
fim se
repetir para c ← início até fim [passo n]
acção
fim repetir
repetir enquanto condição
acção
fim repetir
repetir
acção
enquanto condição
repetir até condição
acção
fim repetir
repetir
acção
até condição
Seno(x)
Cos(x)
Tg(x)
Comp(st)
Aleatorio()
Val(st)
Int(x)
Outros
Variáveis
RaízQ(x)
Início
Fim
Verdadeiro
Falso
[ …….. ]
Observações
Concatenação de strings
... valor
... valor
... “mensagem”
... imagem
Passo é opcional no caso
de ser +1
Devolve o nº de carateres
de st
Gera número aleatório
real no intervalo [0 ; 1[
Converte em numérico os
carateres de st reconhecidos como tal.
Devolve a parte inteira de
X
Raíz quadrada
Início do algoritmo
fim do algoritmo
Comentário
Nomes
devem
significativos
ser
27
Regras para o Pseudo-Código
28
Visual Basic – O Fundamental da Matéria Abordada
10.3 VisualBasic - O Fundamental da Matéria Abordada
OBJECTOS
•
Forms
•
Controls
Label
TextBox
Command Button
PictureBox
Frame
Option Button
Check Button
ListBox
•
Propriedades Utilizadas
Name
Alignment
Border Style
Caption
Column
Font
Height
List
MaxLength
Text
Value
Visible
Width
EVENTOS
•
Click
(continua)
29
Visual Basic – O Fundamental da Matéria Abordada
CÓDIGO
•
Tipo de Dados
• Simples:
Integer
• Indexados:
•
•
Long
Single
Double
Array( nº_de_elementos )
Boolean
String
Array( nº_de_linhas , nº_de_colunas )
Variáveis
• Simples:
Dim
Nome
• Indexadas:
Dim
Nome_do_vector( nº_elementos) As . .
Dim
Nome_da_matriz( nº_de_linhas, nº_de_colunas) As . .
As
. .
Contantes
Const Nome As . .
•
•
Funções Standard
Abs( )
Cos( )
Exp( )
Fix( )
Format( )
InputBox( )
Int( )
Len( )
Log( )
MsgBox( )
Randomize
Rnd( )
Sin( )
Sqr( )
Str( )
Tan( )
Val( )
Operadores
§ Atribuição:
=
§ Comparação:
>
<
>=
<=
<>
§ Aritméticos:
+
-
*
/
\
§ Concatenação:
&
Or
Not
§ Lógicos:
•
And
^
Mod
Estruturas de Decisão ( simples / embutidas )
If . . Then
If . . Then . . Else
If . . Then . . ElseIf
End If
•
Estrututras Repetitivas - Ciclos ( simples / embutidas )
§ Contados:
For . . Next
§ Condicionais (Ciclos controlados por Contador ou por Sentinela):
Do While . . Loop
ou
Do . . Loop While
Do Until . . Loop
ou
Do . . Loop Until
30
Visual Basic – Mensagens de Erro mais Comuns
10.4 VisualBasic - Mensagens de Erro mais Comuns
Mensagens de Erro
Block If without End If
Significado
Block If sem End If
Motivo
• Intrução If que não se encontra
convenientemente terminada com End
If. Não foi respeitada a sintaxe:
If condição(ões) Then
Bloco de Instruções
[ Else
Bloco de Instruções ]
End If
Division by zero
Divisão por zero
• Divisão real ou inteira pelo valor zero.
Do without Loop
Do sem Loop
• Instrução Do {While | Until} não se
encontra convenientemente terminada
com Loop. Não foi respeitada a
sintaxe:
Do { While | Until } Condição(ões)
Bloco de Instruções
Loop
Else without If
Else sem If
• Cláusula Else sem correspondência
com qualquer If anterior.
End If without block If
End If sem block If
• End If que não pertence a qualquer
bloco If anterior.
For without Next
For sem Next
• Instrução For que não se encontra
convenientemente terminada com Next.
Não foi respeitada a sintaxe:
For var = inicio To fim [Step Inc]
Bloco de Instruções
Next [var]
Invalid Next control
variable reference
Referência inválida à
variável de controlo do
Next
• A variável de controlo de ciclo não é a
mesma nas instruções For e Next.
Loop without Do
Loop sem Do
• Instrução Loop sem o correspondente
Do.
Normalmente este erro é causado por
não se ter terminado uma outra
estrutura de controlo (condicional ou
repetitiva) imbricada naquela.
Next without For
Next sem For
• Instrução Next sem o correspondente
For.
Normalmente este erro é causado por
não se ter terminado uma outra
estrutura de controlo (condicional ou
repetitiva) imbricada naquela.
(continua)
31
Visual Basic – Mensagens de Erro mais Comuns
Object required
Objecto obrigatório
• Utilização duma propriedade num
controlo cujo nome é desconhecido
pelo Visual Basic.
Overflow
Valor não suportado
• Valor que não é susceptível de ser
suportado pelo tipo de dados da
variável. Este género de erro ocorre
quando por exemplo, se tenta
armazenar um valor superior a 32767
numa variável do tipo Integer.
Type mismatch
Tipos incompatíveis
• Operação que envolve tipos de dados
Incompatíveis. Este género de erro
ocorre por exemplo, quando se tenta
efectuar uma operação aritmética com
uma variável não numérica.
Variable not defined
Variável não definida
• A variável em questão não foi
devidamente declarada através de uma
instrução Dim.
• Não existe qualquer controlo com nome
igual aquele que foi introduzido na
janela de código.
32
Download

Introdução à Computação Visual Basic