Resolução de problemas utilizando computador Módulo II Prof. RANILDO LOPES Computador: ferramenta para processamento automático de dados Processamento de dados: atividade que transforme dados de entrada em dados de saída (resultados) Etapas para a resolução de problemas: i) Entendimento do problema ii) Modelagem do problema em uma sequência de operações que, quando executadas, fornecem sua solução iii) Execução desta sequência de operações iv) Verificação da adequação da solução Obs: etapas i), ii) e iv) feitas por pessoas, e etapa iii) feita por computadores. Programação: Planejamento, projeto, escrita e testes de instruções a serem executadas por computadores. Há formas diferentes de modelar um problema: Modelagem: representação do problema, a qual captura seus aspectos essenciais. Um programa é um modelo do problema, porém de tratamento usualmente complexo. Há diferentes métodos para se chegar a um programa, usando-se modelos intermediários. Abordagem elementar: decompor o problema em partes menores. 1
Programação: Dividindo a programação em fases distintas: Algoritmos computacionais: Algoritmo é uma sequência de instruções, que devem ser entendidas e realizadas: Computador oferece um conjunto limitado de instruções Algoritmo deve usá-las para modelar e resolver o problema. Ou seja, algoritmo deve ser expresso usando essas instruções. Dois conceitos básicos são usados para construir algoritmos: Estruturas de dados: para manipular os dados. Estruturas de controle: para manipular as ações. Algoritmos computacionais: De forma geral, as diretrizes para sua construção são: 1. Identificação do problema: o que se quer resolver e o objetivo a ser atingido 2. Identificação das entradas de dados 3. Identificação das saídas de dados (resultados) 4. Identificação das regras e limitações do problema (requisitos funcionas). 5. Determinação de como transformar as entradas em saídas: 5.1 Sequência de ações 6. Construção do algoritmo 7. Teste da solução Algoritmos computacionais: exemplo Deve-se calcular a média final de alunos. Estes realizarão 4 provas: P1, P2, P3 e P4. A média final é calculada por: (P1 + P2 + P3 + P4) / 4 a) Quais são os dados de entrada? b) Quais são os dados de saída? c) Qual é o processamento a ser utilizado? 2
Descrição do algoritmo: Descrição de algoritmos Descrição narrativa: especificação dos passos em linguagem natural Linguagem natural comumente se mostra imprecisa e redundante Utilização mais adequada para inserir comentários que expliquem detalhes do algoritmo 1. Receba a nota da prova 1 2. Receba a nota da prova 2 3. Receba a nota da prova 3 4. Receba a nota da prova 4 5. Some todas as notas e divida por 4 6. Mostre o resultado da divisão Descrição com diagrama de blocos (ex: fluxograma) Uso de instruções gráficas para representar as ações. Útil para mostrar o fluxo de execução e a sequência de passos Porém problemas complexos podem gerar diagramas poluídos Descrição de diagrama de blocos Símbolos elementares usados em fluxogramas: Descrição com diagrama de blocos Exemplo do cálculo da média final: 3
Pseudo-linguagem: Linguagem simplificada de programação (ex, Portugol) Usa regras claras para as sentenças, com palavras-chaves, indentação, apenas uma instrução por linha, e símbolo para representar final de um passo (ex: ; ) Teste de mesa: Um algoritmo deve poder ser testado O teste deve verificar o resultado do algoritmo para determinados dados de entrada representativos No teste se executam as instruções do algoritmo No exemplo da média final, podem-se fornecer notas de provas e verificar as médias resultantes. Teste de Mesa Exemplo da média final; 1) Faça um algoritmo para calcular o estoque médio de uma peça, sendo que EstoqueMédio = (QuantidadeMínima + QuantidadeMáxima) / 2. Aponte os dados de entrada e de saída. 2) Teste o algoritmo anterior com dados por você fornecidos. 3) Faça um algoritmo que verifique se uma operação sobre um arquivo (leitura, escrita, ou execução) pode ser realizada. Considere o sistema de permissões do Linux. Quais são os dados de entrada e de saída? 4) Teste o algoritmo anterior com dados por você fornecidos. 4
5. Faça um algoritmo que leia a cotação do dólar, leia um valor em dólares e mostra o valor correspondente em reais. 6. Faça um algoritmo que leia quatro números, calcule o quadrado de cada um deles, some-os e mostre o resultado. 7. Construa um algoritmo para calcular a comissão de 5% dada a vendedores de peças, usando os seguintes dados: identificação do vendedor, código da peça, preço unitário da peça e quantidade de peças vendidas. Faça um teste de mesa de seu algoritmo. 8. Calcular a quantidade dinheiro gasta por um fumante. Dados: o número de anos que ele fuma, o nº de cigarros fumados por dia e o preço de uma carteira. 9. Ler dois números inteiros, x e y, e imprimir o quociente e o resto da divisão inteira entre eles. 10. Calcular a média final dadas as notas das 3 provas e produzir uma saída com a média. 5