Instituto Superior de Línguas e Administração GAIA Concurso: Oscares da Academia

Documentos relacionados
Teste Avaliação Global (TAG) Resolução

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

DESENVOLVIMENTO DE SOFTWARE

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Informática II Ficha 4_resolução

Algoritmia e Programação

Laboratório de Programação I

Laboratório de Programação I

Introdução à Computação

Inf. II Revisão s/ Matrizes

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

CÓDIGO FONTE CALCULADOR DE 04 OPERAÇÕES

Exercícios Data Modeling

Algoritmia e Programação

Variáveis indexadas Vectores e Matrizes. APROG (Civil) Aula 12

Fundamentos Programação

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Resolução de exercícios da ficha de trabalho nº. 8 de VBA

using System; using System.Collections.Generic; using System.Linq; using System.Text;

QUESTÕES COM GABARITO:

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Informática II Cap. 4-4

Notas de Aula de Algoritmos e Programação de Computadores

Princípios Gerais de Informática PARTE PRÁTICA COM CONSULTA

Para instalar o Visual Basic 2010 Express.

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

TÉCNICO DE INFORMÁTICA - SISTEMAS

Estruturas de Decisão Embutidas. APROG (Civil) Aula 7

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Informática II Ficha 5_resolução

Páginas seleccionadas

Agrupamento de Escolas de Forte da Casa

LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))

Introdução à Computação

Informática II Cap. 4-2

Manipulação de Texto. APROG (Civil) Aula 16

Aulas Anteriores. Detalhes da linguagem de programação

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Estruturas de Repetição Embutidas. APROG (Civil) Aula 11

Integração por Web Services

p A modularização consiste num método utilizado para facilitar a construção de grandes programas;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Aula 5 Instruções Simples Cleverton Hentz

Torneio Estudantil de Computação Multi-Linguagem de Aveiro. Escola Superior de Tecnologia e Gestão de Águeda Universidade de Aveiro TECLA 2009

Variáveis Tipos de Dados

Introdução à Computação

Softwise Consultoria e Informática Desenvolvendo soluções

Exercícios de VBA. Paulo Melo Joana Dias Óscar Lourenço 17 de Maio de 2006

Informática II Cap. 4-3

5. NOÇÕES DE PROGRAMAÇÃO

Modularização. Prof. Antonio Almeida de Barros Junior

Código do formulário frmadicionarfactura

Variáveis Tipos de Dados. APROG (Civil) Aula 2

Análise e Desenvolvimento de Algoritmos (2006/2007)

Informática II Ficha 6_Resolução

Este Exame é individual, sem consulta e com a duração de 90 minutos. Responda às questões no próprio teste, no espaço próprio.

Visual Basic. VI - Arrays. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

Linguagens de Programação

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Grupo I. 1 - Range("cell")

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox

Análise Semântica e Tratamento de Erros Dependentes de Contexto

Macros e Programação VBA

LISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:

Visual Basic. V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Visual Basic. IV - Decisões. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#:

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO

INFORMAÇÕES SUPLEMENTARES PROCEDIMENTO PARA REVISÃO MANUAL

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Exercícios Extra de Computação. Secção de Matemática Departamento de Engenharia Civil FEUP

Tutorial de Extensibilidade

DESENVOLVIMENTO DE SOFTWARE

V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador. 2) Elementos de uma estrutura de repetição;

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Collections. Objecto Collection. Propriedades e métodos

CFAC: Visual Basic: IV - Decisões

Computação I. Prof. Miguel Elias Mitre Campista.

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Aula 6 Instruções de Seleção Cleverton Hentz

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

In I t n rto r d o u d ç u ão ã o à à Com o pu p t u a t ç a ão ã Linguagem Fortran! " 1

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Capítulo V : Um Tipo Estruturado de Dados: o array

Busca. Prof. Alneu de Andrade Lopes. ICMC - USP - São Carlos

/media/juan/c c/ l5q14.f90 Página 1 de 7 ter 11 jun :23:20-03 module implicit none character dimension allocatable real

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

Possível resolução (Arquitectura VBA Exercícios por resolver)

Algoritmos. Estrutura de Repetição. para - passo. for. Grupos de Slides No 7. Prof. SIMÃO

Principais Funções Pré-definidas do C# (Elas auxiliam a sua tarefa de programar)

1) Mostrando uma mensagem. 10 exemplos de macros essenciais no Excel. Este conteúdo faz parte da série: Excel VBA Ver 6 posts dessa série

SEBENTA INTRODUÇÃO Á ALGORITMIA

Visual Basic for Applications

Estruturas de Decisão. APROG (Civil) Aula 6

Instituto Superior de Engenharia do Porto Programação (SEE)

Departamento de Matemática Universidade de Coimbra

INSTITUTO SUPERIOR DE ENGENHARIA DO PORTO

Transcrição:

Instituto Superior de Línguas e Administração GAIA Concurso: Oscares da Academia Nome: Nuno José Rodrigues (252) Licenciatura Sistemas de Informação e Multimédia Estrutura de Dados e Algoritmia Fevereiro 2008

Índice Índice... 3 Enunciado da proposta... 4 Fluxograma... 5 Pseudocódigo... 6 Codificação VB.NET... 7 Prova e teste... 11

Enunciado da proposta Oscares: Suponha que lhe foi solicitado apoio na organização do concurso dos Óscares, na categoria de cinema para a selecção do melhor filme. Assim, pretende-se que desenvolva um algoritmo para registar o nome de 10 filmes e as respectivas pontuações. As pontuações são atribuídas numa escala de 0 a 20 pontos. Estes dados devem ser armazenados em dois vectores, um para o nome dos filmes e outro para as pontuações (sendo a correspondência da nome do filme - pontuação efectuada pelo índice do vector). Ordene os vectores por ordem crescente da pontuação obtida. Apresente os nomes dos filmes e respectivas pontuações, colocando em destaque (num pódio, (opção 6)) os três filmes com maior pontuação e os restantes filmes alinhados por baixo (apresente o nome do filme e pontuação). Menu: 1. Introdução dados 2. Alterar dados 3. Eliminar dados 4. Consultar 5. Pesquisar (ver dados de um filme) 6. Pódio 7. Sair Deve recorrer à modularização do programa a desenvolver, isto é, procedimentos e funções.

Fluxograma Fluxograma no tamanho original está num ficheiro á parte chamado: - TrabalhoPrático-Fluxograma.jpg

Pseudocódigo Não coloquei o Algoritmo todo em Pseudocódigo. Como combinado aqui fica o pseudocódigo para um dos procedimentos do Algoritmo. {Procura Filme} algoritmo Pesquisa Filme var i :inteiro; nome filme :string; Inicio Escrever ( Lista de Filmes ); Vecnome(1) xxxxxxxx Vecnome(2) xxxxxxxx Vecnome(3) xxxxxxxx Vecnome(4) xxxxxxxx Vecnome(5) xxxxxxxx Vecnome(6) xxxxxxxx Vecnome(7) xxxxxxxx Vecnome(8) xxxxxxxx Vecnome(9) xxxxxxxx Vecnome(10) xxxxxxxx Esvcrever ( Filme que deseja Consultar: ) 1. Ler (nomefilme); 2. Para i 1 to 10 3. Se vecnome(i) nomefilme Então 4. Escrever ( Nome do filme: & (i)) 5. Escrever ( Nota do Filme: & (i)) Fim Se Menu Fim

Codificação VB.NET Module Module1 Sub Main() Dim vecnome(10) As String Dim vecnotas(10) As Integer ' Criar procedimento para criar menu da aplicação Sub menu(byref vecnotas() As Integer, ByVal vecnome() As String) Dim opcao As Integer Console.Clear() Console.WriteLine("OSCARES DA ACADEMIA") Console.WriteLine("####### Written By Nuno Rodrigues, 2008 #######") Console.WriteLine(" =========") Console.WriteLine(" M E N U ") Console.WriteLine(" =========") Console.WriteLine("1. Introdução de Dados") Console.WriteLine("2. Alterar Dados") Console.WriteLine("3. Eliminar dados") Console.WriteLine("4. Consultar") Console.WriteLine("5. Pesquisar") Console.WriteLine("6. Pódio") Console.WriteLine("7. Sair") Console.WriteLine("8. Extra - Gerar dados Dados Automaticamente") Console.Write("A sua Opção: ") opcao = Console.ReadLine Select Case opcao Case 1 IntroduzDados(vecNotas, vecnome) Case 2 AlterarDados(vecNotas, vecnome) Case 3 EliminarDados(vecNotas, vecnome) Case 4 Consultar(vecNotas, vecnome) Case 5 Pesquisar(vecNotas, vecnome) Case 6 Podio(vecNotas, vecnome) Case 7 End Case 8 Extra(vecNotas, vecnome) Case Else Console.WriteLine("Opção invalida") menu(vecnotas, vecnome) End Select Sub IntroduzDados(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim i, v As Integer Dim nota, notafinal As Integer For v = 1 To 10 Console.Write("Indique o nome do filme: ") vecnome(v) = Console.ReadLine Console.WriteLine("Filme: " & vecnome(v))

notafinal = 0 For i = 1 To 10 Do Console.Write("Nota " & i & " (entre 0-20): ") nota = Console.ReadLine Loop Until nota <= 20 notafinal = notafinal + nota vecnotas(v) = notafinal Sub AlterarDados(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim i, v As Integer Dim nota, notafinal As Integer For v = 1 To 10 Console.Write("Indique o nome do filme: ") vecnome(v) = Console.ReadLine Console.WriteLine("Filme: " & vecnome(v)) notafinal = 0 For i = 1 To 10 Do Console.Write("Nota " & i & " (entre 0-20): ") nota = Console.ReadLine Loop Until nota <= 20 notafinal = notafinal + nota vecnotas(v) = notafinal Sub EliminarDados(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim apagarfilme As String Dim i, v, nota, notafinal As Integer Console.WriteLine("=========Lista de Filmes===========") Console.WriteLine("Nome: " & vecnome(1)) Console.WriteLine("Nome: " & vecnome(2)) Console.WriteLine("Nome: " & vecnome(3)) Console.WriteLine("Nome: " & vecnome(4)) Console.WriteLine("Nome: " & vecnome(5)) Console.WriteLine("Nome: " & vecnome(6)) Console.WriteLine("Nome: " & vecnome(7)) Console.WriteLine("Nome: " & vecnome(8)) Console.WriteLine("Nome: " & vecnome(9)) Console.WriteLine("Nome: " & vecnome(10)) Console.Write("Indique o nome do Filme que deseja Eliminar: ") apagarfilme = Console.ReadLine For v = 1 To 10 If vecnome(v) = apagarfilme Then Console.Write("Indique o nome do novo filme: ") vecnome(v) = Console.ReadLine Exit For End If Console.WriteLine("====Dê notas para o novo filme====") notafinal = 0

For i = 1 To 10 Do Console.Write("Nota " & i & " (entre 0-20): ") nota = Console.ReadLine Loop Until nota <= 20 notafinal = notafinal + nota vecnotas(v) = notafinal Console.ReadLine() Sub Consultar(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim i As Integer Console.WriteLine("As notas finais obtidas pelos filmes são:") For i = 1 To 10 Console.WriteLine(" Nome do filme: " & vecnome(i)) Console.WriteLine(" Nota do filme: " & vecnotas(i)) Console.ReadLine() Sub Pesquisar(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim i As Integer Dim nomefilme As String Console.WriteLine("=========Lista de Filmes===========") Console.WriteLine("Nome: " & vecnome(1)) Console.WriteLine("Nome: " & vecnome(2)) Console.WriteLine("Nome: " & vecnome(3)) Console.WriteLine("Nome: " & vecnome(4)) Console.WriteLine("Nome: " & vecnome(5)) Console.WriteLine("Nome: " & vecnome(6)) Console.WriteLine("Nome: " & vecnome(7)) Console.WriteLine("Nome: " & vecnome(8)) Console.WriteLine("Nome: " & vecnome(9)) Console.WriteLine("Nome: " & vecnome(10)) Console.Write("Indique o nome do Filme que deseja consultar: ") nomefilme = Console.ReadLine For i = 1 To 10 If vecnome(i) = nomefilme Then Console.WriteLine("Nome do Filme: " & vecnome(i)) Console.WriteLine("Nota do Filme: " & vecnotas(i)) End If Console.ReadLine() Sub Podio(ByRef vecnotas() As Integer, ByRef vecnome() As String) Dim i, j, min, temp As Integer For i = 1 To 10-1 min = i For j = i + 1 To 10 If vecnotas(j) > vecnotas(min) Then min = j End If If min <> i Then temp = vecnotas(i)

vecnotas(i) = vecnotas(min) vecnotas(min) = temp End If For i = 1 To 1 Console.WriteLine("1º Lugar: " & vecnome(1)) Console.WriteLine("Nota: " & vecnotas(1)) Console.WriteLine("2º Lugar: " & vecnome(2)) Console.WriteLine("Nota: " & vecnotas(2)) Console.WriteLine("3º Lugar: " & vecnome(3)) Console.WriteLine("Nota: " & vecnotas(3)) Console.ReadLine() Sub extra(byref vecnotas() As Integer, ByRef vecnome() As String) Dim i As Integer Dim Gera As Single Console.WriteLine("A Gerar dados automaticamente...") vecnome(1) = "Rocky" vecnome(2) = "Rambo" vecnome(3) = "Day after tomorrow" vecnome(4) = "Predator" vecnome(5) = "Lolita" vecnome(6) = "Pátio das cantigas" vecnome(7) = "America Proibida" vecnome(8) = "Alien" vecnome(9) = "Ilusionista" vecnome(10) = "Iron Man" Randomize() For i = 1 To 10 Gera = Int(Rnd() * 19) + 1 vecnotas(i) = Gera Console.WriteLine("A Dados foram gerados, pode consultar!") Console.ReadLine() End Module

Prova e teste Prova e teste para o Procedimento Pesquisar: # [#] Nomefilme i vecnome vecnota 1 1 0 1 0 0 2 2 1 2 1 1 3 3 2 3 2 2 4 4 3 4 3 3 5 5 4 5 4 4