Técnicas de Programação

Documentos relacionados
Técnicas de Programação

Programação Estruturada

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Programação

Estruturas Condicionais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo

Técnicas de Programação

Aula 7: Estrutura de Decisão

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Treinamento Olimpíada Brasileira de Informática

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi

Estruturas Condicionais

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

Estruturas de seleção. Prof.: Jesus

PROGRAMAÇÃO A. Estrutura Condicional

Estruturas de Decisão

7 Comandos e Estruturas de Controle

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Programação científica C++

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Tópicos abordados. Estruturas de Decisão. Simples Composta Encadeada

Lógica de Programação I

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Programação I Estruturas de Decisão

Introdução à Programação

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

ESTRUTURA CONDICIONAL E SELEÇÃO

Algoritmos e Técnicas de

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Linguagem C (estruturas condicionais)

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Introdução à Ciência da Computação

Estruturas de Decisão

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Estruturas de Seleção Parte II Seleção Encadeada

Estruturas de seleção. Prof.: Jesus

ALGORITMOS. Estruturas de Controle de fluxo

Linguagem de Programação. Tutorial 3 Os comandos if, else e else if

Comandos em C (cont.)

Conceitos Básicos. Fundamentos de Programação de Computadores

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Desenvolvimento de Aplicações Desktop

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Estruturas de Seleção Parte I Seleção Simples e Composta

Aula teórica 10 Tema 10. Selecção Instruções de selecção:

Introdução Operadores Relacionais Lógicos Comando If Comando If...else Comando swich()...case...break Operador condicional ternário

Programação em C. Victor Amorim dos Santos

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Aquecimento. program math2 integer:: x,num1 write(*,*)"digite dois números read(*,*) x,num1 write(*,*)"a soma é",x+y end program math2

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Técnicas de Programação

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I. Aula 5

Introdução à Ciência da Computação

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Prof. Jorge Cavalcanti

Estruturas de Repetição

Estrutura de decisão

4. Constantes. Constantes pré-definidas

Unidade 10: Estruturas de Decisão Compostas Prof. Daniel Caetano

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Estruturas de Controle

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

Capítulo 1 Conceitos Básicos

Linguagem C. André Tavares da Silva.

Aula 4 Introdução ao C

Estruturas de Decisão

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Programação Estruturada e Orientada a Objetos

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

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA DIAGNÓSTICO 22/10/2015. Analise o algoritmo a seguir e depois assinale a alternativa correspondente:

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Fundamentos de Programação1

Programação Aplicada à Engenharia

Programação Estruturada

Programação Orientada a Objetos

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Fluxogramas e variáveis

Working 03 : Conceitos Básicos II

Lógica de Programação e Algoritmos

Programação Estruturada Aula VisualG

Seleção Múltipla Laços (while, do-while, for) AULA 05

ECT1203 Linguagem de Programação

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Transcrição:

Técnicas de Programação

Estruturas de Decisão Material Teórico Responsável pelo Conteúdo: Profa. Esp. Margarete Eliane da Silva Almendro Revisão Textual: Prof. Ms. Luciano Vieira Francisco

Estruturas de Decisão Introdução Estrutura Condicional Simples If Tabela Verdade Estrutura If-Else Estrutura If-Else Aninhada Estrutra Switch-Case Desenvolver a visão de algoritmos, bem como da análise de problemas de decisão e da formulação de algoritmos. Traduzir algoritmos em programas, especificamente na linguagem de programação Java. Estimular o pensamento de programação computacional. Caro(a) aluno(a), Nesta Unidade você terá uma visão do que vem a ser algoritmos de programação, assunto que lhe proporcionará uma metodologia de análise de problemas e formulação de algoritmos, utilizando os comandos básicos de atribuição e comparação. Ou seja, ajudando-o a traduzir os algoritmos em programas com uma linguagem de alto nível. Especificamente nesta Unidade, utilizaremos a linguagem Java. 5

Unidade: Estruturas de Decisão Contextualização Reflita sobre a seguinte situação: Você precisa desenvolver um programa que apresente a média da nota de um estudante de determinado centro de ensino. Ao programar, precisará também fazer constar se o aluno está aprovado ou reprovado, conforme a média obtida. Observe que será necessário analisar a média desse estudante para, então, tomar uma decisão. Assim, torna-se importante aprender os recursos de tomadas de decisão, os quais conhecidos como If, Else e Switch. 6

Introdução Em nosso dia a dia frequentemente encontramos situações de decisão. Usar o ônibus, o trem ou o carro particular? Quando tratamos de programação não é diferente, pois também nos deparamos com diversas situações de decisão, tais como mostrar o status final de uma disciplina, especificamente se o aluno foi aprovado ou se deverá fazer o exame? Tais estruturas são utilizadas para controlar o fluxo de execução dos programas, possibilitando que caminhos alternativos sejam seguidos de acordo com o resultado de uma condição ou mais condições. If é o comando que define os caminhos a serem seguidos pelo fluxo do algoritmo, permitindo que apenas valores booleanos sejam testados. Se o valor passado como parâmetro para o comando if for true verdadeiro o bloco if é executado; caso contrário, o bloco else é executado. Dito de outra forma, o parâmetro passado para o comando if deve ser um valor booleano, ou o código não compilará. O comando else e seu bloco são opcionais. Existem três tipos de estruturas de decisão, a saber: If; If-else; Switch-case. Nesta Unidade veremos cada uma, quais suas particularidades tanto em pseudocódigo, quanto em programação Java. 7

Unidade: Estruturas de Decisão Estrutura Condicional Simples If É chamada de estrutura de decisão única, pois seleciona uma única ação ou um grupo de ações. Quando temos tal situação, o caminho apenas será executado caso a decisão seja verdadeira. Como vimos, o comando de decisão somente se utilizará de um valor booleano. Pseudocódigo: se(condição) instruções fim_se se(altura >= 1.80) Exiba( Você é Alto ) fim se Java: if(condição){ instruções; if( altura >= 1.80){ JOptionPane.showMessageDialog(null, Você é Alto ); Onde: Executa as <instruções> se a condição for verdadeira, enquanto condição é uma expressão lógica e, portanto, deve resultar no valor lógico F ou V. Verifiquemos um exemplo completo do comando if simples. Escreva um algoritmo que solicite um número inteiro ao usuário e mostre-o caso seja par. Pseudocódigo: Algoritmo par inteiro num Inicio escreva Entre com um número inteiro leia num se (num%2==0) escreva O número: + num + é par fim-se fim. Nesses algoritmos notamos que existe um caminho que pode ou não ser executado, daí vem a decisão: caso o módulo do número por dois for igual a zero, esse seguirá o caminho de exibição, que é mostrar que o número digitado é par. Vamos agora implementar o nosso algoritmo em linguagem de programação Java. 8

Em Java: Figura 1 Importante! Note que esse exemplo é uma imagem, assim como os demais apresentados nesta Unidade. A ideia é tornar a linguagem mais próxima do programador fazendo um exercício de digitação pertinente ao seu aprendizado. Assim, ao fazê-lo, não esqueça de fechar as chaves e organizar a endentação organização de seu código. Note também que o alinhamento das chaves é fundamental para a leitura de qualquer pessoa que fizer uma possível manutenção. Vamos fazer um teste de mesa do último exemplo? Caso o usuário tenha atribuído o valor 55 para a variável num, qual mensagem deverá aparecer? Como temos a condição: if (num%2==0) Esta sentença será falsa, logo, não deverá aparecer a mensagem O número 55 é par. 9

Unidade: Estruturas de Decisão Tabela Verdade Abaixo temos a tabela verdade, a qual nos ajudará nos testes de mesa: Variável A Variável B Variável E, && V V V V F F F V F F F F Variável A Variável B Operador OU, ll V V V V F V F V V F F F A tabela verdade é uma regra que deve ser aplicada na construção de uma sentença de decisão. Em nosso caso, como o computador só entende 0 e 1 ou verdadeiro e falso, essa se encaixa para as sentenças de condicionais. Uma sentença condicional pode ter várias condições dentro de si, por exemplo: Se((A<B) e(a>c)) Note que esta sentença só poderá gerar uma resposta válida. Assim, testaremos tal sentença com os seguintes valores A = 10. B = 8. C = 12. Qual será o valor booleano que essa mostrará? Vamos por partes: Se ((A<B) e (A>C)) V e F F Testemos com outros valores: A = 10. B = 8. C = 8. 10

Eis o valor booleano que essa mostrará: Se ((A<B) e (A>C)) V e V V Testemos com outros valores: A = 10. B = 12. C = 8. Eis o valor booleano que essa mostrará: Se ((A<B) e (A>C)) F e V F Testemos com outros valores: A = 8. B = 9. C = 10. Eis o valor booleano que essa mostrará: Se ((A<B) e (A>C)) F e F F As demais estruturas deste material teórico deverão obedecer às regras da tabela verdade. Fique atento(a), pois segundo Pressman (2011), em programação e construção de algoritmos estima-se que 90% dos erros ocorrem nas estruturas de decisão. 11

Unidade: Estruturas de Decisão Estrutura If-Else Nesta estrutura temos a possibilidade de dois caminhos distintos, porém, um dos quais é obrigatório. Exemplo: é preciso ir ao trabalho! Deve-se então ir de carro ou de ônibus. Ou seja: você deverá ir ao trabalho de qualquer jeito, seja de carro ou de ônibus. Ainda que a decisão sobre o meio de transporte que será utilizado seja sua, não lhe é dada a possibilidade de não ir ao trabalho! Essa é chamada de estrutura condicional composta, pois seleciona entre duas ações ou diferentes grupos de ações. Pseudocódigo: se(condição) instruções 1 instruções 2 fim_se se(velocidade>60) inicio escreva( Velocidade acima do permitido ) fim inicio escreva( Velocidade controlada ) fim fim se Java: if (condição){ instruções 1 else { instruções 2 if(velocidade>60){ JOptionPane.showMessageDialog(null, Velocidade acima do permitido ); else { JOptionPane.showMessageDialog(null, Velocidade controlada ); Onde: Condição é uma expressão lógica e, portanto, deve resultar no valor lógico F ou V. Executa as <instruções 1> se a condição for verdadeira, se for falsa executa as <instruções 2>. Verifiquemos um exemplo completo do comando if-else: Implementar um programa em Java para determinar se uma pessoa é maior ou menor de idade. 12

Pseudocódigo: Algoritmo idade_maior int Idade Início escreva Digite sua idade leia Idade se (Idade >= 18) escreva Maior de idade escreva Menor de idade fim_se Fim Nesse algoritmo notamos dois caminhos. Lembre-se que nesse caso de se um dos caminhos obrigatoriamente será executado, seja a idade menor, igual ou superior a dezoito anos com a respectiva mensagem exibida. Implementemos agora nosso algoritmo em linguagem de programação Java: Figura 2 Além dos cuidados já mencionados sobre digitação, fechamento das chaves e alinhamento, perceba também que: Importante! A diretiva if deve ter suas expressões sempre contidas entre parênteses; O único argumento válido para if é uma expressão lógica ou variável booleana condição; Os sinais de comparação (==) inseridos em if, se não entendidos como tais, podem ser confundidos com operadores de atribuição (=); As chaves não são obrigatórias para blocos if, uma vez que possuem apenas uma instrução; todavia, tome cuidado com eventuais erros de endentação. 13

Unidade: Estruturas de Decisão Estrutura If-Else Aninhada A estrutura condicional aninhada é similar à estrutura condicional simples. Um comando sempre será executado, independentemente da condição. Dito de outra forma, caso a condição seja verdadeira, seus comandos serão executados, ou ainda os comandos da condição falsa o serão. É empregada quando várias condições devem ser testadas. Dentro de uma estrutura se-então- é perfeitamente possível utilizarmos mais de uma linha de comando, ou até mesmo outras estruturas se-então-. Há situações em que os caminhos para a tomada de uma decisão acabam formando uma espécie de árvore com diversas ramificações, onde cada caminho é um conjunto de ações. Nesses casos podemos recorrer à utilização de várias estruturas se-então-se não embutidas umas dentro das outras, comumente chamadas de ninhos. Pseudocódigo: se(condição1) instruções 1 se(condição2) instruções 2 instruções 3 fim_se fim_se se(velocidade>60) inicio escreva( Velocidade acima do permitido ) fim se(num_placa%2==0) inicio escreva( Placa final Par ) fim inicio escreva( Placa final Impar ) fim fim se fim se Java: if (condição1){ instruções 1 else{ if (condição2){ instruções 2 else{ instruções 3 if(velocidade>60){ JOptionPane.showMessageDialog(null, ( Velocidade acima do permitido ); else{ JOptionPane.showMessageDialog(null, ( Velocidade controlada ); if(num_placa%2==0){ JOptionPane.showMessageDialog(null, ( Placa final Par ); else{ JOptionPane.showMessageDialog(null, ( Placa final Par ); 14

Exemplo: A partir de três valores A, B, C, verifique se esses podem ser os comprimentos dos lados de um triângulo. Se forem, escreva uma mensagem, informando se se trata de um triângulo equilátero, isósceles ou escaleno. Observações: O comprimento de um lado do triângulo é sempre menor do que a soma dos outros dois lados; Equilátero = três lados iguais; Isósceles = dois lados iguais; Escaleno = três lados diferentes entre si. Algoritmo triangulo real a,b,c Inicio escreva Entre com o valor de a: leia a escreva Entre com o valor de b: leia b escreva Entre com o valor de c: leia c se ((a<b+c) e (b<a+c) e (c<a+b)) escreva Estes valores formam um triangulo se ((a=b) e (b=c)) escreva Triangulo Equilátero se ((a=b) ou (b=c) ou (a=c)) escreva Triângulo Isósceles escreva Triangulo Escaleno fim_se fim_se escreva Estes valores não formam um triângulo fim_se fim Em Java: Figura 3 Parte lógica apenas das estruturas de decisão. 15

Unidade: Estruturas de Decisão Importante! Somando-se aos aspectos já frisados, perceba que fechar todas as chaves { apenas implica no acerto da sintaxe da linguagem. Nesse sentido, tome muito cuidado, pois ao fechar um bloco no meio, você comprometerá toda a estrutura de seu algoritmo! A seguir temos outro exemplo do tipo de estrutura aninhada if-else: Caso determinado motorista mantenha seu veículo com velocidade abaixo de 60km/h, verificar-se-á apenas o final da placa para fins de rodízio. Todavia, se esse motorista mantiver velocidade acima de 60km/h, aparecerá uma mensagem de Velocidade acima do permitido e também será verificado o final da placa para fins de rodízio: Pseudocódigo: se(condição1) se(condição2) instrução1 instrução2 instrução4 se(condição3) instrução1 instrução2 fim se Fim_se se(velocidade<60) se(num_placa%2==0) inicio escreva( Placa final Par ) fim inicio escreva( Placa final Impar ) fim inicio escreva( Velocidade acima do permitido ) se(num_placa%2==0) inicio escreva( Placa final Par ) fim inicio escreva( Placa final Impar ) fim fim se fim se fim se Java: if (condição1){ if (condição2){ instruções1 else{ instruções2 else{ instrução 4 if (condição3){ instruções1 else{ instruções2 if(velocidade<60){ if(num_placa%2==0){ JOptionPane.showMessageDialog(null, Placa final Par ); else{ JOptionPane.showMessageDialog(null, Placa final Ímpar ); else{ JOptionPane.showMessageDialog(null, Velocidade acima do permitido ); if(num_placa%2==0){ JOptionPane.showMessageDialog(null, Placa final Par ); else{ JOptionPane.showMessageDialog(null, Placa final Ímpar ); 16

Vamos colocar em prática outra situação: Imagine que necessitamos desenvolver um algoritmo e um programa que atenda às seguintes necessidades: Ao saber das notas de n1 e n2, um aluno precisa verificar se está Aprovado, de Exame, ou ainda Reprovado. Para ser aprovado, esse estudante deve ter a nota média de n1 e n2 igual ou superior a 6.0; para realizar o exame sua média de n1 e n2 deve ser menor que 6.0 e maior ou igual a 3.0; finalmente, a reprovação se dará se a média for abaixo de 3.0. Observação: muito embora a tarefa de construir o algoritmo seja solitária e sem um teste tão eficaz dos possíveis casos, trata-se ainda da melhor forma de corrigir o pensamento lógico do fluxo de desenvolvimento desse algoritmo. Algoritmo media real n1,n2,media Inicio escreva Entre com a primeira nota leia n1 escreva Entre com a segunda nota leia n2 m=(n1+n2)/2 se (m>=6) escreva Aprovado se (m>=3) escreva Exame escreva Reprovado fim_se Fim Em Java: Figura 4. 17

Unidade: Estruturas de Decisão Estrutura Switch-Case É uma forma simples para se definir diversos desvios no código a partir de uma única variável. Utilizada quando há várias seleções com muitas alternativas. Os comandos if-else e switch são de tomada de decisão. Sem dúvida alguma o mais importante é o if, mas o comando switch possui aplicações valiosas. Mais uma vez vale lembrar que devemos usar o comando correto no local certo. Isto assegura um código limpo e de fácil entendimento. O comando switch é próprio para se testar uma variável em relação a diversos valores pré-estabelecidos. Pode-se testar somente o tipo char e todos os tipos inteiros, menos long. Pseudocódigo: escolha(variável) caso <valor1>: instruções 1; caso <valor2>: instruções 2; caso <valor n>: instruções n; padrão: instruções; Fim_escolha escolha(mes) caso<1> escreva( Janeiro ); caso<2> escreva( Fevereiro ); caso<3> escreva( Março ); caso<4> escreva( Abril ); caso<5> escreva( Maio ); caso<6> escreva( Junho ); caso<7> escreva( Julho ); caso<8> escreva( Agosto ); caso<9> escreva( Setembro ); caso<10> escreva( Outubro ); caso<11> escreva( Novembro ); caso<12> escreva( Dezembro ); 18

Em Java: switch (variável){ case <valor1>: instruções 1; case <valor2>: instruções 2; case <valor n>: instruções n; default: instruções; switch(mes){ case 1: JOptionPane.showMessageDialog (null, Janeiro ); case 2: JOptionPane.showMessageDialog (null, Fevereiro ); case 3: JOptionPane.showMessageDialog (null, Março ); case 4: JOptionPane.showMessageDialog (null, Abril ); case 5: JOptionPane.showMessageDialog (null, Maio ); case 6: JOptionPane.showMessageDialog (null, Junho ); case 7: JOptionPane.showMessageDialog (null, Julho ); case 8: JOptionPane.showMessageDialog (null, Agosto ); case 9: JOptionPane.showMessageDialog (null, Setembro ); case 10: JOptionPane.showMessageDialog (null, Outubro ); case 11: JOptionPane.showMessageDialog (null, Novembro ); case 12: JOptionPane.showMessageDialog (null, Dezembro ); default: JOptionPane.showMessageDialog(null, Mês inesistente ); 19

Unidade: Estruturas de Decisão Observação: todas as declarações case devem conter valores de um mesmo tipo. O tipo da variável deve ser compatível com os valores das declarações case. Em cases com valores duplicados será gerado um erro em tempo de compilação. A declaração default é opcional. Break faz um desvio para a linha posterior ao final do bloco. Não é obrigatório não dá erro em tempo de execução, porém, se for deixado de lado todos os outros cases serão testados e as instruções do default serão executadas. Exemplo: Criar um algoritmo que solicite ao usuário o valor total da compra e a quantidade de parcelas a financiar, de modo que o sistema imprima o valor de cada parcela de acordo com os juros do seguinte Quadro: Quadro 2. N.º de parcelas % de juros 2 3% 4 7% 6 9% 8 12% Algoritmo parcela real valor_parcelado, valor_compra, valor_final inteiro qtde_parcelas, juros Início escreva Entre com o valor da compra leia valor_compra escreva Entre com a qtde de parcelas leia qtde_parcelas escolha (qtde_parcelas) Caso 2: juros = 3 pare Caso 4: juros = 7 pare Caso 6: juros = 9 pare Caso 8: juros = 12 pare padrão juros = -1 fim_escolha se(juros == -1) escreva Número de Parcelas incorreto valor_final = valor_compra + valor_compra * juros / 100 valor_parcelado = valor_final/qtde_parcelas Escreva O valor de cada parcela é + valor_parcelado fim_se fim 20

Em Java: Figura 5. 21

Unidade: Estruturas de Decisão Material Complementar Vídeos: Livros: LÓGICA de programação operadores e expressões lógicas. v. 9. 5 abr. 2013. Disponível em: https://www.youtube.com/watch?v=g8haxi-egsc MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Programação com sequência. In: Estudo dirigido de algoritmos. São Paulo: Érica, 2010a.. Programação com decisão. In: Estudo dirigido de algoritmos. São Paulo: Érica, 2010b. WIRTH, N. Algoritmos e estruturas de dados. Rio de Janeiro: Livros Técnicos e Científicos, 1999. 22

Referências ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores: algoritmos, Pascal, C/C e Java. 2. ed. São Paulo: Pearson, 2010. CHRISTOS, P.; UMESH, V. Algoritmos. Porto Alegre, RS: Grupo A, 2011. DEITEL, H. M. Java: como programar. 6. ed. Porto Alegre, RS: Bookman, 2003. EDELWEISS, N.; GALANTE, R. Estruturas de dados. Porto Alegre, RS: Grupo A, 2011. FARRER, H. Algoritmos estruturados. 3. ed. Rio de Janeiro: Livros Técnicos e Científicos, 1999. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: Makron Books do Brasil, 2005. FURGERI, S. Java 6: ensino didático: desenvolvendo e implementando aplicações. 2. ed. São Paulo: Érica, 2009. GOODRICH M. T.; TAMASSIA R. Estruturas de dados e algoritmos em Java. Porto Alegre, RS: Grupo A, 2011. HORSTMANN, C. Conceitos de computação com Java. 5. ed. Porto Alegre, RS: Grupo A, 2009. MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação. 24. ed. São Paulo: Érica, 2010. OLIVEIRA, J. F.; MANZANO, J. A. N. G. Tipos de dados e instruções primitivas. In: Algoritmos lógica para desenvolvimento de programação de computadores. [S.l.: s.n., 20--]. PRESSMAN, R. S. Engenharia de software. [S.l.]: McGraw Hill Brasil, 2011. VILARIM, G. O. Algoritmos: programação para iniciantes. Rio de Janeiro: Ciência Moderna, 2004. 23

Unidade: Estruturas de Decisão Anotações 24