Académique Documents
Professionnel Documents
Culture Documents
Sebenta Prtica
ndice
1 2 3 4 5 6 7 8 9
ENTRADAS E SADAS -------------------------------------------------------------------------------- 1 ESTRUTURAS DE SELECO SIMPLES------------------------------------------------------ 5 ESTRUTURAS DE SELECO EMBUTIDAS ------------------------------------------------- 8 ESTRUTURAS DE REPETIO CONDICIONAIS SIMPLES I --------------------------11 ESTRUTURAS DE REPETIO CONDICIONAIS SIMPLES II -------------------------13 ESTRUTURAS DE REPETIO CONTADAS SIMPLES ---------------------------------15 ESTRUTURAS DE REPETIO EMBUTIDAS I ---------------------------------------------19 ESTRUTURAS DE REPETIO EMBUTIDAS II --------------------------------------------22 VARIVEIS INDEXADAS --------------------------------------------------------------------------224
10 ANEXOS ---------------------------------------------------------------------------------------------------26
10.1 Smbolos para os Fluxogramas -------------------------------------------------------------- 26 10.2 Regras para o Pseudo-Cdigo---------------------------------------------------------------- 27 10.3 VisualBasic - O Fundamental da Matria Abordada ------------------------------------ 29 10.4 VisualBasic - Mensagens de Erro mais Comuns ---------------------------------------- 31
Visual Basic
Entradas e Sadas
1
1.1
Entradas e Sadas
Elabore um programa em Visual Basic que permita escrever ou apagar a mensagem, Este o meu primeiro programa em VB, consoante o boto de comando que seja premido. Como modelo sugere-se o seguinte interface:
Propriedade Caption Name Caption Font Alignment BorderStyle Caption Font Name Caption Name Caption Name Caption Name
Valor Mensagem FrmMensagem Clique sobre cada um dos botes Ms Sans Serif; Bold; 8 Center 1-Fixed Single (vazio, isto , eliminar Label2) Times New Roman; Bold Italic; 10 LblMsg Escrever CmdEscrever Apagar CmdApagar Sair CmdSair
1.2
Elabore um programa em Visual Basic que permita efectuar a converso de graus centgrados (C) para graus fahrenheit (F), sabendo que a frmula de converso a seguinte: F = 1.8*C + 32. Sugere-se o seguinte modelo para o interface:
(continua) 1
Visual Basic
Entradas e Sadas
Propriedade Caption Name Caption Font Caption Font Alignment BorderStyle Caption Font Name Alignment Font Name Text Caption Name Font Caption Name Font
Valor Converses Centigrados Fahrenheit FrmConverte Centgrados Ms Sans Serif; Bold; 10 Fahrenheit Ms Sans Serif; Bold; 10 1 Right Justify 1- Fixed Single (vazio) Ms Sans Serif; Regular; 10 LblFahr 1 Right Justify Ms Sans Serif; Regular; 10 TxtCentigr (vazio) Converter CmdConverte Times New Roman; Bold Italic; 12 Sair CmdSair Times New Roman; Bold Italic; 12
Text1
Command1
Command2
1.3
Tendo como modelo o interface apresentado em baixo, elabore um programa em Visual Basic que permita visualizar o resultado de qualquer uma das seguintes operaes aritmticas entre dois nmeros: adio, subtraco, multiplicao, diviso real, exponenciao, diviso inteira e resto da diviso inteira. O programa deve ainda apresentar o sinal aritmtico entre os dois operandos, reflectindo a operao realizada.
(continua) 2
Visual Basic
Entradas e Sadas
Propriedade Caption Name Alignment Name Text Alignment Name Text Alignment Caption Name Caption Alignment BorderStyle Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name
Valor Operaes Aritmticas FrmOperAritm Rigth Justify TxtNumero1 (vazio) Rigth Justify TxtNumero2 (vazio) Center (varia com a operao seleccionada) LblOperacao = Rigth Justify Fixed Single (vazio) LblResultado + CmdAdicionar CmdSubtrair X CmdMultiplicar / CmdDividir ^ CmdPotencia \ CmdDivInteira Mod CmdResto &Sair CmdSair
Text2
Label1
Label2 Label3
Exerccio Suplementar
1.4 Elabore um programa em Visual Basic para calcular a rea de um polgono regular (A) (ver figura da pgina seguinte), que dada pela seguinte frmula: A= n o 360 2 R sen( ), 2 n
sendo n o nmero de lados e R o raio circunscrito. Sugere-se o interface apresentado na pgina seguinte, em que a figura do polgono construda utilizando a ferramenta line.
(continua) 3
Visual Basic
Entradas e Sadas
Propriedade Caption Name Caption Caption Caption Name Text Name Text BorderStyle Caption Name Caption Name Caption Name
Valor rea de Polgonos Regulares FrmAreaPoligReg Nmero de lados = Raio circunscrito (R) = rea = TxtNumLados (vazio) TxtRaioCircun (vazio) 1 - Fixed Single (vazio) LblArea &Calcular CmdCalc &Sair CmdSair
Command1 Command2
Visual Basic
2
2.1
OU
Depois do utilizador accionar o boto Iniciar, o programa deve gerar aleatoriamente um nmero inteiro pertencente ao intervalo [0, 9] . Se o nmero gerado for 7, deve ser apresentada uma imagem com moedas, seno, 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 verso do jogo anterior, em que so gerados aleatoriamente 3 nmeros 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 pgina seguinte.
(continua) 5
Visual Basic
2.3
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:
Visual Basic
2.4
O programa das Operaes Aritmticas (exerccio 1.3) gera um erro de execuo nas operaes de diviso, quando introduzido um divisor igual a zero. Trata-se de uma situao indesejvel, e como tal, altere o programa para que em tais circunstncias, em vez de gerar o erro de execuo, o programa mostre ao utilizador uma mensagem apropriada numa caixa de mensagem.
Exerccio Suplementar
2.5
Elabore um programa em Visual Basic para auxiliar a contabilidade duma empresa a calcular o vencimento dum empregado. O clculo baseado no nmero de horas que trabalhou e no seu salrio por hora. Para alm das 40 horas de trabalho, a hora acrescida de um suplemento de 25%. Para o interface, sugere-se o seguinte modelo:
Visual Basic
3
3.1
Exerccios Suplementares
3.2 Elabore um programa em Visual Basic que determine se um dado ano ou no bissexto. No caso de no o ser, pretende-se que indique o(s) ano(s) bissexto(s) mais prximo(s). Como modelo, apresenta-se o seguinte interface:
Visual Basic
3.3
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 construdos usando a ferramenta line.
3.4
Elabore um programa em Visual Basic para determinar as solues de uma equao do 2 grau (ax2+bx+c=0), reais ou complexas. As solues devem apresentar, no mximo, 3 casas decimais. Para o interface, sugere -se o seguinte modelo:
Visual Basic
3.5
Elabore um programa em Visual Basic para auxiliar um aluno a determinar a nota final a uma disciplina cujo mtodo de avaliao o seguinte: a nota final tem duas componentes, terica e prtica, e os seus pesos so respectivamente de 60 e 40 %. A nota terica dada pela mdia aritmtica das duas melhores classificaes obtidas em 3 testes, e a nota prtica a classificao de um trabalho laboratorial. O programa tem de permitir ao utilizador introduzir as 4 notas obtidas, 3 tericas e 1 prtica, e tem de validar todas as notas introduzidas, aceitando apenas valores numricos entre 0 e 20, inclusive. No caso de serem introduzidas notas invlidas, 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
4.1
4.2
Altere o programa anterior para que apenas no inclua o nmero 11 na listagem e na contagem dos nmeros gerados.
4.3
Elabore um programa em Visual Basic que gere nmeros aleatrios inteiros, no intervalo [1, 200] , at sairem 10 nmeros pares. O programa deve listar apenas os nmeros 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 mdia de um conjunto de nmeros inteiros. A introduo dos nmeros deve ser realizada atravs de uma inputBox e s deve terminar quando o utilizador fizer clique no seu boto Cancel. Pretende-se que o programa apresente a mdia dos nmeros (com 1 casa decimal) e a totalidade dos mesmos, conforme ilustrado no interface seguinte sugerido:
11
Exerccios Suplementares
4.5 Considera-se que um nmero primo quando apenas divisvel por si e pela unidade. Elabore um programa em Visual Basic que determine se um dado nmero inteiro positivo ou no 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 nmero que o computador gera aleatoriamente entre 0 e 100 ou 0 e 1000 de acordo com a opo que escolheu. Para cada palpite errado deve-lhe ser dada uma indicao do gnero Palpite Baixo ou Palpite Alto. No final pretende-se que o programa apresente o nmero de tentativas efectuadas at ter acertado no nmero mistrio. Considere o seguinte exemplo:
12
5
5.1
Exerccios 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 introduo dos pesos dever ser feita utilizando uma InputBox e termina quando nesta for premido o boto Cancel ou se digite o valor 0 ou se tenha atingido um mximo de 6 pessoas ou a soma dos pesos exceda os 450 Kgs. Nesta ltima situao dever surgir uma caixa de dilogo com a mensagem Peso Excessivo. Como modelo sugere-se o seguinte interface:
13
5.3
Elabore um programa em Visual Basic que permita determinar o mximo divisor comum entre dois nmeros inteiros positivos. Como modelo sugere-se o seguinte interface:
5.4
Elabore um programa em Visual Basic, para mostrar o nmero mnimo de termos necessrios para que o valor da srie S = 1 3 + 3 3 + 5 3 + 7 3 + ... , seja superior a 10, 20 ou 30, consoante a escolha
feita pelo utilizador. Para alm desse valor, o programa tambm tem de apresentar o valor da srie com esse nmero mnimo de termos. Para o interface, sugere-se o seguinte modelo:
14
6.1
Elabore um programa em Visual Basic para gerar 10 nmeros aleatrios 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 nmeros inteiros entre -100 e 50. Para o interface sugere-se o seguinte modelo:
6.3
Modifique o programa anterior para listar todos os nmeros pares entre 1 e N, inclusive, sendo N definido pelo utilizador. Para o interface sugere-se o seguinte modelo:
15
6.4
Elabore um programa em Visual Basic que permita listar todos os nmeros impares de um dado intervalo (limites includos), ou ento, apenas os mpares que sejam divisveis por trs, ou por cinco, ou simultaneamente por trs e cinco, de acordo com as opes do utilizador. Considere o seguinte exemplo:
Exerccios Suplementares
6.5 Elabore um programa em Visual Basic para listagem dos nmeros inteiros pares ou impares, pertencentes a um dado intervalo (limites includos). Este intervalo deve ser definido pelo utilizador, e no caso de serem fornecidos limites invlidos (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
6.6
Elabore um programa em Visual Basic para calcular o valor da seguinte srie: 1+ 1 2 + 1 3 + ... + 1 N
O nmero de termos da srie (N) deve ser fornecido pelo utilizador. Para valores de N invlidos, o programa deve apresentar ao utilizador uma caixa de mensagem apropriada. O valor da srie deve apresentar, no mximo, quatro casas decimais. Para o interface, sugere-se o seguinte modelo:
6.7
6.8
Elabore um programa em Visual Basic que efectue a gerao aleatria de uma chave do totoloto. Deve possibilitar-se ao utilizador que especifique o total de nmeros (6-12) que a chave dever conter. Como modelo, considere o seguinte interface:
17
6.9
Elabore um programa em Visual Basic para detectar erros de escrita de nmeros de bilhetes de identidade (BI). O procedimento de verificao o seguinte: primeiro, acrescentamos ao nmero do BI o algarismo que se encontra, no carto, imediatamente sua direita; depois, determinamos a soma ponderada dos 8 algarismos desse nmero, e por fim, verificamos se essa soma mltipla de 11. Se for, o nmero do BI est correcto, seno, est errado. A soma ponderada dum nmero a soma dos produtos dos seus algarismos pelas respectivas posies que ocupam no mesmo. Por exemplo, se tivermos um nmero a8a7a6a5a4a3a2a1, em que ai representa um algarismo, a soma ponderada dada pela seguinte expresso: 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 nmero do BI e o algarismo que se encontra imediatamente sua direita, separadamente, e mostrar o resultado da verificao. Registe-se que o nmero do BI tem 7 algarismos. Construa um interface adequado. a8 x 8 + a 7 x 7+
18
7.1 Elabore um programa em Visual Basic que permita tabelar a seguinte funo: f(x, y) = 2 2 x +y 2 y
As duas alternativas a considerar para os valores de x e y so: 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
7.2
Elabore um programa em Visual Basic que permita listar todos os nmeros primos que se encontram num dado intervalo definido pelo utilizador. Como modelo a considerar sugere-se o seguinte interface:
Exerccios Suplementares
7.3 Uma instituio bancria possibilita aos seus clientes a constituio de um depsito a prazo que vence juros dirios em funo 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 (diria) 0.003% 0.007% 0.01% 0.02% (continua) 19
Elabore um programa em Visual Basic que simule a evoluo de um dado depsito 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:
7.4
Na qualificao para uma determinada prova automobilstica, 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 possvel 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 pgina seguinte, que leia para cada concorrente, o tempo efectuado (em segundos) em cada uma das quatro voltas. O nmero 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 nmero do concorrente que o realizou, uma vez que este ser desclassificado.
20
7.5
A administrao de um casino pretende simular informaticamente o funcionamento de uma das suas slot machines, para efeitos estatsticos. Fisicamente, esta constituida por 3 roldanas, cada uma com nmeros entre 0 e 9. Um jogador s ganha, quando os nmeros nas 3 roldanas forem iguais. Elabore um programa em Visual Basic que permita simular um certo nmero de jogos, a definir pelo utilizador. Cada jogo constitudo por tantas tentativas quanto as necessrias para se obter 3 nmeros iguais. Cada tentativa consiste na gerao de 3 nmeros aleatrios. Pretende-se que o programa apresente: Para cada jogo, o nmero de tentativas que o programa teve que efectuar at acertar, representando os resultados numa caixa de listagem; A mdia das tentativas por jogo at conseguir um acerto, obtida ao longo dos vrios jogos.
21
8.1 A Federao 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 nmero 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 introduo de dados deve terminar quando for digitado FFF; Mostrar o nome do vencedor da prova (atleta que obteve o menor nmero de tacadas no total dos N buracos). Para o interface sugere-se o seguinte modelo:
8.2 Num supermercado de uma cooperativa, com 125 scios, est a decorrer uma promoo cujo objectivo premiar os scios que ultrapassem os 75,00 em compras atravs da oferta de um vale de desconto. Elabore um programa em Visual Basic que: Leia o nmero de cada scio, assim como, o preo de cada produto que o mesmo adquiriu. A introduo de dados relativos aos bens adquiridos deve terminar quando for introduzido o preo 0 (zero) num artigo, e o atendimento dos scios terminar quando for introduzido o nmero 999; Apresente o total de vales oferecidos; Mostre o nmero de clientes atendidos.
22
Exerccio Suplementar
8.3 A Federao de Atletismo pretende comprar uma aplicao 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 nmero de pontos conseguidos por cada atleta em cada uma das 5 provas. A introduo de dados deve terminar quando for digitado o nome FFF. Apresente o nome do vencedor e o total de pontos obtidos (maior nmero de pontos).
23
Variveis Indexadas
Variveis Indexadas
9.1 Elabore um programa em Visual Basic para determinar o comprimento mdio 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 introduo de dados deve ser feita atravs de uma inputBox. Para o interface sugere-se o seguinte modelo:
9.2 Elabore um programa em Visual Basic que leia N nmeros inteiros e mostre numa caixa de listagem apenas os valores repetidos. Os nmeros devem ser guardados num vector. O N deve ser definido pelo utilizador entre [1;30]. A introduo de dados deve ser feita atravs de uma inputBox. Para o interface sugere-se o seguinte modelo:
9.3 Elabore um programa em Visual Basic que leia N nmeros inteiros (N<10), atravs de uma inputBox, e os guarde num vector denominado K. O programa deve apresentar numa caixa de listagem todos os nmeros introduzidos ordenados por ordem crescente. Para o interface sugere-se o seguinte modelo:
24
Variveis Indexadas
9.4 Elabore um programa em Visual Basic que leia uma matriz quadrada 3x3 composta por nmeros inteiros. A introduo de dados deve ser feita atravs de uma inputbox e a matriz deve ser apresentada numa caixa de listagem. O programa deve ainda: Determinar a mdia dos elementos que compem a diagonal principal. Apresentar o total de elementos da matriz que so superiores mdia calculada.
Exerccios Suplementares
9.5 Elabore um programa em Visual Basic que leia 6 nmeros inteiros e mostre o maior deles em valor absoluto. A introduo de dados deve ser feita atravs de uma inputbox e os nmeros devem ser guardados num vector. 9.6 A turma A constituda por 10 alunos avaliados a 3 disciplinas, uma das turmas da disciplina de Informtica. 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 introduo de dados deve ser feita atravs de uma inputbox e todos os valores devem ser guardados numa matriz denominada Notas. 9.7 A Cmara do Porto, para uma melhor gesto de trfego, resolveu efectuar um estudo sobre o nmero de acidentes verificados na cidade. Escolhendo 6 das ruas mais movimentadas e sabendo que possvel o trnsito nos 2 sentidos e que todas as ruas se cruzam, pretende-se um programa em Visual Basic que: crie uma tabela com o nmeros de acidentes ocorridos nas prprias ruas (1, 2, ..., 6) e nos 30 cruzamentos. A introduo de dados dever ser feita no formato: Rua origem, Rua destino e Nmero de acidentes. Apresente o nmero de acidentes ocorridos em cada rua. Calcule o nmero de acidentes que ocorreram no cruzamento que liga duas das ruas, escolhidas pelo utilizador, indicando o sentido de deslocao dos veculos.
25
Fluxogramas
10 Anexos
Smbolo
Funo
Incio / Fim
Entrada
Processamento
Deciso
Sada
Conector
Fluxo de dados
26
>, <, , , =,
e , ou , no & ler ... escrever ...
Concatenao de strings ... valor ... valor ... mensagem ... imagem
Entrada Sada
Seleco de Alternativas
Funes
mostrar ... se condio ento aco fim se se condio ento aco seno aco fim se repetir para c incio at fim [passo n] aco fim repetir repetir enquanto condio aco fim repetir repetir aco enquanto condio repetir at condio aco fim repetir repetir aco at condio Seno(x) Cos(x) Tg(x) Comp(st) Aleatorio() Val(st)
Outros
Devolve o n de carateres de st Gera nmero aleatrio real no intervalo [0 ; 1[ Converte em numrico os carateres de st reconhecidos como tal. Devolve a parte inteira de X Raz quadrada Incio do algoritmo fim do algoritmo
Variveis
ser
27
28
Propriedades Utilizadas
Name Alignment Border Style Caption Column Font Height List MaxLength Text Value Visible Width
EVENTOS
Click
(continua) 29
CDIGO
Tipo de Dados
Simples: Indexados: Integer Long Single Double Boolean String
Array( n_de_elementos )
Variveis
Simples: Indexadas: Dim Dim Dim Nome As . .
Contantes
Const Nome As . .
Funes Standard
Abs( ) Int( ) Sin( ) Cos( ) Len( ) Sqr( ) Exp( ) Log( ) Str( ) Fix( ) MsgBox( ) Tan( ) Format( ) Randomize Val( ) InputBox( ) Rnd( )
30
Loop without Do
(continua) 31
Object required
Objecto obrigatrio
Utilizao duma propriedade num controlo cujo nome desconhecido pelo Visual Basic. Valor que no susceptvel de ser suportado pelo tipo de dados da varivel. Este gnero de erro ocorre quando por exemplo, se tenta armazenar um valor superior a 32767 numa varivel do tipo Integer. Operao que envolve tipos de dados Incompatveis. Este gnero de erro ocorre por exemplo, quando se tenta efectuar uma operao aritmtica com uma varivel no numrica. A varivel em questo no foi devidamente declarada atravs de uma instruo Dim. No existe qualquer controlo com nome igual aquele que foi introduzido na janela de cdigo.
Overflow
Valor no suportado
Type mismatch
Tipos incompatveis
Varivel no definida
32