Programação de Sistemas. Introdução aos testes

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

Download "Programação de Sistemas. Introdução aos testes"

Transcrição

1 Programação de Sistemas Introdução aos testes Introdução (1) 1. Prova formal da correcção de programas Complexo, exigindo conhecimentos de matemática. O método de verificação de modelos ( model checking ) é o mais usado: asserções (fórmulas temporais que representam modelos) são inseridas em determinados pontos e a ferramenta procura identificar uma situação que leve à falha da asserção Demorado. Viável apenas no mundo académico e para aplicações informáticas nas quais a correcção é requisito fundamental (aviação, ) 2. Testes aceitáveis, desde que executados metodicamente!!!! Nota: Em Psis apenas são estudados testes a sistemas sequenciais. Programação de Sistemas Testes : 2/43

2 Introdução (2) Definições básicas Erro: inserção de uma afirmação contrária aos requisitos do sistema. Na fase de codificação são denominados bugs. Defeito ( fault ): Representação de um erro num esquema de representação de software (diagrama DFD, código fonte, ). O mesmo erro pode provocar vários defeitos. Falha: Estado do sistema após a execução de um defeito. A falha do sistema pode não ser imediatamente visível ao utilizador do sistema. Defeitos distintos podem provocar o mesmo tipo de falhas. Incidente: Sintoma de falha que é visível para o utilizador (cliente ou programador). Teste: Execução do sistema segundo um plano ( test case ). Programação de Sistemas Testes : 3/43 Introdução (3) Normalmente, a especificação, o programa e o plano de testes descrevem comportamentos ( behaviour ) distintos. Especificação (requisito) Omissões do programa Programa (verificado) Universo comportamentos Erros do programa Plano de teste (observado) Programação de Sistemas Testes : 4/43

3 Introdução (4) O plano de teste típico contém:- Identificador do plano de teste Objectivos do teste: motivos para plano de teste (idealmente ligados aos requisitos) Entradas: Pré-condições (determinam em que estados o programa se deve encontrar antes da execução) Parâmetros (entradas fornecidas ao programa) Saídas: Pós-condições (determinam em que estados o programa se deve encontrar após a execução) Resultados esperados Historial Test case ID: Purpose: Inputs: Pre-conditions: Parameters: Outputs: Post-conditions: Expected results: Execution history Date Result Version Run by Programação de Sistemas Testes : 5/43 Introdução (5) O modelo do ciclo de testes tem por base o modelo do processo de software de cascata. Erros Requisitos Erros Defeitos Arquitectura Erros Defeitos Codificação Defeitos Teste Resolução Isolamento Classificação Incidente Programação de Sistemas Testes : 6/43

4 Exemplo plano testes (1) 1. Requisitos i. Pré-condições (espaço de dados admissível no início do programa) ii. O programa aceita à entrada um caracter ord e vector A[0..N], no qual: ord = 'S' OU ord = 'P' N 0 # o vector tem, pelo menos 1 elemento Os elementos A[0..N] são inteiros Pós-condições (propriedade satisfeita após execução do programa) O programa calcula a soma, ou o produto, dos valores A[0..N] conforme ord seja igual a, respectivamente, 'S' e 'P'. Programação de Sistemas Testes : 7/43 Exemplo plano testes (2) 2. Programa (Nota! implementação incorrecta) int calc(char ord, int A[ ], int N) { int result = 0; int index; for(index=0; index<n; index++) { if (ord=='s') result=result+a[index]; else result=result*a[index]; } return result; } 3. Plano de testes: deve incluir casos normais (extremos e intermédios) e situações erróneas. Programação de Sistemas Testes : 8/43

5 Exemplo plano testes (3) Pré-condições Parâmetros Pós-condições Observado N Ord A[0..N] res 3 'S' 0,5, 'S' 'P' 'P' 1,7, 'T' 1,15,10 erro 0 Os testes revelam defeitos no tratamento dos valores de ORD diferentes de 'S'. Programação de Sistemas Testes : 9/43 Abordagens (1) O plano de testes é identificado segundo uma de 2 abordagens: 1. Funcional ( black-box ): o sistema é considerado uma caixa negra, cujas saídas são função da entrada. entrada Programa saída 2. Estruturada ( white-box ): escolhem-se casos de teste que exercitem, idealmente, todo o código. Programação de Sistemas Testes : 10/43

6 Abordagens (2) Para exemplificar cada abordagem, é usado um programa classificador de triângulos. Programa: Classificador de triângulos Entrada: 3 números, separados por vírgulas, correspondentes às dimensões dos três lados Saída: Cadeia de caracteres indicativa da classificação Algoritmo: Se a dimensão de um lado for superior à soma das dimensões dos outros dois lados, escrever "Não é triângulo". Caso seja um triângulo válido, escrever a classificação do triângulo consoantes os lados sejam todos diferentes ("Escaleno"), dois iguais ("Isósceles") ou todos iguais ("Equilátero"). Programação de Sistemas Testes : 11/43 Abordagem funcional (1) A partir dos requisitos, o comportamento da aplicação informática é dividido em partições. A bateria de testes é gerada seguindo os passos seguintes: 1. Cada partição do comportamento é posto à prova por um único teste 2. Gerados testes que cubram situações habituais de ocorrência de defeitos, tais como tratamento dos dados de entrada incorrectos e dados mal formatados Há 3 métodos de gerar a bateria de testes segundo a abordagem funcional: Esforço de identificação de testes Análise de valores fronteiros Elevado Classes de equivalência Tabelas de decisão Baixo Valores fronteiros Classes de equivalência Tabelas de decisão Programação de Sistemas Testes : 12/43

7 Abordagem funcional (2) Vantagens da abordagem funcional Independentes da implementação: a bateria de testes pode ser reutilizada quando a implementação é alterada. Testes modulares podem ser executados em paralelo com a codificação. Inconvenientes da abordagem funcional Redundância de testes. Não garante teste a todas as sequências de código. Programação de Sistemas Testes : 13/43 Valores fronteiros (1) Uma percentagem muito significativa de erros ocorre em valores fronteiros ( boundary values ). Exemplos: teste de ciclo < quando devia ser, contador cujo valor está deslocado de uma unidade, Com base nos limites, a cada entrada x i, é identificado o conjunto de valores Mínimo-x min Imediatamente acima do mínimo-x min+ Nominal-x nom Imediatamente abaixo do máximo-x max- Máximo-x max Programação de Sistemas Testes : 14/43

8 Valores fronteiros (2) A ferramenta T gera automaticamente os valores, a partir da especificação de um programa e é usada em diversos CASE como Teamwork da Cadre e Software Trough Pictures da Interactive Development Environments. Existem 4 métodos de geração da bateria de testes, usando a análise de valores fronteiros: Básico Robusto Teste aos piores casos Robustez nos piores casos Programação de Sistemas Testes : 15/43 Valores fronteiros (3) AF.1 Análise básica Baseada no pressuposto da teoria da fiabilidade de "defeito singular": falhas no sistema raramente são resultado de dois (ou mais) defeitos. Funciona bem apenas quando o programa a testar é função de variáveis independentes, cada uma representando quantidades físicas limitadas. Nas combinações de teste, todas as variáveis excepto uma, tomam o valor nominal e a restantes variáveis assumem todos os valores extremos. Para n variáveis, a análise básica gera 4n+1 casos. Exemplo: Consideremos uma função F(x1,x2), na qual os parâmetros são limitados a x1 b, c x2 d. A bateria de testes para F(x1,x2) são: {<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>, <x1nom,x2max>,<x1nom,x2max>, <x1min,x2nom>, <x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>} c x a b 1 Programação de Sistemas Testes : 16/43 x 2 d

9 Valores fronteiros (4) Para o classificador de triângulos, os três parâmetros são limitados inferiormente a 1. Não há limite superior, mas arbitra-se o valor 200. Os valores de teste são: min=1, min+=2, nom=100, max-=199, max=200. Para este exemplo, a análise de valores fronteiros não testa o caso do triângulo escaleno (ex: a=2, b=200, c=199). Programação de Sistemas Testes : 17/43 Valores fronteiros (5) ID a b c Resultado AVF Isósceles AVF Isósceles AVF Equilátero AVF Isósceles AVF Não é triângulo AVF Isósceles AVF Isósceles AVF8 Teste AVF3 AVF Isósceles AVF Não é triângulo AVF Isósceles AVF Isósceles AVF13 Teste AVF3 AVF Isósceles AVF Não é triângulo Programação de Sistemas Testes : 18/43

10 Valores fronteiros (6) AF.2 Análise robusta É extensão da análise básica. Para além dos 5 valores da análise básica, são utilizados valores que ultrapassam ligeiramente (max+) ou ficam aquém ligeiramente (min-). O teste à robustez incide no tratamento de excepções (ex: ângulo de asa do avião ultrapassar dado limite, exceder capacidade do elevador, data fixada a 31 Fevereiro, ). O teste de robustez é uma boa escolha para teste de variáveis internas ao sistema, ou variáveis auxiliares. x 2 d c a b x 1 Programação de Sistemas Testes : 19/43 Valores fronteiros (7) AF.3 Teste aos piores casos A bateria de testes é gerada pelo produto cartesiano das variáveis assumindo os 5 valores min, min+, nom, maxe max. Para n variáveis, a bateria de testes aos piores casos gera 5 n testes distintos (ex: para classificador de triângulos, a bateria de testes contém 5 3 =125 casos). As combinações de teste geradas no teste aos piores casos focam nas situações em que mais de uma variável toma valores extremos. AF.4 Teste robustez aos piores casos No teste de robustez aos piores casos, o plano de teste é formado pelo produto cartesiano das variáveis assumindo 7 valores. Ao todo, são gerados 7 n testes distintos (ex: para classificador de triângulos, a bateria de testes contém 7 3 =343 casos). Programação de Sistemas Testes : 20/43 x 2 d c a b x 1

11 Classes de equivalência (1) O método de classes de equivalência tem por objectivo a completude dos testes, evitando a redundância. Uma relação R A 2 é uma relação de equivalência sse R é reflexiva, simétrica e transitiva (ex: relações de igualdade e congruência) Dada uma relação de equivalência, pode-se definir subconjuntos formados pelos elementos relacionados entre si: os subconjuntos constituem partições induzidas pela relação de equivalência. Ex: Seja o conjunto N e a relação de equivalência módulo 3. As partições induzidas são {{0,3,6,...}, {1,4,7,...}, {2,5,8,...}}. A escolha da relação de equivalência é determinante na identificação da bateria de testes! Uma boa selecção de classes de equivalência reduz a redundância nos testes. Programação de Sistemas Testes : 21/43 Classes de equivalência (2) As combinações de teste são geradas pelo seguinte algoritmo: 1. Identificar as classes de equivalência em termos de validade. Para cada parâmetro, determinar as gamas de valores válidos e inválidos. 2. Gerar testes para todas as combinações possíveis de um valor da classe de equivalência para cada parâmetro. 3. Gerar testes para todas as combinações possíveis de um valor inválido para um parâmetro e um valor válido para os restantes parâmetros. Vantagens das classes de equivalência Útil para teste de funções complexas. Orientado para a completude. Inconvenientes das classes de equivalência Identificação das classes exige conhecimento da (provável) implementação. Parâmetros devem ser independentes entre si: caso contrário, são geradas situações de "erro". Programação de Sistemas Testes : 22/43

12 Classes de equivalência (3) Há 3 métodos de gerar a bateria de testes segundo as classes de equivalência, de acordo com as combinações dos elementos de cada partição: Equivalência fraca Equivalência forte Validação Exemplo: consideremos o programa fomado por 3 variáveis a:a, b:b, c:c e que são identificadas as seguintes partições dos domínios: A = A1 A2 A3 B = B1 B2 B3 B4 C = C1 C2 Programação de Sistemas Testes : 23/43 Classes de equivalência (4) CE.1 Equivalência fraca As variáveis têm valores em sucessão de cada uma das partições. Se os domínios tiverem menor número de partições, a sucessão regressa à ordem inicial. O número de testes é igual ao número de classes da maior partição. ID a b c WE1 a1 b1 c1 WE2 a2 b2 c2 WE3 a3 b3 c1 WE4 a1 b4 c2 Programação de Sistemas Testes : 24/43

13 Classes de equivalência (5) CE.2 Equivalência forte Bateria de testes construída pelo produto cartesiano das classes de partições. O número de testes é igual ao produto do número de classes de cada partição (no exemplo, 3*4*2=24). ID a b c SE1 a1 b1 c1 SE2 a1 b1 c2 SE3 a1 b2 c1 SE4 a1 b2 c2 SE5 a1 b3 c1 SE6 a1 b3 c2 SE7 a1 b4 c1 SE8 a1 b4 c2 SE9 a2 b1 c1 SE10 a2 b1 c2 SE11 a2 b2 c1 SE12 a2 b2 c2 SE13 a2 b3 c1 SE14 a2 b3 c2 SE15 a2 b4 c1 SE16 a2 b4 c2 SE17 a3 b1 c1 SE18 a3 b1 c2 SE19 a3 b2 c1 SE20 a3 b2 c2 SE21 a3 b3 c1 SE22 a3 b3 c2 SE23 a3 b4 c1 SE24 a3 b4 c2 Programação de Sistemas Testes : 25/43 Classes de equivalência (6) CE.3 Validação Bateria de testes definida em termos de dados válidos e inválidos. Para entradas válidas, usar os valores da equivalência fraca Para entradas inválidas, usar para cada teste uma entrada inválida e as restantes entradas válidas. Testes de equivalência baseada na validação são usados em linguagens de programação não fortemente tipificadas, i.e., sem tipos gamas de dados (COBOL, FORTRAN, ) Programação de Sistemas Testes : 26/43

14 Classes de equivalência (7) Para o exemplo do classificador de triângulos Classes de equivalência identificadas com base nas relações de igualdade entre os parâmetros para triângulos válidos: D1={<a,b,c>: a=b=c} D2={<a,b,c>: a=b,a c} D3={<a,b,c>: a=c,a b} D4={<a,b,c>: b=c,a b} D5={<a,b,c>: a b,a c,b c} Classes de equivalência identificadas com base nas relações de igualdade entre os parâmetros para triângulos inválidos: D6a={<a,b,c>: a=b+c}, D6b={<a,b,c>: a>b+c} D7a={<a,b,c>: b=a+c}, D7b={<a,b,c>: b>a+c} D8a={<a,b,c>: c=a+b}, D8b={<a,b,c>: c>a+b} Programação de Sistemas Testes : 27/43 Classes de equivalência (8) ID a b c Resultado E Equilátero E Isósceles E Isósceles E Isósceles E Escaleno E6a Não é triângulo E6b Não é triângulo E7a Não é triângulo E7b Não é triângulo E8a Não é triângulo E8b Não é triângulo Programação de Sistemas Testes : 28/43

15 Tabelas de decisão (1) As tabelas de decisão baseam-se nos relacionamentos lógicos entre as partições de uma aplicação informática. Canto superior esquerdo: condições descritoras dos estados possíveis dos parâmetros Canto inferior esquerdo: acções da aplicação informática observadas externamente Colunas do lado direito (regras): condições descritas na parte superior (/N) desencadeiam as acções marcadas (X). Várias condições podem ser verdadeiras, ou falsas, em simultâneo. Para determinadas condições, mais do que uma acção pode ser desencadeada pela aplicação informática. Programação de Sistemas Testes : 29/43 Tabelas de decisão (2) As combinações de teste são geradas para as condições de cada regra que não resultem em acções impossíveis. Vantagens do teste por tabelas de decisão Útil para teste de programas onde várias accções são executadas perante um conjunto variável de condições Força rigor lógico na fase de requisitos/arquitectura Inconveniente do teste por tabelas de decisão Apresenta problemas de escala (n condições implicam 2 n regras). Programação de Sistemas Testes : 30/43

16 Tabelas de decisão (3) c1: a<b+c c2: b<a+c c3: c<a+b c4: a=b c5: a=c c6: b=c a1: Não é um triângulo a2: Escaleno a3: Isósceles a4: Equilátero a5: Impossível Condições de entrada Acções N X N N X X X N N N N X X X N N N X X X N N N N N X A acção a5 é executada nos casos de violação da propriedade da transitividade (na qual, se x=y e y=z, então x=z). Programação de Sistemas Testes : 31/43 Tabelas de decisão (4) ID a b c Resultado TD Não é triângulo TD Não é triângulo TD Não é triângulo TD Equilátero TD Isósceles TD Isósceles TD Isósceles TD Escaleno Programação de Sistemas Testes : 32/43

17 Abordagem estrutural (1) A abordagem estrutural baseia-se na estrutura do programa e não na sua definição. São escolhidos casos de teste que exercitem, idealmente, todo o código. Os métodos estruturais parte da identificação do grafo (direccionado) do programa, em que: Nós representam blocos básicos (sequência de instruções, para a qual há apenas um ponto de entrada e um de saída) Arcos representam fluxo do controlo de execução É assumido o aluno ter conhecimento básico de grafos, (matéria de Algoritmos e Estruturas de Dados/MEEC). Programação de Sistemas Testes : 33/43 Abordagem estrutural (2) Algoritmo de identificação dos blocos básicos 1. Identificar os cabeçalhos dos blocos básicos i. A primeira instrução do programa é cabeçalho de um bloco básico ii. Todas as instruções que são alvo de saltos (condicionais ou incondicionais) são cabeçalho de um bloco básico. iii. Todas as instruções que seguem um salto (condicional ou incondicional) são cabeçalho de um bloco básico. 2. Os blocos básicos iniciam-se nos cabeçalhos identificados em 1) e acabam antes do cabeçalho de bloco seguinte ou final do programa São consideradas instruções de salto e não chamadas a rotinas porque nas segundas apenas há um caminho de ida e regresso Programação de Sistemas Testes : 34/43

18 Abordagem estrutural (3) Instruções IF-THEN-ELSE e DO-WHILE executadas com auxílio de saltos. IF cond THEN block b ELSE block c DO WHILE cond block stat stat cond cond block b True: goto block goto True: block c False: False: Os endereços alvo de instruções de salto são: A primeira instrução dos blocos block b e block c A primeira instrução de stat Os endereços alvo de instruções de salto são: A primeira instrução do bloco block e stat A primeira instrução de DO WHILE cond Programação de Sistemas Testes : 35/43 Abordagem estrutural (4) Grafos correspondentes a diversas estruturas sintácticas de linguagens de programação imperativa Sequência Ciclo pré-testado Ciclo repeat If-Then If-Then-Else Case Programação de Sistemas Testes : 36/43

19 Abordagem estrutural (5) /* 1 */ void function triangle () { A /* 2 */ int a,b,c; /* 3 */ enum {FALSE, TRUE} istriangle; B C /* 4 */ printf( Introduza o comprimento dos tres lados do triangulo ); /* 5 */ scanf( %d %d %d,&a,&b,&c); D /* 6 */ if (a<b+c && b<a+c && c<a+b) /* 7 */ istriangle=true; E /* 8 */ else istriangle=false; /* 9 */ if (istriangle) /* 10 */ { K F G /* 11 */ if (a==b && b==c) /* 12 */ printf( Equilatero\n ); H /* 13 */ else if (a!=b && a!=c && b!=c) J /* 14 */ printf( Escaleno\n ); /* 15 */ else printf( Isosceles\n ); L /* 16 */ } /* 17 */ else printf( Nao e um triangulo\n ); /* 18 */ } Programação de Sistemas Testes : 37/43 I Abordagem estrutural (6) Os inícios de blocos são listados na tabela Caso Início de programa 4 Instruções End. alvo de instrução de salto 9,8,13,15,16,17,18 Instrução seguinte a instrução de salto 7,10,12,14 Os blocos básicos são formados por: {A}4-6, {B}7, {C}8, {D}9, {E}10-11, {F}12, {G}13, {H}14, {I}15, {J}16, {K}17, {L}18 Um grafo de programa, definido por blocos básicos é denominado grafo DD (decisão-decisão): corresponde a uma condensação do grafo de instruções. Programação de Sistemas Testes : 38/43

20 Abordagem estrutural (7) Existem 4 métodos de geração da bateria de testes segundo a abordagem estrutural: Grafo DD (Decisão-Decisão) Grafo DU (Decisão-Uso) Caminhos básicos Fatia Esforço de identificação de testes Elevado Baixo DD Base DU Fatia Programação de Sistemas Testes : 39/43 Caminhos básicos (1) Caminho independente: sequência de instruções que possui um subconjunto (aresta) totalmente que não é percorrida pelos caminhos restantes. McCabe propôs uma métrica de complexidade, que determina o número máximo de caminhos independentes. V(G) = nº predicados +1 Uma vez que todos os outros caminhos do grafo são combinações de caminhos independentes, V(G) é o limite inferior de testes de caminhos. Programação de Sistemas Testes : 40/43

21 Caminhos básicos (2) Para o programa classificador de triângulos, os predicados são Nó True False A a<b+c && b<a+c && c<a+b a>=b+c b>=a+c c>=a+b D mesmo que A mesmo que A E a==b && b==c a!= b b!= c G a!=b && a!=c && b!=c a==b a==c b==c V(G) = 4 +1= 5 Nota: Na realidade há apenas 4 caminhos independentes, porque os testes A e D são iguais. Programação de Sistemas Testes : 41/43 Caminhos básicos (3) Para identificar a bateria de testes, McCabe propõe o método 1. Escolher um caminho base, correspondente a uma execução normal, com o maior número possível nós de decisão. 2. O caminho base é alterado para ramos alternativos nos nós em que outdeg 2. Para o programa classificador de triângulos, os caminhos são: A. Caminho base (o mais longo): A-B-D-E-G-H-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=false (a!=b b!= c) G=true (a!= b && a!= c && b!= c) Entrada: a=2, b=3, c=4: Saída: escaleno Programação de Sistemas Testes : 42/43

22 Caminhos básicos (4) A. Alternativa no nó A: A-C-D-K-L Condições a satisfazer: A=false (a>=b+c b>=a+c c<a+b) Entrada: a=1, b=2, c=5; Saída: não é triângulo B. Alternativa no nó E: A-B-D-E-F-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=true (a==b && b==c) Entrada: a=4, b=4, c=4; Saída: equiláterio C. Alternativa no nó G: A-B-D-E-G-I-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=false (a!=b b!= c) G=false (a == b a == c b == c) Entrada: a=2, b=4, c=4; Saída: isósceles Programação de Sistemas Testes : 43/43

Software de Telecomunicações. Introdução aos testes

Software de Telecomunicações. Introdução aos testes Software de Telecomunicações Introdução aos testes Prof RG Crespo Software Telecomunicações Testes:1/43 Introdução (1) 1. Prova formal da correcção de programas Complexo, exigindo conhecimentos de matemática

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br IES-300 Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br Teste de Caixa Branca 2 Teste de Componentes: Caixa Branca Teste de Caixa Branca Grafo de Fluxo de

Leia mais

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como: Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 02: ESTRUTURA DE SELEÇÃO CONDICIONAL Faculdade da Computação - UFU 1 Objetivo Apresentar os conceitos básicos e as estruturas de linguagem

Leia mais

Introdução a Verificação, Validação e Teste de Software

Introdução a Verificação, Validação e Teste de Software Engenharia de Software I 2012.2 Introdução a Verificação, Validação e Teste de Software Ricardo A. Ramos [Baseado na apresentação do LABS ICMC-USP -> http://www.labes.icmc.usp.br] Organização Introdução

Leia mais

Módulo III. Folhas de Cálculo

Módulo III. Folhas de Cálculo Módulo III Ferramentas do Office Folhas de Cálculo Ferramentas de produtividade 1 Folhas de Cálculo O que é: Uma Folha de Cálculo é, por tradição, um conjunto de células que formam uma grelha ou tabela

Leia mais

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Cap.2.5: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos na construção de algoritmos Método

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 9 http://www.ic.uff.br/~bianca/engsoft2/ Aula 9-19/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos

Leia mais

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

Engenharia de Software. Ficha T. Prática nº 9

Engenharia de Software. Ficha T. Prática nº 9 Objectivo: Testes de software Engenharia de Software Ficha T. Prática nº 9 Fonte: Eng. De Software, Colecção Schaum 1. Introdução Teste de software é a execução do software com os dados de testes actuais.

Leia mais

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:

Leia mais

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com Fundamentos em Teste de Software Vinicius V. Pessoni viniciuspessoni@gmail.com Objetivos do treinamento 1. Expor os fundamentos de Teste de Software; 2. Conceituar os Níveis de Teste; 3. Detalhar sobre

Leia mais

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição 1 Estrutura de seleção Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição - Necessário quando mais de uma ação deve ser tomada se uma condição for satisfeita

Leia mais

1 Detecção e correcção de erros 1 1.1 Erros sintáticos... 1 1.2 Erros de execução... 2 1.3 Erros semânticos... 5 1.4 Erros semânticos...

1 Detecção e correcção de erros 1 1.1 Erros sintáticos... 1 1.2 Erros de execução... 2 1.3 Erros semânticos... 5 1.4 Erros semânticos... Nesta aula... Conteúdo 1 Detecção e correcção de erros 1 1.1 Erros sintáticos............................. 1 1.2 Erros de execução............................ 2 1.3 Erros semânticos............................

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

Leia mais

Geração de código intermediário. Novembro 2006

Geração de código intermediário. Novembro 2006 Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 10 http://www.ic.uff.br/~bianca/engsoft2/ Aula 10-24/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14

Leia mais

Técnicas de Teste de Software

Técnicas de Teste de Software Técnicas de Teste de Software Fabrício Sousa fabricio@uesb.br Projeto de Caso de Teste Conjunto de técnicas para criação de casos de testes Série de casos de testes que tem grande probabilidade de encontrar

Leia mais

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014 Aula 06 Introdução à Teste de Módulos II e Exercícios Alessandro Garcia LES/DI/PUC-Rio Março 2014 Princípios Discutidos até aqui Cada módulo deveria implementar uma única abstração similarmente: cada função

Leia mais

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação 1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento

Leia mais

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1 Linguagem C: Estruturas de Controle Prof. Leonardo Barreto Campos 1 Sumário Estrutura de Controle e de Fluxo Comandos de Seleção: O comando if; Ifs Aninhados; A escada if-else-if; A expressão condicional;

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

ESTRUTURA CONDICIONAL

ESTRUTURA CONDICIONAL AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO

Leia mais

Teste de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br

Teste de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Teste de Software Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Qualidade Garantia de Qualidade Qualidade do processo Qualidade do produto Testes Estáticos Testes Dinâmicos Teste de software

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Usando o Excel ESTATÍSTICA. A Janela do Excel 2007. Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.

Usando o Excel ESTATÍSTICA. A Janela do Excel 2007. Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação. Barra de deslocamento ESTATÍSTICA Barra de menus Barra de título Barra de ferramentas padrão e de formatação Barra de fórmulas Conjuntos e Células (Intervalos) Área de trabalho Separador de folhas Barra

Leia mais

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático Programação III / Estruturas de Dados Enunciado do Trabalho Prático 1. Objectivo Pretende-se implementar uma base de dados que sirva para ajudar uma agência de viagens a planear as viagens a realizar pelos

Leia mais

Teste de Software Estrutural ou Caixa Branca. Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail.

Teste de Software Estrutural ou Caixa Branca. Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail. Teste de Software Estrutural ou Caixa Branca Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail.com Contexto da Aula Introdução a ES Qualidade Métricas de Software Planejamento

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

O Processo de Programação

O Processo de Programação Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de

Leia mais

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008 Como melhorar a Qualidade de Software através s de testes e integração contínua. nua. Cláudio Antônio de Araújo 22/11/2008 Objetivos Fornecer uma visão geral da área de testes de software, com ênfase em

Leia mais

Bacharelado em Ciência da Computação Matemática Discreta

Bacharelado em Ciência da Computação Matemática Discreta Bacharelado em Ciência da Computação Matemática Discreta Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 19 de fevereiro de 2013 diego.silva@ifmg.edu.br (IFMG) Matemática

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Lista 1. Sistema cartesiano ortogonal. 1. Observe a figura e determine os pontos, ou seja, dê suas coordenadas: a) A b) B c) C d) D e) E

Lista 1. Sistema cartesiano ortogonal. 1. Observe a figura e determine os pontos, ou seja, dê suas coordenadas: a) A b) B c) C d) D e) E Sistema cartesiano ortogonal Lista. Observe a figura e determine os pontos, ou seja, dê suas coordenadas: a) A b) B c) C d) D e) E. Marque num sistema de coordenadas cartesianas ortogonais os pontos: a)

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

EXCEL TABELAS DINÂMICAS

EXCEL TABELAS DINÂMICAS Informática II Gestão Comercial e da Produção EXCEL TABELAS DINÂMICAS (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina Wanzeller

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 Revisão para prova: Comandos de Entrada e Saída Estruturas de Decisão (Se, caso (escolha)) Laços de Repetição (Enquanto, Repita, Para) Relembrando Trabalho 1 Prazo de

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

Leia mais

ficha 3 espaços lineares

ficha 3 espaços lineares Exercícios de Álgebra Linear ficha 3 espaços lineares Exercícios coligidos por Jorge Almeida e Lina Oliveira Departamento de Matemática, Instituto Superior Técnico 2 o semestre 2011/12 3 Notação Sendo

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 7 Prof. ISVega Março de 2004 Controle de Execução: Seleção Simples CONTEÚDO

Leia mais

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação

Leia mais

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes Análise OO 36 Análise Análise é a investigação do problema Análise de Requisitos é o termo que designa a investigação das necessidades e condições que o sistema, e o projecto em geral, têm de satisfazer.

Leia mais

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015. Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2015.1 1/13 1 Paradigmas de programação 2 Programação funcional 3 A Crise

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

Técnicas de Caixa Preta de Teste de Software

Técnicas de Caixa Preta de Teste de Software Técnicas de Caixa Preta de Teste de Software Na maioria de projetos de teste, o tempo para a realização dos mesmos sempre é curto e os números de testes a serem realizados nas aplicações são inúmeros.

Leia mais

Introdução aos Sistemas Informáticos Engenharia Informática, Engenharia Mecânica, Engenharia Química, Gestão e Engenharia Industrial

Introdução aos Sistemas Informáticos Engenharia Informática, Engenharia Mecânica, Engenharia Química, Gestão e Engenharia Industrial I 1. Crie um novo livro na folha de cálculo Excel. Grave-o na sua disquete (se não tiver uma disquete, então grave-o no disco do computador) com o nome Exercício 1. Obs.: "Livro" é o nome que se dá a um

Leia mais

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br IES-300 Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br Teste de Caixa Preta 2 Teste de Caixa Preta Partição de Equivalência Análise de Valor Limite Teste

Leia mais

Aula 26 Testes de Caixa Preta (Exercícios)

Aula 26 Testes de Caixa Preta (Exercícios) Aula 26 Testes de Caixa Preta (Exercícios) Danyllo Albuquerque LES/DI/PUC-Rio Novembro / 2014 Sumário Revisão Correção do Exemplo Exercícios 2 Testes Caixa Preta Testes Caixa Preta (ou Caixa Fechada) consideram

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

EXAME NACIONAL DE QUALIFICAÇÃO 2013-2 GABARITO. Questão 1.

EXAME NACIONAL DE QUALIFICAÇÃO 2013-2 GABARITO. Questão 1. EXAME NACIONAL DE QUALIFICAÇÃO 0 - Questão. GABARITO Considere um triângulo equilátero de lado e seja A sua área. Ao ligar os pontos médios de cada lado, obtemos um segundo triângulo equilátero de área

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Conceitos e fórmulas

Conceitos e fórmulas 1 Conceitos e fórmulas 1).- Triângulo: definição e elementos principais Definição - Denominamos triângulo (ou trilátero) a toda figura do plano euclidiano formada por três segmentos AB, BC e CA, tais que

Leia mais

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter.

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter. SOMA Retorna a soma de todos os números na lista de argumentos. Sintaxe SOMA(núm;núm;...) Núm, núm,... são argumentos de a 55 cuja soma ou valor total você deseja obter. Comentários Os números, valores

Leia mais

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites Teste de Software Prof. Avelino F. Zorzo PUCRS Elaborado inicialmente pelo prof. Bernardo Copstein Teste é uma coisa óbvia? Qual a complexidade da questão? tá pronto, profi, é só testar... ué, mas pra

Leia mais

Testes de Caixa Branca e Caixa Preta

Testes de Caixa Branca e Caixa Preta Testes de Caixa Branca e Caixa Preta Prof. Pasteur Ottoni de Miranda Junior PUC Minas Disponível em www.pasteurjr.blogspot.com 1-Introdução É hábito costumeiro do programador terminar um programa e em

Leia mais

Gestor de Processos. Gestor de Processos

Gestor de Processos. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

O B. Podemos decompor a pirâmide ABCDE em quatro tetraedros congruentes ao tetraedro BCEO. ABCDE tem volume igual a V = a2.oe

O B. Podemos decompor a pirâmide ABCDE em quatro tetraedros congruentes ao tetraedro BCEO. ABCDE tem volume igual a V = a2.oe GABARITO - QUALIFICAÇÃO - Setembro de 0 Questão. (pontuação: ) No octaedro regular duas faces opostas são paralelas. Em um octaedro regular de aresta a, calcule a distância entre duas faces opostas. Obs:

Leia mais

QUADRADO MÁGICO - ORDEM 4

QUADRADO MÁGICO - ORDEM 4 CONCEITO Partindo da definição original, os QUADRADOS MÁGICOS devem satisfazer três condições: a) tabela ou matriz quadrada (número de igual ao número de ); b) domínio: com elementos assumindo valores

Leia mais

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Colegiado de Engenharia da Computação CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada

Leia mais

4.4. UML Diagramas de interacção

4.4. UML Diagramas de interacção Engenharia de Software 4.4. UML Diagramas de interacção Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de interacção mostra um padrão de interacção entre vários objectos, com objectos e

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

DIM0436. 26. Testes de caixa branca Cobertura estrutural DIM0436 20141104 1 / 37

DIM0436. 26. Testes de caixa branca Cobertura estrutural DIM0436 20141104 1 / 37 DIM0436 26. Testes de caixa branca Cobertura estrutural 20141104 DIM0436 20141104 1 / 37 Sumário 1 Introdução 2 Cobertura do fluxo de controle 3 Cobertura do fluxo de dados DIM0436 20141104 2 / 37 1 Introdução

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

1 P r o j e t o F u t u r o M i l i t a r w w w. f u t u r o m i l i t a r. c o m. b r

1 P r o j e t o F u t u r o M i l i t a r w w w. f u t u r o m i l i t a r. c o m. b r Exercícios Potencial Elétrico 01. O gráfico que melhor descreve a relação entre potencial elétrico V, originado por uma carga elétrica Q < 0, e a distância d de um ponto qualquer à carga, é: 05. Duas cargas

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1 Conteúdo Página Operações Lógicas Binárias: AND, OR...2 Operações Lógicas Binárias: OR Exclusivo (XOR)...3 Contatos Normalmente Abertos e Normalmente Fechados. Sensores e Símbolos... 4 Exercício...5 Resultado

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

Programação Estruturada Linguagem C

Programação Estruturada Linguagem C 2007 Programação Estruturada Linguagem C Fluxogramas Francisco Tesifom Munhoz CONTEÚDO Fluxograma... 3 Etapas para criação de um fluxograma:... 3 Símbolos utilizados para a construção do fluxograma:...

Leia mais

3B SCIENTIFIC PHYSICS

3B SCIENTIFIC PHYSICS 3B SCIENTIFIC PHYSICS Kit de ótica laser de demonstração U17300 e kit complementar Manual de instruções 1/05 ALF Índice de conteúdo Página Exp - N Experiência Kit de aparelhos 1 Introdução 2 Fornecimento

Leia mais

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software Juciara Nepomuceno de Souza Rafael Garcia Miani Teste de Software Técnicas de Teste de Software Testabilidade Operabilidade; Observabilidade; Controlabilidade; Decomponibilidade; Simplicidade; Estabilidade;

Leia mais

Metodos de Programação

Metodos de Programação Metodos de Programação Métodos de Programação Introdução Informática, Computador, Algoritmo Informática: Ciência do processamento da informação Computador: Máquina que serve para processar informação Algoritmo:

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;

Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; O tipo de dados tem por base um tipo simples (enumerável); Na verdade, um set representa o conjunto

Leia mais

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

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Fórmulas e Funções 7

Fórmulas e Funções 7 Fórmulas e Funções 7 7.9. Visualização automática do resultado Para visualizar rapidamente o resultado das funções mais simples média, soma, contar, mínimo e máximo: 1. Menu de contexto sobre a barra de

Leia mais

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída DCC / ICEx / UFMG Testes de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Teste de software buscam por erros ou anomalias em requisitos funcionais e não funcionais Classificação

Leia mais

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456

Leia mais

Sintaxe e Semântica. Fases da Compilação. programa fonte

Sintaxe e Semântica. Fases da Compilação. programa fonte Sintaxe e Semântica mleal@inf.puc-rio.br Fases da Compilação programa fonte tokens parse tree árvore anotada ou outra forma intermediária código intermediário código objeto código objeto otimizado scanner

Leia mais

Faculdade de Medicina Dentária da Universidade de Lisboa 20º Curso Profissional de Assistente Dentário TIC Prof. Teresa Pereira

Faculdade de Medicina Dentária da Universidade de Lisboa 20º Curso Profissional de Assistente Dentário TIC Prof. Teresa Pereira Faculdade de Medicina Dentária da Universidade de Lisboa 20º Curso Profissional de Assistente Dentário TIC Prof. Teresa Pereira Ficha de revisão Fórmulas Excel ano lectivo 2006/2007 Introdução As Fórmulas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Databases. Dependências Funcionais

Databases. Dependências Funcionais Databases Dependências Funcionais P. Serendero, 2011-13 Referências e exemplos tirados de diversas fontes, excetuando aqueles relacionados com embarcações Dependências Funcionais (DF) Uma Base de Dados,

Leia mais

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved. Programação Folha Prática 3 Lab. 3 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 3 3ª semana EXPRESSÕES E INSTRUÇÕES 1. Revisão de conceitos

Leia mais

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Mestrado Eng.ª Informática e Sistemas de Informação 2013/14 Resumo

Leia mais

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais