180 likes | 287 Views
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 tisemp@sj.ifsc.edu.br www.sj.ifsc.edu.br/~tisemp. Lógica de Programação.
E N D
MINISTÉRIO DA EDUCAÇÃOSECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICAINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIACAMPUS SÃO JOSÉ – SANTA CATARINA Lógica de ProgramaçãoMódulo II Prof. Tiago Semprebomtisemp@sj.ifsc.edu.brwww.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: • 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: • 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 • 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.