Programação Modular: Exercício T4 e Considerações Finais
|
|
- Giulia Laura Ávila Aranha
- 5 Há anos
- Visualizações:
Transcrição
1 Programação Modular: Eercício T4 e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Cronograma Aula 13/6: Eercício do T3 relativo a: critérios de cobertura de teste caia-branca instrumentação para análise de cobertura dos testes (uso do módulo CONTA) Aulas 18 e 20/6 dúvidas trabalho T4 e conteúdo Dúvidas podem sempre ser enviadas por Monitoria: setas as 11:00 13:00 Até 6a. Feira (15/6): envio a lista de eercícios para estudo para prova Prova P2 25/6 (segunda) PUC s/ atividades: 27/6, 2/7 Entrega do T4 29/6 (seta) LES/DI/PUC-Rio 2 / 41 1
2 Prova 25/06 (segunda) Toda matéria Em particular, material após P1 Dicas: Revisem o eercício dado em sala e corrigidos (resposta estará no site) tentem resolver os eercícios da lista a ser enviada Alessandro Garcia LES/DI/PUC-Rio 3 / 32 Trabalho 29/06 (seta) Caprichem nesta reta final conclusão do programa Truco programas modularidade de qualidade são programas robustos e confiáveis mas isso não é alcançado sem emprego de uma série de práticas: teste com qualidade, instrumentação, tratamento de eceções, etc... testes do programa: cenários de teste em um documento (e. doc Word), formato livre não esquecer dos testes de todos os módulos do Lista, incluindo aqueles já feitos e entregues no T2 Não coloquem nomes de membros ao grupo sem mérito Não compartilhe código ou qualquer artefato do trabalho com ninguém plágio Alessandro Garcia LES/DI/PUC-Rio 4 / 32 2
3 Objetivos da disciplina Conscientizá-los que a qualidade de um programa começa pela preocupação com a qualidade de cada pequena parte (módulo) reúso, facilidade de manutenção e confiabilidade disciplina e rigor são essenciais Programas modulares robustos e confiáveis requerem o uso combinado de várias práticas especificação, arquitetura, documentação do código assertivas revisão e inspeção tratamento de eceção, testes automatizados e com qualidade, instrumentação Conscientizá-los que desenvolvimento de programas maiores requer proatividade dos desenvolvedores e. lidar e aprender algumas sutilezas de ferramentas que podem não estar em tutoriais ou em documentação de APIs Alessandro Garcia LES/DI/PUC-Rio 5 / 32 Programação Modular ( and beyond ) Vocês foram epostos a outras práticas (ágeis, etc...) de engenharia de software indiretamente: Test first Pair (group) programming Sistemas auto-adaptativos (self-healing, self-repairing, etc...) Etc... Alessandro Garcia LES/DI/PUC-Rio 6 / 32 3
4 Por que Programação Modular é importante?... Em uma série de contetos? Eemplo: Does Technical Debt Lead to the Rejection of Pull Requests?, Oliveira Silva et al., Simpósio Brasileiro de Sistemas de Informação 2016 Rejeição de contribuição é uma penalidade para (a reputação do) desenvolvedores Quais são as causas mais frequentes de rejeições em 7 projetos no GitHub? Alessandro Garcia LES/DI/PUC-Rio 7 / 32 Rejeição de contribuições em projetos Quais são as causas mais frequentes de rejeições em 7 projetos no GitHub? 1. problemas no projeto modular das funções e módulos 39,34% quebra de encapsulamento, interfaces mal projetadas (assinaturas compleas), não especificação de eceções e seus tratamentos, etc testes incompletos ou mal escolhidos 23,7% 3. violações a padrões/convenções de programação 15,64% 4. problemas de desempenho 9,58% 5. falta ou problema de documentação 5,69% 6. falta ou problema em arquivos de configuração/composição (p.e. nosso caso, make file) 2,37% 7. problemas de segurança 1,42% Alessandro Garcia LES/DI/PUC-Rio 8 / 32 4
5 Eercício 1 a) Fluograma Note que eistem dois comandos (13 e 14), com rótulos G e H, na mesma linha. G 1. #include <stdio.h> int comparar() { 4. int num1, num2, num3, maior = 0; 5. printf ("Entre 3 numeros positivos"); 6. scanf ("%d %d %d", &num1, &num2, &num3); 7. if ((num1 > num2) && (num1 > num3)) { 8. maior = num1; 9. return maior; 10. } else { 11. if (num2 == num3) { 12. printf ("Nao eiste maior "); 13. if (num3 == num1) { printf ("... e todos sao iguais!"); } 15. return maior; 16. } 17. if ((num2 > num3) && (num2!= num 1)) { 18. maior = num2; 19. return maior; 20. } 21. if ((num3 > num2) && (num3!= num1)) { 22. maior = num3; 23. return maior; 24. } 25. printf ("Nao eiste maior "); 26. return maior; 25. } 26. } 9 / 32 A B C D E F H I J K L M N Critérios de cobertura: instruções D S A B i = ( i + j ) / 2 ; C if ( ( i < 10 ) && ( j < 10 )) j = 10 ; i = 10 ; S if ( i > 5 ) N N E Cobertura de instruções (vértices) Cada instrução é eecutada pelo menos uma vez no conjunto de todos os casos de teste rotulam-se as instruções e criam-se os casos de teste cada caso percorre pelo menos uma instrução ainda não percorrida até que todas as instruções tenham sido percorridas i = 4 ; j = 8 A B C D i = 4 ; j = 6 A B C E Jun 2009 LES/DI/PUC-Rio 10 / 32 5
6 11 / 32 Eercício 1a a) Fluograma Quem pode fazer o fluograma no quadro? 12 / 32 6
7 Fluograma 13 / 32 Eercício 1a a) As entradas dos cinco casos de teste abaio representam um conjunto suficiente e mínimo para satisfazer o critério de cobertura de instruções? Justifique. num1 = 3, num2 = 2, num3 = 2 num1 = 3, num2 = 4, num3 = 3 num1 = 3, num2 = 4, num3 = 5 num1 = 4, num2 = 5, num3 = 5 num1 = 5, num2 = 5, num3 = 5 14 / 32 7
8 Eercício 1a a) As entradas dos cinco casos de teste abaio representam um conjunto suficiente e mínimo para satisfazer o critério de cobertura de instruções? Justifique. num1 = 3, num2 = 2, num3 = 2 -> A B C num1 = 3, num2 = 4, num3 = 3 -> A B D E J K num1 = 3, num2 = 4, num3 = 5 -> A B D E J L M num1 = 4, num2 = 5, num3 = 5 -> A B D E F G I num1 = 5, num2 = 5, num3 = 5 -> A B D E F G H I Não, pois nenhum dos casos de teste resulta na eecução de N. Faltou caso onde (num1 = num2) > num3 15 / 32 Eercício 1a A B C A B D E J K A B D E J L M A B D E F G I A B D E F G H I falta: A B D E J L N eemplo: num1 = 5, num2 = 5, num3 = 4 caso onde não eiste maior 16 / 32 8
9 Eercício 1a A B C A B D E J K A B D E J L M A B D E F G I A B D E F G H I É o conjunto mínimo? precisa dos dois? 17 / 32 Eercício 1a A B C A B D E J K A B D E J L M A B D E F G I A B D E F G H I bastaria o segundo (em cobertura de instruções) ou seja, o conjunto suficiente e mínimo seria: num1 = 3, num2 = 2, num3 = 2 -> A B C num1 = 3, num2 = 4, num3 = 3 -> A B D E J K num1 = 3, num2 = 4, num3 = 5 -> A B D E J L M num1 = 4, num2 = 5, num3 = 5 -> A B D E F G I num1 = 5, num2 = 5, num3 = 5 -> A B D E F G H I num1 = 5, num2 = 5, num3 = 4 -> A B D E J L N 18 / 32 9
10 Eercício 1b b) Os três caminhos (arcos de eecução) abaio descrevem casos de teste abstratos para a função comparar(). Note que os rótulos (letras) estão associados com instruções e/ou blocos de código da função. Complete o conjunto de caminhos abaio de forma a obter um conjunto mínimo de casos de teste para satisfazer o padrão de cobertura de arestas. Qual o número mínimo de casos de teste que foi necessário para satisfazer tal padrão? Inicial: ABC, ABDEFGI, ABDEJK 19 / 32 Eercício 1b A B C A B D E F G I A B D E J K arestas já eercitadas Note que faltam pelo menos 3 caminhos para eercitar as arestas faltantes 20 / 32 10
11 Eercício 1b A B C A B D E F G I A B D E J K arestas já eercitadas Note que faltam pelo menos 3 caminhos para eercitar as arestas faltantes 21 / 32 Eercício 1b b) Os três caminhos (arcos de eecução) abaio descrevem casos de teste abstratos para a função comparar(). Note que os rótulos (letras) estão associados com instruções e/ou blocos de código da função. Complete o conjunto de caminhos abaio de forma a obter um conjunto mínimo de casos de teste para satisfazer o padrão de cobertura de arestas. Qual o número mínimo de casos de teste que foi necessário para satisfazer tal padrão? Inicial: ABC, ABDEFGI, ABDEJK ABDEFGHI, ABDEJLM, ABDEJLN, totalizando 6 casos de teste 22 / 32 11
12 Eercício 1 c) Apresente a epressão regular geradora de caminhos que permita identificar os casos de teste necessários para satisfação do critério de cobertura de caminhos. Use os rótulos (letras) associados acima ao código da função comparar(). AB ( C (DE ( (FG(HI I))) (J(K (L(M N) )))))) Qual seria o caminho mais longo e o mais curto que poderiam ser gerados a partir desta epressão? mais curto: ABC mais longo: ABDEFGHI 23 / 32 Eercício 1 D) locais onde poderiam ser inseridos os contadores (de arestas) G 1. #include <stdio.h> int comparar() { 4. int num1, num2, num3, maior = 0; 5. printf ("Entre 3 numeros positivos"); 6. scanf ("%d %d %d", &num1, &num2, &num3); 7. if ((num1 > num2) && (num1 > num3)) { 8. maior = num1; 9. return maior; 10. } else { 11. if (num2 == num3) { 12. printf ("Nao eiste maior "); 13. if (num3 == num1) { printf ("... e todos sao iguais!"); } 15. return maior; 16. } 17. if ((num2 > num3) && (num2!= num 1)) { 18. maior = num2; 19. return maior; 20. } 21. if ((num3 > num2) && (num3!= num1)) { 22. maior = num3; 23. return maior; 24. } 25. printf ("Nao eiste maior "); 26. return maior; 25. } 26. } 24 / 32 A B C D antes do return no bloco if E F H I J K L M N 12
13 Programação Modular: Eercício T4 e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio 13
Respostas Exercício: Cobertura Teste Caixa Branca
Respostas Eercício: Cobertura Teste Caia Branca Alessandro Garcia LES/DI/PUC-Rio Junho 2016 Eercício 1 a) Fluograma Note que eistem dois comandos (13 e 14), com rótulos G e H, na mesma linha. G 1. #include
Leia maisProgramação Modular: Prova, Trabalho e Considerações Finais
Programação Modular: Prova, Trabalho e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Junho 2016 Prova 22/06 Toda matéria Em particular, material após P1 Dicas: Revisem os exercícios dados em sala
Leia maisIFSP Campus Guarulhos
IFSP Campus Guarulhos TLP Técnica e Linguagem de Programação Prof: Dennis Funções Dividir para conquistar... René Descartes, em seu tratado O discurso sobre o método, diz que uma das regras para atacar
Leia maisAula 02 Conceitos e Princípios de Modularidade 1
Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Março 2017 Lembretes Horário das aulas vamos ter que começar as 13:00 Definição de horário de monitoria Sítio (site) da
Leia mais4 a Aula - Funções de Intervalo (II). Ciclo for. Leitura e Escrita em Ficheiros. Mestrado em Engenharia Física Tecnológica
4 a Aula - Funções de Intervalo (II). Ciclo for. Leitura e Escrita em Ficheiros. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física
Leia maisAula 5 Introdução à Teste de Módulos. Alessandro Garcia LES/DI/PUC-Rio Agosto 2017
Aula 5 Introdução à Teste de Módulos Alessandro Garcia LES/DI/PUC-Rio Agosto 2017 Avisos Monitoria, horário: Sextas, 11:00 às 13:00 9º. Andar do Prédio Pe. Leonel Franca Próxima aula: exercício (T1) Alessandro
Leia maisAula 21 Testes 1. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio
Aula 21 Testes 1 Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Especificação Objetivo dessa aula Apresentar os conceitos básicos utilizados ao testar módulos Apresentar 3 critérios de seleção de casos
Leia maisAula 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 maisAula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia
Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia LES/DI/PUC-Rio Março 2017 Avisos O horário de monitoria será no seguinte horário: 6ª. Feira, 13:00 15:00 (15 alunos
Leia maisAula 9 Especificação de Requisitos
Aula 9 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos relacionados
Leia maisPROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Condicional 1 Se 'C' é verdadeira Então?; 3 Condicional 1 Se 'C' é verdadeira Então? if (C)?; 4 Condicional 2 Se 'C' é verdadeira Então? Senão?? 5 Condicional
Leia maisMódulo 1 Conceitos Fundamentais
Estruturas de Dados Módulo 1 Conceitos Fundamentais 7/3/2007 (c) Marco A. Casanova - PUC-Rio 1 Preliminares Referência básica: Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas
Leia maisAula 9 Especificação de Requisitos Exercício
Aula 9 Especificação de Requisitos Exercício Alessandro Garcia LES/DI/PUC-Rio Abril 2017 Exercício Faça a especificação de requisitos do programa do jogo FreeCell com base no que foi apresentado na aula
Leia maisAula 17 Revisão. Alessandro Garcia LES/DI/PUC-Rio Abril 2010
Aula 17 Revisão Alessandro Garcia LES/DI/PUC-Rio Abril 2010 Matéria da Prova Todo material dado até o dia de hoje capítulos correspondentes do livro são indicados no início de cada aula material referenciado
Leia maisIndexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto.
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados 2017/1 Profa. Claudine Badue Trabalho 2 1. Objetivo Indexação e Busca O objetivo deste trabalho é projetar e implementar
Leia maisAula 02 Conceitos e Princípios de Modularidade 1
Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Agosto 2016 Lembretes Horário das aulas inicio cada aula a partir de 13:15 Sítio (site) da disciplina: www.inf.puc-rio.br/~inf1301
Leia maisTécnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C
Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento
Leia maisIntrodução à Programação I
Introdução à Programação I Introdução à Programação Estruturada Estruturas Básicas de Controle Material da Prof. Ana Eliza Fluxograma Definição Descrição de um algoritmo utilizando elementos gráficos.
Leia maisAula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU
Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se
Leia maisMAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003
MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque
Leia maisMAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007
MAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007 O Problema da Mochila São dados um inteiro positivo n e dois vetores quant e custot,
Leia maisTeste 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 maisLógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo
Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo
Leia maisEntrada. Comando 1 Comando 2. Saída
- - - - Entrada Se a condição é verdadeira Expressão Condicional Se a condição é falsa Comando 1 Comando 2 Saída Pseudocódigo se (Condição) então Códigos... senao Códigos... fim-se Linguagem C if(condição)
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Laços de Repetição em C Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO 1 while ( ) #include #include int main() int resultado, numero; printf (
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de
Leia maisAula 10 Especificação de Requisitos
Aula 10 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Setembro 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos
Leia mais15/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 maisIntrodução à Computação II AULA 08 BCC Noturno - EMA896115B
Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira olivrap@gmail.com Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução
Leia maisMC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais
MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais Instituto de Computação Unicamp 26 de Agosto de 2016 Roteiro 1 Expressões relacionais 2 Expressões lógicas 3 4 Exercícios (Instituto
Leia maisIntrodução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na
Leia maisO objetivo deste questionário é levá-lo a rever os fundamentos da linguagem C. Nomeadamente, a utilização de instruções de seleção e de repetição.
Seleção e Ciclos Objetivo O objetivo deste questionário é levá-lo a rever os fundamentos da linguagem C. Nomeadamente, a utilização de instruções de seleção e de repetição. Entrega do Questionário As respostas
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador
Leia maisProgramação Modular. Alessandro Garcia. DI/PUC-Rio Agosto 2016
Programação Modular Alessandro Garcia DI/PUC-Rio Agosto 2016 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso? Organização: aulas, avaliação
Leia maisAula 1 Apresentação do curso e Conceitos Fundamentais. Objetivo do curso
Estruturas de Dados Aula 1 Apresentação do curso e Conceitos Fundamentais 26/02/2008 (c) Depto. de Informática - PUC-Rio 1 Objetivo do curso Desenvolver habilidades de programação na linguagem C. Familiarizar
Leia maisAcadêmico: Subprogramação (funções)
Algoritmos Acadêmico: IP 06 Subprogramação (funções) Até agora, em todos os programas que criamos, codificamos uma única função: main(). Entretanto, em todos eles, diversas funções foram utilizadas: printf(),
Leia maisALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal
ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito
Leia maisAula 15 Revisões, Inspeções e Padrões de Programação 1
Aula 15 Revisões, Inspeções e Padrões de Programação 1 Quantas regras! ALUNO ESPANTADO A forma mais rápida de desenvolver um novo hábito é não ter outra alternativa [Hadden 1999] Alessandro Garcia LES/DI/PUC-Rio
Leia maisAula 8 Especificação de Requisitos
Aula 8 Especificação de Requisitos Alessandro Garcia Abril 2017 Recados Enunciado do trabalho prático (T2) já está disponível no sítio da disciplina: http://www.inf.puc-rio.br/~inf1301/ Enviem mensagem
Leia maisIntrodução à Programação
INF1005: Programação 1 Introdução à Programação 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Modelo de um Computador Ciclo de Desenvolvimento 08/03/10 (c) Paula Rodrigues 2 Modelo de um Computador
Leia maisMódulo 3 Controle de Fluxo
Estruturas de Dados Módulo 3 Controle de Fluxo 16/8/2005 (c) Marco A. Casanova - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
Leia maisSCC0503 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior. Trabalho 2
SCC003 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior Trabalho 2 Implemente sua atividade sozinho sem compartilhar, olhar código de seus colegas, ou buscar na Internet. Procure usar
Leia maisAula 10 Arquitetura de Software e Exercício. Alessandro Garcia LES/DI/PUC-Rio Abril de 2017
Aula 10 Arquitetura de Software e Exercício Alessandro Garcia Abril de 2017 Não Esquecer... Preencher tabela de atividades ao longo do processo. NÃO DEIXE PARA ÚLTIMA HORA, POIS VOCÊ NÃO SE LEMBRARÁ DO
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisPROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real para X 2 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real
Leia mais1) Operadores de auto incremento ++ e auto decremento --
Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?
Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisEngenharia de Software
Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação
Leia maisLógica de Programação I
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Até agora, todos os algoritmos que foram vistos têm um fluxo de execução único, ou seja, as instruções que serão executadas são sempre as mesmas, independentemente
Leia maisTeste 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 maisCapítulo 1 Números Reais
Departamento de Matemática Disciplina MAT154 - Cálculo 1 Capítulo 1 Números Reais Conjuntos Numéricos Conjunto dos naturais: N = {1,, 3, 4,... } Conjunto dos inteiros: Z = {..., 3,, 1, 0, 1,, 3,... } {
Leia maisMAC2166 Introdução à Computação para Engenharia Escola Politécnica Primeira Prova 05 de abril de 2010
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Primeira Prova 05 de abril de 2010 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque as folhas deste caderno. 2.
Leia mais13 Operadores relacionais
13 Operadores relacionais Os operadores relacionais permitam comparar valores (ou expressões) dos tipos: inteiro, real ou caracter devolvendo como resultado: verdadeiro (true) ou falso (false) E estes
Leia maisIntroduçã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 maisSub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto
Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem
Leia maisAula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Leia maisLinguagem de Programação
Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções
Leia mais... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr
26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa. ... Subprogramas Após fazer as
Leia maisCapítulo 06: Arquivos
Capítulo 06: Arquivos INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Funções de entrada e saída em arquivos Motivação: quando um programa precisa processar
Leia maisComando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.
Comando Switch Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante. O código pode ficar difícil de ser seguido e confundir até mesmo o seu autor no
Leia mais3. 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 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos
Leia maisMotivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software
Estrutura de Dados Aula 01 -Tipos Abstratos de de Dados Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Motivação Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto
Leia maisRegras de estilo para código fonte em C/C++
Regras de estilo para código fonte em C/C++ No processo de escrita de código fonte em uma linguagem de alto nível é interessante que o programador se preocupe não somente com a correção sintática e lógica
Leia mais5 Comando de Seleção Simples e Composta
5 Comando de Seleção Simples e Composta Ronaldo F. Hashimoto e Carlos H. Morimoto Essa aula introduz o comando de seleção, que permite ao seu programa tomar decisões sobre o fluxo do processamento, ou
Leia maisCOMANDOS DE CONTROLE DE FLUXO. Luís Charneca.
COMANDOS DE CONTROLE DE FLUXO Luís Charneca luis.charneca@gmail.com O Comando IF (1) Os comandos de controle de fluxo são aqueles que permitem ao programador alterar a sequência de execução do programa.
Leia maisFunções monótonas. Pré-Cálculo. Atividade. Funções crescentes. Parte 3. Definição
Pré-Cálculo Departamento de Matemática Aplicada Universidade Federal Fluminense Funções monótonas Parte 3 Funções crescentes Pré-Cálculo 1 Atividade Pré-Cálculo 2 Dizemos que uma função f : D C é crescente
Leia maisAula 08 Ferramentas de desenvolvimento. Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017
Aula 08 Ferramentas de desenvolvimento Alessandro Garcia Alexander Chávez Eduardo Fernandes Leonardo Sousa LES/DI/PUC-Rio Setembro 2017 Especificação Objetivo dessa aula Apresentar algumas das ferramentas
Leia mais7 Conclusão e Trabalhos Futuros
7 Conclusão e Trabalhos Futuros O teste é uma etapa importante no desenvolvimento de software. Quando realizado de forma apropriada pode identificar uma grande parcela dos defeitos contidos no software,
Leia maisAula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Repetição Em certas situações é necessária a repetição de
Leia maisIntroduçã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 maisTodos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 RELAÇÕES
FUNÇÃO DEFINIDA POR MAIS DE UMA SENTENÇA... MÓDULO... 6 PROPRIEDADES DO MÓDULO... 6 FUNÇÃO MODULAR... 9 GRÁFICO DA FUNÇÃO MODULAR... 9 EQUAÇÕES MODULARES... 7 INEQUAÇÕES MODULARES... 3 RESPOSTAS... 37
Leia maisProgramação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 7 Sumário: Classificação de tipos de dados Características gerais de tipos de dados compostos Definição de array (ou tabela)
Leia maisTrabalho Linguagem e Programação de Compiladores
Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:
Leia maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem
Leia maisTeste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado
Teste de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 30 de agosto de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Níveis de Teste 3 Terminologia
Leia maisSSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos
Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um
Leia maisIntrodução à Programação C
Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Recapitulando Um programa C é uma sequência de diretivas (#include e #define), declarações de funções auxiliares,
Leia maisLó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 maisMétodos Computacionais em Física
Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 214-2 Variáveis indexadas (arrays) Diversos problemas requerem o uso de vetores ou matrizes: Um conjunto de dados do mesmo tipo
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Funções
Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída
Leia maisCap. 3 Entrada e Saída e Controle de Fluxo
Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados
Leia maisMaterial sobre Funções AEDS 1
Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -
Leia maisIntrodução - SFC. Elemento SFC - Etapa. PMR 2460 A-02 SFC (Sequential function Chart) Prof. Dr. Diolino J Santos Filho
PMR 2460 A-02 SFC (Sequential function Chart) Prof. Dr. Diolino J Santos Filho Introdução - SFC É um modelo de representação gráfica adequada principalmente para o Controle Seqüencial caracterizado por:
Leia maisEstruturas de Repetição
Estruturas de Repetição Aula nº M@nso 00 Sumário Repetição simples de instruções Enquanto para Repetição com controlo final Repete faz Repetição composta de instruções Eercícios Fluo de eecução Inicio
Leia maisIntrodução à Programação. Ciclos 1ª parte
Introdução à Programação Ciclos 1ª parte Sumário Ciclos while Exercícios com instruções condicionais e ciclos Ciclos (while) while ( ) ; Enquanto for diferente de zero
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisDURAÇÃO DA PROVA: 2 horas
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Primeira Prova 09 de abril de 2012 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque as folhas deste caderno. 2.
Leia maisEstruturas de Repetição
Estruturas de Repetição Disciplina: Algoritmos e Programação Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé Email: lucianobrum18@gmail.com Horários de atendimento: (outros
Leia maisAula 27 Testes Caixa Branca. Alessandro Garcia Willian Oizumi LES/DI/PUC-Rio Novembro 2014
Aula 27 Testes Caixa Branca Alessandro Garcia Willian Oizumi LES/DI/PUC-Rio Novembro 2014 Especificação Objetivo dessa aula Apresentar os conceitos básicos utilizados ao testar módulos Apresentar 3 critérios
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a
Leia maisMaterial Teórico - Inequações Produto e Quociente de Primeiro Grau. Sistemas de inequações. Primeiro Ano do Ensino Médio
Material Teórico - Inequações Produto e Quociente de Primeiro Grau Sistemas de inequações Primeiro Ano do Ensino Médio Autor: Prof. Fabrício Siqueira Benevides Revisor: Prof. Antonio Caminha M. Neto 5
Leia maisAula 11 Modelagem da Arquitetura. Alessandro Garcia LES/DI/PUC-Rio Abril 2016
Aula 11 Modelagem da Arquitetura Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Especificação Objetivos dessa aula Revisar notação de modelagem da arquitetura Realizar exercício: definição da arquitetura
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c
Leia maisProgramação Estruturada Aula - Estruturas de Repetição
Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem
Leia maisIntrodução à Programação
Introdução à Programação Aula 09 Arquivos Edirlei Soares de Lima Funções de Entrada e Saída em Arquivos Até agora nós desenvolvemos somente programas que capturam dados de entrada
Leia maisTécnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.
DCC / ICEx / UFMG Técnicas de Reutilização Reutilização em Programação Orientada a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reuso de classes Bibliotecas Frameworks Considere três classes
Leia mais