Projeto de Casos de Teste

Tamanho: px
Começar a partir da página:

Download "Projeto de Casos de Teste"

Transcrição

1 Projeto de Casos de Teste Alcemir Santos Slides baseados no Capítulo 4 do livro abaixo: Myers, Glenford J.. The Art of So1ware Tes3ng. Editora Wiley ed.

2 Este trabalho é licensiado sobre a licensa CreaFve Commons AGribuFon- ShareAlike 3.0. Brasil.

3 Tópicos à Estudar Técnicas de Teste Caixa- Branca Teste por Cobertura Lógica Técnicas de Teste Caixa- Preta ParFção em Classes de Equivalência Análise de Valor Limite Grafo de Causa- Efeito Técnica de Teste Baseada em Erro Estratégia de Teste

4 Antes de tudo Teste não pode garanfr a ausência de todos os erros Projeto de Casos de Teste é importante Testar tudo é impossível O teste de quaisquer programa é necessariamente incompleto Devido a restrições de tempo e custos: Qual subconjunto de todos os casos de teste que tem maior probabilidade de detectar a maioria dos erros?

5 Teste por Cobertura Lógica TÉCNICAS DE TESTE CAIXA- BRANCA

6 Cobertura de Instrução Executar cada instrução do programa ao menos uma vez Este é um critério ingênuo O primeiro a vir à mente Este é um critério de teste fraco geralmente inúfl (exemplo no próximo slide) Um critério mais forte é conhecido como cobertura de decisões or cobertura de ramificações

7 Cobertura de Instrução Programa Foo Java setando A=2, B=0, no ponto a, todas instruções serão executadas uma vez Ramificação do Programa Foo Java Mas, talvez a primeira decisão deveria ser OR invés de AND Talvez a segunda decisão deveria ter Condicionado X>0 Estes erros não seriam iden3ficados.

8 Cobertura de Decisão Também conhecida como Cobertura de Ramificação Cada ramificação deve ser executada pelo menos uma vez. Ou seja, escrever casos de teste suficiente para que cada decisão tenha as saídas true e false ao menos uma vez Exemplos de instruções de ramificação são as instruções switch, do- while, e if- else.

9 Coertura de Decisão Cobertura de decisão geralmente safsfaz a cobertura de instrução Entretanto, existem ao menos três exeções: 1. Programas sem decisões 2. Programas ou métodos com múlfplos pontos de entrada Dada instrução pode ser executada somente se o programa começa a executar de um certo ponto 3. Instruções dentro de unidades- ON Atravessar cada ramificação não necessariamente irá executar uma unidade- ON Unidades- ON existem em algumas linguagens para controle de fluxo. Ajudando, por exemplo, no tratamento de exceções.

10 Cobertura de Condição GaranFr (com casos de teste) que cada condição de uma decisão assuma todos os valores possíveis ao menos uma vez O critério de cobertura de condição não safsfaz o critério de cobertura de decisão Ao testar a decisão IF(A && B), o critério de cobertura de condicão levaria a dois casos de teste (A = true, B = false e A = false, B = true) mas isto não causaria a execução da instrução THEN do IF

11 Programa Foo Java Cobertura de Condição Este exemplo mostra quatro condições: A>1, B=0, A=2 e X>1 suficientes casos de teste são necessários para forçar situações onde A>1, A 1, B=0, B 0, A=2, A 2, X>1, e X 1

12 Sobre o Teste por Cobertura Lógica Cobertura de Decisão e Cobertura de Condição são critérios mais fortes que a Cobertura de Instrução Cobertura de Condição é as vezes mais forte que Cobertura de Decisão No entanto, Cobertura de Condição não safsfaz a Cobertura de Decisão DILEMA: Como escolher entre os critérios de cobertura de decisão or condição?

13 Sobre o Teste de Cobertura Lógica Como solução do dilema, recomenda- se o uso de um critério híbrido Cobertura de Decisão/Condição Cobertura de decisão/condição requer casos de teste suficientes para que: Cada condição de uma decisão assuma todas os possíveis valores ao menos uma vez Cada decisão execute todos os ramos possíveis ao menos uma vez Cada ponto de entrada seja invocado ao menos uma vez

14 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com as técnicas de teste caixa- branca: public String foo(int x, int y){ boolean z; if ( x<y ) z = true; else z = false; if ( z && x+y == 10 ) return A ; else return B ; } Procure idenfficar casos em que as técnicas discufdas não foram capazes de idenfficar possíveis erros.

15 ParFção em Classes de Equivalência TÉCNICA DE TESTE CAIXA- PRETA

16 Par3ção em Classes de Equivalência É impossível testar exausfvamente as entradas de um programa O testador é limitado a tentar um conjunto limitado de entradas Qual subconjunto escolher? Como escolher o subconjunto para alcançar alguns objefvos para considerar o programa razoavelmente testado?

17 Par3ção em Classes de Equivalência: Propriedades de escolha de subconjunto O subconjunto deve reduzir significafvamente o número de outros casos de teste Cada caso de teste deve considerar invocar tantas entradas quanto possível para minimizar o total de casos de teste necessário O subconjunto deve cobrir um grande conjunto de outras possibilidades de casos teste O Testador deve tentar parfcionar o domínio da entrada de um programa dentro número finito de classes de equivalência

18 Par3ção em Classes de Equivalência: O primeiro passo 1. IdenFficar as classes de equivalencia: Tomar cada condição de entrada e parfcionar em dois ou mais grupos (válidos ou inválidos) Exemplo: Considere uma entrada de condição que especifique um intervalo de valores. if(count >1 && count <99) - Uma classe de equivalência válida é (1 < count < 99) - Duas classes de equivalência inválidas são (count 1 and count 99).

19 Par3ção em Classes de Equivalência: O Segundo Passo 2. Definir casos de teste: Atribua um único número para cada classe de equivalência. Exemplo: count == 50 [0 < count < 100] Até todas as classes de equivalência válidas tenham sido cobertas por casos de teste Exemplo: count == 50 (valid), Até todas as classes de equivalência inválidas tenham sido cobertas por casos de teste Exemplo: count==- 5 and count==110 (invalid)

20 Par3ção em Classes de Equivalência: Exemplo da mercearia (1/7) Considere um módulo de soyware que deve aceitar o nome do produto e uma lista de diferentes tamanhos que o produto está disponível Especificações Nome do produto: Somente letras, com tamanho do nome entre 2 e 15 caracteres Deve vir primeiro, seguido por vírgula, depois pela lista de tamanhos separados por vírgula Tamanhos do produto: Dentro do intervalo de 1 a 48, números inteiros somente. Em ordem ascendente (menores primeiro). No máximo cinco tamanhos para cada produdo. Espaços (em branco) devem ser ignorados em qualquer lugar da entrada Fonte: hgp://users.csc.calpoly.edu/~jdalbey/205/resources/grocerystore.html

21 Par3ção em Classes de Equivalência: Exemplo da mercearia (2/7) Classes de Equivalência 1. só contem letras 2. contém caracteres diferentes de letras 3. tem menos que 2 caracteres 4. tem entre 2 e 15 caracteres 5. tem mais que 15 caracteres 6. é menor que 1 7. Está entre 1 e É maior que É número inteiro 10. É número decimal 11. É um valor numérico 12. Inclui caracteres não numéricos 13. Lista em ordem ascendente 14. Lista em ordem descendentes 15. Lista de valores vazia 16. Lista contém entre 1 e 5 valores 17. Lista contem mais de cinco valores 18. Nome do produto primeiro 19. Nome do produto depois 20. Separação por uma vírgula 21. Diferente de vírgula 22. Não contém espaços em branco 23. Contém espaços em branco

22 Par3ção em Classes de Equivalência: Exemplo da mercearia (3/7) Classes derivadas para o nome do produto: válidas Só contem letras Tem entre 2 e15 caracteres Vem primeiro na entrada inválidas vem depois na entrada Tem menos de 2 caracteres Tem mais que 15 caracteres Contém caracteres diferentes de letras

23 Par3ção em Classes de Equivalência: Exemplo da mercearia (4/7) Classes derivadas do Tamanho dos Produtos: válidas É número Está entre 1 e 48 É número iteiro Entrada em ordem ascendente inválidas Inclui caracteres não numéricos É decimal É menor que 1 É maior que 48 Entradem em ordem descendente

24 Par3ção em Classes de Equivalência: Exemplo da mercearia (5/7) Classes derivadas da QuanFdade de Valores: válidas Entrada entre um e cinco valores inválidas Entrada vazia Entrada com mais de cinco valores

25 Par3ção em Classes de Equivalência: Exemplo da mercearia (6/7) Classes derivadas das Separação da Entrada: válidas Separado por uma vírgula Contém espaços em branco (???) não contém espaços em branco (???) inválidas Separador diferente de vírgula

26 Par3ção em Classes de Equivalência: Exemplo da mercearia (2/7) Classes de Equivalência 1. só contem letras 2. contém caracteres diferentes de letras 3. tem menos que 2 caracteres 4. tem entre 2 e 15 caracteres 5. tem mais que 15 caracteres 6. é menor que 1 7. Está entre 1 e É maior que É número inteiro 10. É número decimal 11. É um valor numérico 12. Inclui caracteres não numéricos 13. Lista em ordem ascendente 14. Lista em ordem descendentes 15. Lista de valores vazia 16. Lista contém entre 1 e 5 valores 17. Lista contem mais de cinco valores 18. Nome do produto primeiro 19. Nome do produto depois 20. Separação por uma vírgula 21. Diferente de vírgula 22. Não contém espaços em branco 23. Contém espaços em branco

27 Par3ção em Classes de Equivalência: Exemplo da mercearia (7/7) Test data Expected outcome Covered classes xy,1 T 1,4,7,9,11,13,16,18,20,22 AbcDefghijklmno,1,2,3,4,48 T 1,4,7,9,11,13,16,18,20,23 a2x,1 F 2 A,1 F 3 abcdefghijklmnop F 5 Xy,0 F 6 XY,49 F 8 Xy,2.5 F 10 xy,2,1,3,4,5 F 14 Xy F 15 XY,1,2,3,4,5,6 F 17 1,Xy,2,3,4,5 F 19 AB,2#7 F 12

28 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de parfção de classes de equivalência: public String tritype(int a, int b, int c){ if ( a<=0 b<=0 c<=0 ) return não é triângulo ; if ( a<b+c b<a+c c<a+b) return não é triângulo ; if ( a == b ) if ( a == c ) return equilátero ; return isósceles ; else if ( b == c ) return isósceles ; else return escaleno ; } O Programa está correto? Procure idenfficar casos em que a técnica não foi capaz de idenfficar possíveis erros.

29 Exercícios Sugeridos Considere um método para validar uma nova senha. Com entrada o método recebe uma string que contendo a nova senha. A validação acontece com as seguintes regras: O tamanho da senha deve ser entre 6 e 15 caracteres A senha deve conter letras, números e caracteres especiais A senha não deve exisfr em um dicionário IdenFfique casos de teste com a técnica de parfção de classes de equivalência.

30 Análise de Valor Limite TÉCNICA DE TESTE CAIXA- PRETA

31 Análise de Valor Limite Condições limite são aquelas situações incidentes, acima e abaixo das bordas dos valores das classes de equivalência de entrada e saída. A experiência mostra que casos de teste que exploram as condições limite têm maior retorno.

32 Análise de Valor Limite Análise de valor limite parfção de equivalência: 1. Ao contrário de selecionar qualquer elemento na classe de equivalência, análise de valor limite requer a seleção de um ou mais elementos das bordas de cada classe de equivalência como entrada de casos de teste 2. Ao contrário de ter atenção nas condições de entrada, os casos de teste também são derivados considerando as classes de equivalência de saída

33 Análise de Valor Limite: o exemplo do triângulo Considere um método que aceita como entrada três inteiros representando lados de um triângulo (a, b, c). O problema é determinar o Fpo de triângulo (Equilátero, Isósceles, escaleno ou se não é um triângulo). Considere o tamanho do lado entre 1 e 200. Estas condições podem determinar se os lados da entrada formam um triângulo a b c a < b + c. 5. b < a + c. 6. c < a + b. Estas condições podem determinar o Fpo do triângulo. 1. If ( a = b = c ) then Equilátero. 2. If ( a = b a = c b = c ) then Isósceles. 3. If ( a b c ) then Escaleno.

34 Análise de Valor Limite: o exemplo do triângulo Limite inferior Limite superior- 1 Limite inferior+1 Limite superior Média Sobre o limite

35 Análise de Valor Limite: o exemplo do triângulo A B C Output Isósceles Isósceles Equilátero Isósceles Não é triângulo Isósceles Isósceles Equilátero Isósceles Não é triângulo Isósceles Isósceles Equilátero Isósceles Não é triângulo

36 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de análise de valor limite: public Double qualdesconto(int preco, int qtde){ if ( (preco >= 50 && preco < 100 )&& qtde > 5 ) return 0.05; else if ( preco >= 100 && qtde > 3 ) return 0.1; } Procure idenfficar casos em que a técnica não foi capazes de idenfficar possíveis erros.

37 Grafo de Causa- Efeito TÉCNICAS DE TESTE CAIXA- PRETA

38 Grafo de Causa- Efeito Testar combinações de entrada não é trivial O número de combinações é astronômico O testador pode selecionar um subconjunto arbitrário de condições Isto pode levar a um teste não efefvo Grafo de Causa- Efeito auxilia na seleção (de forma sistemáfca), um conjunto de casos de teste de alto redimento Adicionalmente, ele aponta abiguidades e não completudes na especificação

39 Grafo de Causa- Efeito O processo de criação do grafo: 1. Decoponha as unidades a serem testadas (em caso de ter muitas funcionalidades a serem testadas) 2. IdenFfiue causas e efeitos 3. Estabeleça o grafo de relações entre causas e efeitos 4. Anote o grafo com restrições entre causas e/ou efeitos 5. Converta o grafo para uma tabela de decisão 6. As colunas da tabela são converfdas em casos de teste.

40 Grafo de Causa- Efeito Símbolos básicos de um grafo de causa- efeito IDENTIDADE NEGAÇÃO OR AND

41 Grafo de Causa- Efeito: um exemplo Especificação: O Caractere na coluna 1 deve ser um A ou um B. O caractere na coluna 2 deve ser um dígito. Nesta situação a atualizão do arquivo é feita. Se o primeiro caractere esfver incorreto, a mensagem X é exibida. Se o segundo caractere não for um dígito, a mensagem Y é exibida.

42 As causas são: Grafo de Causa- Efeito: um exemplo 1. Caractere na coluna 1 é A 2. Caractere na coluna 1 é B 3. Caractere na coluna 2 é um dígito Os efeitos são: 70. O arquivo é atualizado 71. A mensagem X é exibida 72. A mensagem Y é exibida

43 Grafo de Causa- Efeito: um exemplo Amostra do grafo de causa- efeito É impossível setar 1 para as causas 1 e 2 ao mesmo tempo.

44 Grafo de Causa- Efeito: um exemplo Símbolos de restrições No máximo um elemento pode ser 1 Ao menos um dos elementos Um e somente um deve ser 1 Se um elemento assumir um valor o outro também deve assumir

45 Grafo de Causa- Efeito: um exemplo Amostra do grafo de causa- efeito com a restrição exclusiva

46 Grafo de Causa- Efeito: um exemplo Grafo de Causa- Efeito: Tabela de Decisão Casos de Teste Causas Efeitos = true; 0 = false;

47 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de grafo de causa- efeito: public String tritype(int a, int b, int c){ if ( a<=0 b<=0 c<=0 ) return não é triângulo ; if ( a<b+c b<a+c c<a+b) return não é triângulo ; if ( a == b ) if ( a == c ) return equilátero ; return isósceles ; else if ( b == c ) return isósceles ; else return escaleno ; } O Programa está correto? Procure idenfficar casos em que a técnica não foi capaz de idenfficar possíveis erros.

48 TÉCNICA DE TESTE BASEADA EM ERRO

49 Teste Baseado em Erro Dado um programa, suponha: Prováveis Fpos de erros e depois escreva casos de teste para expor estes erros. Por intuição e experiência! Em outras palavras: Enumere aqueles casos especiais que podem ter sido negligenciados na etapa de projeto do programa

50 Teste Baseado em Erro: um exemplo Ao testar um método de busca binária, o testador pode tentar as seguintes situações: 1. Existe apenas uma entrada na tabela pesquisada 2. O tamano da tabela é uma potência de dois (exemplo: 16) 3. O tamanho da tabela é um abaixo ou um acima de uma potência de dois (exemplo: 15 ou 17)

51 ESTRATÉGIA DE TESTE

52 A Estratégia As metodologias de projeto de casos de teste discufdas podem ser combinadas de forma a construir uma estratégia razoável: 1. Se a especificação contém combinações das condições de entrada, comece por grafo de causa- efeito 2. Em qualquer evento, uflize análise de valor limite 3. IdenFque as classes de equivalência válidas e inválidas para a entrada e saída. Complemente os casos de teste idenfficados acima, caso necessário. 4. Use a técnica baseada em erro para casos de teste adicionais 5. Examine a lógica do programa considerando o conjunto de casos de teste

53 Exercícios Sugeridos Considere- se o testador de um sistema de gerenciamento de uma biblioteca. E você deve elaborar casos de teste para o contexto de solicitação de empresfmo. As restrições são as seguintes: O usuário (solicitante) deve estar cadastrado O solicitante pode ter até 3 emprésfmos simultâneos O solicitante não pode ter multa(s) à pagar O solicitante não pode ter quaiquer outra pendência IdenFfique casos de teste com as técnicas aprendidas.

54 Perguntas? Projeto de Casos de Teste por Alcemir Santos Slides baseados no Capítulo 4 do livro abaixo: Myers, Glenford J.. The Art of So1ware Tes3ng. Editora Wiley ed.

Testes de software - Teste funcional

Testes de software - Teste funcional Testes de software - Teste funcional Vitor Alcântara de Almeida Universidade Federal do Rio Grande do Norte Natal, Brasil 30 de outubro de 2014 Alcântara (UFRN) Testes de software - Testes funcionais 30

Leia mais

6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES?

6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES? 6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES? Atualmente existem muitas maneiras de se testar um software. Mesmo assim, existem as técnicas que sempre foram muito utilizadas em sistemas

Leia mais

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

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Teste de Software Engenharia de Software 2o. Semestre de 2006 Slide

Leia mais

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Aula 20 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Teste de Caixa Branca O que

Leia mais

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

Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#: Programação para Games I Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#: String[] vetor= { E, A, Z, D, W }; for(int i=4; i

Leia mais

Introdução à Computação - aulas 01 e 02 -

Introdução à Computação - aulas 01 e 02 - MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída

Leia mais

JavaScript (ou JScript)

JavaScript (ou JScript) 1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de

Leia mais

Desenho de casos de teste

Desenho de casos de teste Desenho de casos de teste A função dos casos de teste é fornecer informação rápida e eficientemente Em teoria da informação, define-se informação em termos de redução de incerteza. Se há pouca incerteza,

Leia mais

Teste de Software: Teste Funcional. Simone Senger Souza ICMC/USP

Teste de Software: Teste Funcional. Simone Senger Souza ICMC/USP Teste de Software: Teste Funcional Simone Senger Souza ICMC/USP Teste de Software Objetivo? Quando testar? O que usar para testar? Quando parar de testar? Teste de Software Teste Funcional Critérios de

Leia mais

Prática 10 - Funções

Prática 10 - Funções Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada

Leia mais

Testes de correção (de defeitos)

Testes de correção (de defeitos) Testes de correção (de defeitos) Revelam a presença de erros, mas NÃO a ausência Um teste bem sucedido é aquele que descobre o maior número de erros existentes. Deve ser utilizado em conjunto com técnicas

Leia mais

Estruturas de seleção. Prof.: Jesus

Estruturas de seleção. Prof.: Jesus Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações

Leia mais

SSC 0721 Teste e Validação de Software

SSC 0721 Teste e Validação de Software SSC 0721 Teste e Validação de Software Conceitos básicos Prof. Marcio E. Delamaro delamaro@icmc.usp.br SSC 0721 Teste e Validação de Software ICMC/USP p. 1 O que é teste Atividade de executar um programa

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca

Leia mais

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1 1.3 Instruções de Decisão 1.3.1 Sintaxe 1. Decisão binária A decisão binária permite bifurcar a execução de um algoritmo em dois fluxos distintos, para tal é utilizada instrução if que tem duas formas

Leia mais

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Expressões Condicionais

Expressões Condicionais Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/38 1 Combinando funções 2 Expressão condicional 3

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Teste de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Tópicos da Aula Ø Teste de Software Ø Terminologia e Conceitos Básicos Ø Técnicas e Critérios de Teste Ø Técnicas

Leia mais

Garantia de Qualidade

Garantia de Qualidade Garantia de Qualidade Teste de Software Profa Rosana Braga Material produzido por docents do Labes e revisado por Simone Souza Disciplina: Engenharia de Software ICMC/USP O Processo de Engenharia de Software

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Introdução a Testes de Software. Ricardo Argenton Ramos

Introdução a Testes de Software. Ricardo Argenton Ramos Introdução a Testes de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Agenda da Aula Introdução sobre Testes; Testes Funcionais de software; Testes Estruturais de Software; Teste de Software

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy

Leia mais

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

Aula teórica 10 Tema 10. Selecção Instruções de selecção: Aula teórica 10 Tema 10. Selecção Instruções de selecção: Selecção simples. Instrução if Selecção em alternativa. Instrução if Testes múltiplos Selecção múltipla. Instrução switch - case Objectivos da

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Introdução à Programação I

Introdução à Programação I Introdução à Programação I Programação Estruturada Álgebra Booleana e Expressões Compostas Material da Prof. Ana Eliza Definição: Chama-se proposição todo o conjunto de palavras ou símbolos que exprimem

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece

Leia mais

Programação II. Aula 3

Programação II. Aula 3 Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo

Leia mais

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

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.

Leia mais

Estruturas de seleção. Prof.: Jesus

Estruturas de seleção. Prof.: Jesus Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 3.2 IDLE, Variáveis e Tipos Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br IDLE O IDLE é um ambiente de desenvolvimento integrado para Python; O IDLE permite: Escrever

Leia mais

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

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Operadores de Condição if() / else if() / else{} / switch() Gil Eduardo de Andrade Introdução Operadores de condição permitem, ao programador, efetuar testes que determinam quais

Leia mais

4. Constantes. Constantes pré-definidas

4. Constantes. Constantes pré-definidas 4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Técnica de Teste Estrutural Critérios de Teste 2 Casos de Teste Diante da impossibilidade

Leia mais

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34 Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

Leia mais

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares

Leia mais

Identificadores Nome de variáveis, constantes, métodos, etc...

Identificadores Nome de variáveis, constantes, métodos, etc... IV.2 Aspectos Léxicos Convencionais Classes de símbolos Genéricos Token genérico / Lei de formação bem definida Podem possuir limitações de tamanho e/ou valor Possuem valor semântico o token deve ser acompanhado

Leia mais

Operadores e Estruturas de Decisão

Operadores e Estruturas de Decisão Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados

Leia mais

Operadores e Estruturas de Decisão. Vanessa Braganholo

Operadores e Estruturas de Decisão. Vanessa Braganholo Operadores e Estruturas de Decisão Vanessa Braganholo vanessa@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em comparações

Leia mais

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

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

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

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho Gilson de Souza Carvalho gaucho.gilson@hotmail.com 3.1.3 Condições compostas Linguagem e Técnicas em Programação As condições que vimos até agora sempre foram únicas. Entretanto, conforme aumenta a complexidade

Leia mais

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa: Algoritmos Algoritmos Leandro Tonietto Unisinos ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/inf/pg1/algoritmosi_java.pdf Mar-2008 Possuem sintaxe flexível e são mais úteis para descrição

Leia mais

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

Aula 6 Instruções de Seleção Cleverton Hentz Aula 6 Instruções de Seleção Cleverton Hentz Sumário de Aula Instrução Condicional Instrução Escolha Teste de Mesa 2 Introdução O fluxo de execução é a sequência(ordem) em que as instruções são executadas

Leia mais

Operadores e Estruturas de Decisão

Operadores e Estruturas de Decisão Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritmé=cos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C#

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C# LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C# A estrutura de decisão, em qualquer linguagem de programação, é baseada em expressões lógicas, mais conhecida por lógica booleana

Leia mais

INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB

INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB TURMA 1 AULA 5 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB MINICURSO PET-POTÊNCIA 2016.1 RÔMULLO RANDELL MINICURSO PET-POTÊNCIA 2016.1 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB RÔMULLO RANDELL Turma

Leia mais

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações

Leia mais

Conceitos Básicos de Algoritmos

Conceitos Básicos de Algoritmos Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas

Leia mais

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin Introdução a Programação Curso: Sistemas de Informação Programação I José R. Merlin Programas Programas são instruções para o computador executar uma tarefa Estas instruções seguem uma lógica Lógica: modo

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.

Leia mais

double x; x = enigmab1(100);

double x; x = enigmab1(100); 8h Universidade Federal do ABC Avaliação: Prova 02 Disciplina: Processamento da Informação Turmas: A4, A5 (8hs) Professor: Jesús P. Mena-Chalco Data: 05/05/2016 Nome: RA: Instruções para a prova (leia

Leia mais

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

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

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

Linguagem de Programação. Tutorial 3 Os comandos if, else e else if Linguagem de Programação Tutorial 3 Os comandos if, else e else if Objetivo Introdução Utilizar a Estrutura de Decisão ou Condicional. Em programação, não é incomum o computador se deparar com uma situação

Leia mais

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Prof. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21

Prof. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21 INE5603 Introdução à POO Prof. A. G. Silva 13 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de 2017 1 / 21 Estruturas de repeteção (INTRODUÇÃO) Prof. A. G. Silva INE5603

Leia mais

Treinamento Olimpíada Brasileira de Informática

Treinamento Olimpíada Brasileira de Informática Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 03 1/2 Estrutura Condicionais Linguagem de Programação C Bruno Otávio, George,

Leia mais

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Expressões Condicionais

Expressões Condicionais Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/39 1 Combinando funções 2 Expressão condicional 3

Leia mais

LÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas.

LÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas. * Tipos de Dados. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas. 1 TIPOS DE DADOS Dados inteiros Representação das informações pertencentes

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes marinagomes@unipampa.edu.br 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada

Leia mais

Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins

Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins 1. (25 pontos) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação

Leia mais

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

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo Programação Estruturada Linguagem C Estruturas de Controle Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Tipos de Estruturas de Controle Estruturas de Seleção Simples

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 5 Técnicas de Especificação SUMÁRIO INTRODUÇÃO... 3 TÉCNICAS PARA PROJETO DE CASOS

Leia mais

Fundamentos de Programação em Python

Fundamentos de Programação em Python Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do

Leia mais

INSTRUÇÕES DE REPETIÇÃO

INSTRUÇÕES DE REPETIÇÃO Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma

Leia mais

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

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C ompiladores Análise Léxica Bruno Lopes Bruno Lopes ompiladores 1 / 31 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

Linguagens de Programação Aula 14

Linguagens de Programação Aula 14 Linguagens de Programação Aula 14 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas

Leia mais

Programas Interativos

Programas Interativos Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações

Leia mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

Introdução à Computação

Introdução à Computação Conteúdo de hoje... Your Logo Here Prof. Lucas Amorim lucas@ic.ufal.br Tipos de dados Dados numéricos Inteiro Real Dados literais Dados lógicos Variáveis Introdução à Computação Tipos de dados, variáveis

Leia mais

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Tipos de Dados Dados Numéricos Números Inteiros: Int/Long Ponto Flutuante: Float Números Complexos: Complex

Leia mais

Introdução à Programação. Uma Abordagem Funcional

Introdução à Programação. Uma Abordagem Funcional Introdução à Programação Uma Abordagem Funcional Tipos em Haskell Linguagem fortemente tipada Em Haskell, conhecendo-se o tipo das operações e funções que compõem uma expressão podemos determinar o tipo

Leia mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial

Leia mais

Engenharia de Software. Teste de Software. Introdução. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Engenharia de Software. Teste de Software. Introdução. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Engenharia de Software Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Teste de Software Introdução Estratégias de teste Testes de módulo Testes de integração Teste de aceitação

Leia mais

Introdução à Computação

Introdução à Computação Your Logo Here Prof. Bruno de Jesus bruno.jesus@ic.ufal.br Introdução à Computação Tipos de dados, variáveis e expressões Conteúdo de hoje... Tipos de dados Dados numéricos Inteiro Real Dados literais

Leia mais

CONDICIONAL / de SELEÇÃO / de DECISÃO

CONDICIONAL / de SELEÇÃO / de DECISÃO ESTRUTURA de CONTROLE CONDICIONAL / de SELEÇÃO / de DECISÃO LPI (CONTINUAÇÃO) IFs ANINHADOS E ELSE IF É comum precisarmos selecionar um entre vários blocos de comandos a serem executados e não apenas um

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais