Algoritmos com Seleção

Slides:



Advertisements
Apresentações semelhantes
Visualização do OpenGL
Advertisements

Java: Comandos Básicos
MC542 Organização de Computadores Teoria e Prática
EXPLORANDO O LIVRO INTEGRADO POSITIVO
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
UNIDADE III – Após o estudo de Álgebra você poderá resolver esse exercício tranquilamente.
Procedimentos e Funções
Html5- Desenvolvendo Aplicações. Html5- Introdução a SQL Métodos OpenDatabase (utilizado para criar ou abrir uma Base de Dados); Transaction (permite.
FORTRAN 90 Denise Yumi Takamura.
Vetores Variável Composta Homogênea Unidimensional
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Introdução ao Fortran 4/abril/2006. Pseudocódigo Compreensão do problema Elaboração da lógica de resolução Tradução da lógica para pseudocódigo.
Estrutura de repetição 18/set. Uso Foi construído o problema de ler notas de um aluno e fazer média. E para 5 alunos ????
Estruturas em algoritmos. Prioridade de Operações.
Adotando XP na Empresa Um Non-Case Study Guilherme Fernandes.
Multiplicação em binário
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Teste Estrutural de Software
Análise e Solução de Problemas
Compressão por Hardware
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Framework Master-Worker.
Revisão para a Trimestral 1
Geração de Código Otimizações independentes de máquina.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Banco de Dados I Profa. Jiani Cardoso 2/2005
Funções definidas pelo usuário STL oferece a possibilidade de que o usuário escreva seus próprios algoritmos para processar os elementos de coleções #include.
3° Aula – Práticas Profissionais
ITA - Instituto Tecnológico de Aeronáutica Aula #1.1 – Tutorial de Web Services utilizando o NetBeans 5.5 Disciplina: CE 262 – Ontologias e Web Semântica.
1 2º Semestre de 2006 CSC V-CTR USC CTR - Glêvson USC POT - Caio USC COMB - Débora Prof. Cunha Prof. Vieira Dias Prof. Márcio Programa de Pós-Graduação.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
1.3 – Interpretadores – Compiladores versus Interpretadores
Capítulo VI – Variáveis Indexadas
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo III Diagramas de Transições
29/3/2014Prof. José Arnaldo B. Montevechi1 Pesquisa Operacional Universidade Federal de Itajubá Para fazer para a aula 05.
Rasterização de linhas e polígonos
Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos.
Curso Técnico em Informática La Salle - Canoas
MAC499 - Trabalho de Formatura Supervisionado Sistema de Reconhecimento de Escrita On-Line.
Trabalho de Formatura Supervisionado – MAC499 Aluno: Danilo Toshiaki Sato Orientador: Marco Dimas Gubitoso Estágio: Mai/2002 – Dez/2003.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 1a série de slides versão 19/03/2012.
Proposta de critérios e procedimentos para a concessão da GDAR Matuzalém Batista Pereira Elisa Vieira Leonel Fábio Santos Lobão Ricardo de Holanda Melo.
Introdução à Codificação de Canal Evelio M. G. Fernández
TE 043 CIRCUITOS DE RÁDIO-FREQÜÊNCIA
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Principais Modelos Discretos Josemar Rodrigues AULA:
Escoamento em Condutos Livres AULA 3
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
8. Uma Função de duas Variáveis Aleatórias
1 Aula 11 Linguagens Declarativas eMultiparadigma Universidade do Vale do Rio dos Sinos
Microsoft SQL Server 2008 SPARSE. Ambiente de teste Uma tabela é criada com 3 campos: CREATE TABLE [dbo].[Cliente_com_campos_basicos] ( [IdCliente] int.
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads.
Introdução à Linguagem VHDL
HandyBoard & Interactive C. HandyBoard Especificações –Clock de 2 MHz –32 Kb de RAM –7 entradas para sensores analógicos –9 entradas para sensores digitais.
EXPRESSÕES ALGÉBRICAS
Salvando Históricos de Busca e Criando Alertas no ISI Web of Knowledge.
1.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Carga Horária Datas Programa Unidade 1 Unidade 2 Bibliograf ias Datas Avaliaçõe s Objetivos Prof. Msc. Raul Benites.
Microprocessadores 8051 – Aula 3 Interrupção
Para se deslocar para a escola a Ana anda mais 500 metros que o Pedro. EXPRESSÕES COM VARIÁVEIS Elaborado por Carina Jegundo, Catarina Pratas, Susana Costa2006/2007.
Engenharia de Software Professor Sandro Carvalho
Prof. Me. Eng. Gianpaulo A. Medeiros
Laboratório de Engenharia de Software I
Java interface Projeto – Pacote - Class.
Transcrição da apresentação:

Algoritmos com Seleção Comando CASE Aula 4 - V. 2 - Cida Livi

Sejam os seguintes códigos e expressões para cálculo da variável Resultado Aula 4 - V. 2 - Cida Livi

{uso de seleção simples} Código = 1 Resultado <- Resultado + 5 N Código = 3 ou 5 S Resultado <- Resultado -2 N Código = 6 S Resultado <- 2 * (Resultado + 1) N Código > 7 e < 11 S Resultado <- 0 N Aula 4 - V. 2 - Cida Livi

{uso de seleção simples} Código = 1 S N Resultado <- Resultado + 5 Código = 3 ou Código = 5 S N Resultado <- Resultado -2 (…) Código > 7 e < 11 N S Resultado <- 0 Aula 4 - V. 2 - Cida Livi

{uso de seleção simples} if (Codigo = 1) then Resultado := Resultado + 5; if (Codigo = 3) or (Codigo = 5) Resultado := Resultado - 2; if (Codigo = 6) Resultado := 2 * (Resultado + 1); if (Codigo > 7) and (Codigo < 11) Resultado := 0; Aula 4 - V. 2 - Cida Livi

{uso de seleção composta} N N N Código = 1 Código =3 ou 5 Código = 6 N Código >= 8 e <= 10 S S S S Resultado <- Resultado + 5 Resultado <- Resultado +-2 Resultado <- 2* (Resultado + 1) Resultado <- Aula 4 - V. 2 - Cida Livi

{uso de seleção composta} if (Codigo = 1) then Resultado := Resultado + 5 else if (Codigo = 3) or (Codigo = 5) Resultado := Resultado - 2 if Codigo = 6 Resultado := 2 * (Resultado + 1) if (Codigo >= 8) and (Codigo <= 10) Resultado := 0; Aula 4 - V. 2 - Cida Livi

{uso de seleção múltipla} case Codigo of 1 : Resultado := Resultado + 5; 3 , 5 : Resultado := Resultado - 2; 6 : Resultado := 2 * (Resultado + 1); 8..10 : Resultado := 0; else if (Codigo <> 2) and (Codigo <> 4) and (Codigo <> 7) then writeln(´Codigo invalido´) end; Aula 4 - V. 2 - Cida Livi

CASE: funciona como uma condição composta 1 Case Código <> 2, 4 ou 7 3 ou 5 Resultado <- + 5 6 8 a 10 Resultado <- - 2 ´Código inválido!´ Resultado <- 2* (Resultado + 1) Resultado <- Aula 4 - V. 2 - Cida Livi

CASE: funciona como uma condição composta Código = 1 Código >= 8 e <= 10 Código<> 2 4 ou 7 ... S S S Resultado <- Resultado + 5 Resultado <- Código Inválido Aula 4 - V. 2 - Cida Livi

Aula 4 - V. 2 - Cida Livi

Aula 4 - V. 2 - Cida Livi

Aula 4 - V. 2 - Cida Livi

Classificado : boolean; Case Classificado of Var Classificado : boolean; Case Classificado of true : writeln (´Candidato ´, Inscricao , classificado!´); false: writeln (´Candidato ´, Inscricao, ´desclassificado!´) end; Aula 4 - V. 2 - Cida Livi

Comando CASE Estrutura de controle condicional. Permite que grupos particulares de instruções sejam escolhidos entre grupos possíveis. Escolha é baseada no valor correspondente de uma expressão. Aula 4 - V. 2 - Cida Livi

Expressão De qualquer tipo ordinal Tipo ordinal: Tipo onde os elementos aparecem em uma determinada ordem e são distintos e descontínuos. Aula 4 - V. 2 - Cida Livi

Tipos ordinais simples padrão char ; boolean; byte; shortint ; integer Aula 4 - V. 2 - Cida Livi

Instrução Simples Composta ou Composta (duas ou mais instruções simples delimitadas por begin end) Aula 4 - V. 2 - Cida Livi

Funcionamento do CASE Aula 4 - V. 2 - Cida Livi

As seqüências de constantes não precisam aparecer numa ordem específica, mas devem ser únicas (ou seja, mesmo valor não pode aparecer implícita ou explicitamente em mais de uma seqüência!) Ex.: case ValorInteiro of 9: writeln(´Valor 9´); 4..8: writeln(´Entre 4 e 8´´); { 7: writeln(´valor 7´); ERRADO! O valor 7 está implícito no rótulo anterior.} end; Aula 4 - V. 2 - Cida Livi

Valores nas listas de constantes devem pertencer ao mesmo tipo ordinal do valor da expressão. case ValorChar of ´A´: writeln(´A maiusculo´); a : writeln(´Vai dar erro´); { a deveria ser uma constante caractere, logo deveria estar entre apostrofos} 1: writeln(´Tambem vai dar erro!´); {idem acima, o um tambem deveria estar entre apostofros} end; Aula 4 - V. 2 - Cida Livi

Uma instrução será executada sempre que uma das constantes de uma seqüência coincidir com o valor corrente da expressão. Ex.: SoNumeros := 5; case SoNumeros of 1..3: (…); 7: (…); 5: (…); {a instrução do rotulo acima sera executada, já que a constante 5 vai coincidir com o valor corrente da expressao (SoNumeros) que eh 5 no momento} 4:(…); end; Aula 4 - V. 2 - Cida Livi

Se valor corrente da expressão não coincidir com qualquer valor de uma seqüência, nada será executado (o Turbo Pascal possibilita o tratamento de valores não previstos através do Else). Ex.: Valor := 10 Case Valor of 1..9: Somatorio := Somatorio + Valor; {observar que antes de ELSE de CASE pode ponto e vírgula} else writeln(´Valor não valido!´) end; Aula 4 - V. 2 - Cida Livi

* Comando simples ou composto Sintaxe of case expressão : constante Comando* . . constante , ; else Comando* end Aula 4 - V. 2 - Cida Livi * Comando simples ou composto

Vantagens e Desvantagens do CASE Desvantagem Serve como alternativa apenas para estruturas aninhadas IF-THEN-ELSE que testam igualdades valendo-se de variáveis ordinais. Não pode ser usada com strings ou reais, por exemplo!!! (IF-THEN-ELSE é mais abrangente!!) Vantagem O código produzido é mais claro. A lógica fica mais evidente. Aula 4 - V. 2 - Cida Livi