MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ – SANTA CATARINA Lógica de Programação Módulo II Prof. Tiago Semprebom [email protected] www.sj.ifsc.edu.br/~tisemp Lógica de Programação Resolução de problemas utilizando computador • Computador: ferramenta para processamento automático de dados • Processamento de dados: atividade que transforme dados de entrada em dados de saída (resultados) Lógica de Programação Etapas para a resolução de problemas: i) ii) iii) iv) Entendimento do problema Modelagem do problema em uma sequência de operações que, quando executadas, fornecem sua solução Execução desta sequência de operações Verificação da adequação da solução Obs: etapas i), ii) e iv) feitas por pessoas, e etapa iii) feita por computadores. Lógica de Programação 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. Lógica de Programação Programação: Dividindo a programação em fases distintas: Lógica de Programação 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. Lógica de Programação Algoritmos computacionais: De forma geral, as diretrizes para sua construção são: 1. 2. 3. 4. 5. 6. 7. Identificação do problema: o que se quer resolver e o objetivo a ser atingido Identificação das entradas de dados Identificação das saídas de dados (resultados) Identificação das regras e limitações do problema (requisitos funcionas). Determinação de como transformar as entradas em saídas: 5.1 Sequência de ações Construção do algoritmo Teste da solução Lógica de Programaçã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? Lógica de Programação Descrição do algoritmo: 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. 2. 3. 4. 5. 6. Receba a nota da prova 1 Receba a nota da prova 2 Receba a nota da prova 3 Receba a nota da prova 4 Some todas as notas e divida por 4 Mostre o resultado da divisão Lógica de Programação Descrição de algoritmos • 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 Lógica de Programação • Descrição de diagrama de blocos – Símbolos elementares usados em fluxogramas: Lógica de Programação Descrição com diagrama de blocos Exemplo do cálculo da média final: Lógica de Programação 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: “;”) Lógica de Programação 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. Lógica de Programação • Teste de Mesa – Exemplo da média final; Lógica de Programação • Exercícios: • 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. Lógica de Programação • Exercícios: • 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. Lógica de Programação • Exercícios: • 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.