Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Introdução à Programação de Computadores – Parte II Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Objetivos Aprender a redigir rotinas comuns do dia-a-dia forma de algoritmos Conhecer uma técnica para a construção de algoritmos computacionais Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Relembrando ... O funcionamento de qualquer computador está baseado nessa arquitetura básica: Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 APRENDENDO A PROGRAMAR COMPUTADORES: POR ONDE COMEÇAR ? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O principal componente de um programa de computador é a sua lógica, ou seja, o que o computador deve fazer para resolver um problema. Devemos então DESCREVER essa lógica numa linguagem que o computador “entenda” É mais fácil começar a programar (organizar a lógica) em uma linguagem de alto nível. Qual é a linguagem de mais alto nível para um ser humano que fala naturalmente o português? Aprendendo a Programar Computadores Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Vamos dar os primeiros passos na arte de programar computadores, em uma linguagem mais próxima da linguagem natural. O caminho mais tranquilo é por meio de ALGORITMOS Escrever ALGORITMOS é mais simples porque focam na solução do problemas e não consideram “detalhes” de linguagem, etc. Aprendendo a Programar Computadores Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 ALGORITMOS Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 É uma sequência finita de instruções, ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Um algoritmo fixa um padrão de comportamento a ser seguido, uma norma de execução, com o objetivo de resolver um determinado problema. Definição de ALGORITMO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 No dia-a-dia dizemos que é algo que é coerente, óbvio, correto. Lógica Logos + Ica Razão Ciência Estuda o raciocínio/pensamento humano. Estudo de argumentos Argumento é uma sequência de enunciados, na qual um dos enunciados é a conclusão, derivado a partir dos outros enunciados (premissas). É o oposto de “Isso não tem Lógica” O que é LÓGICA? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Todos os peixes vivem na água. (premissa1) Golfinhos são peixes. (premissa 2) .·. Golfinhos vivem na água. (conclusão) Tanto a forma de argumento quando a conclusão são verdadeiras, apesar de esta última ter sido deduzida a partir de uma premissa falsa (golfinhos são peixes). Um silogismo representa um argumento composto de duas premissas e uma conclusão. E estabelece uma conclusão, que pode ser válida ou não. Silogismo - Aristóteles Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 LÓGICA DE PROGRAMAÇÃO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Falar em lógica de programação significa contextualizar a lógica na construção de programas. Lógica de programação está relacionada ao raciocínio que precisamos desenvolver para resolver um problema cuja solução deverá ser implementada em um computador. Encadear pensamentos para atingir determinado objetivo. Como pensar como um programador ? Lógica de Programação Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 A habilidade mais importante para um cientista da computação é a solução de problemas; A solução de problemas é a habilidade de formular questões, pensar criativamente sobre soluções possíveis e expressar uma solução de forma clara e precisa; E aprender a programar é uma excelente oportunidade de praticar as habilidades da solução de problemas. Solução de Problemas Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Diagnosticar a doença de um paciente a partir da descrição dos sintomas, e medicá-lo. Criar um sistema de informação que permita gerir as entradas/saídas (cargas/descargas) de navios em um porto marítimo. Desenvolver um programa para controle da movimentação de um robô. Exemplo de Problemas Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Um algoritmo é uma forma de representar a solução de um problema por meio de uma sequência de passos. São exemplos de algoritmos: Receitas de bolos Manuais técnicos Guias de montagem Programas de computadores Algoritmo Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 EXEMPLO DE CONSTRUÇÃO DE ALGORITMO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Fazer um bolo de chocolate. Problema Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Qual o resultado esperado? Saída Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Saída Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O que é preciso para se obter o resultado desejado? Passos Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O que é preciso para se obter o resultado desejado? Ingredientes Passos Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Ingredientes: 5 ovos. 250 gramas de margarina cremosa. 2 xícaras (chá) de açúcar. 1 xícara (chá) de farinha de trigo. 1 xícara (chá) de chocolate. 200 gramas de côco ralado. 1 copo de leite. 1 colher (sopa) de fermento. Dados de Entrada Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Qual a sequência necessária (de uso dos ingredientes) para se obter o resultado desejado? Passos Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Modo de Preparo Bata a margarina, as gemas e o açúcar até ficar cremoso. Junte o leite, o côco e a farinha e continue batendo. Acrescente o fermento e, por último, as claras em neve. Unte uma forma com manteiga e leve ao forno para assar. Processamento Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 OUTRO EXEMPLO DE ALGORITMO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 ??? ??? ??? ??? ??? ??? ??? Algoritmo Quais ospassos para realizar a troca de uma lâmpada ? • Para quem troca lâmpadas com frequência (ou já viu trocar) os passos podem ser feitos automaticamente • Mas e se essa mesma pessoa tiver que deixar uma RECEITA para uma pessoa que nunca trocou uma lâmpada efetuar essa tarefa ? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada velha. Colocar a lâmpada nova. Algoritmo Quais os passos para realizar a troca de uma lâmpada ? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 1. ??? 2. ??? 3. ??? Algoritmo E se a lâmpada não estiver queimada? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 1. Acionar o interruptor. 2. Se a lâmpada não acender, então: Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada queimada. Colocar a lâmpada nova. Algoritmo E se a lâmpada não estiver queimada? Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Pode haver vários algoritmos para resolver um mesmo problema. Afinal, cada pessoa pensa e age de forma diferente. O desenvolvimento de algoritmos é um exercício de Criatividade Experiência Diversas soluções para um problema Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Diferentes algoritmos podem estar corretos, se levarem ao alcance do objetivo final. Entretanto, deve-se procurar desenvolver algoritmos que resolvam o problema com menos esforço e maior objetividade. Diversas soluções para um problema Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 ESCREVENDO ALGORITMOS Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Instrução/Comando: São frases que indicam as ações a serem executadas. São compostas de um verbo no imperativo, ou no infinitivo, mais um complemento. Exemplo: Bata (Bater) duas claras em neve. Ligue (Ligar) os faróis. Some (Somar) dois números. Imprima (Imprimir) resultado da soma. Para escrever ALGORITMOS (programas) é necessário o uso de INSTRUÇÕES / COMANDOS. ALGORITMO: instruções ou comandos Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Formalizar a escrita de algoritmos. Escrita na forma de pseudocódigo. Problema Pseudo linguagem se... então... senão... Linguagem de programação Java, C, Pascal, etc Linguagem de máquina Zeros e uns... Pseudolinguagem Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Uma linguagem (ou pseudolinguagem) possui duas características: Sintaxe - como escrever os comandos e seus componentes; Semântica - o significado de cada comando e conceito. A sintaxe e a semântica de uma linguagem de programação englobam várias ações, como, por exemplo: Declarações de Variáveis; Operadores; Comandos de entrada e de saída; Comandos de seleção, repetição etc. Pseudolinguagem Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Bloco de execução é um conjunto de ações que possui uma função bem definida. O início de um bloco é marcado pela palavra início. O fim de um bloco é marcado pela palavra fim. início <declaração de variáveis> <comandos> fim Bloco de Execução Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O próprio algoritmo é um bloco de execução. A sintaxe da definição do bloco de um algoritmo é: Algoritmo <NomeDoAlgoritmo> início <declaração de variáveis> <comandos> fimalgoritmo. Bloco de Execução Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 TÉCNICA PARA A CONSTRUÇÃO DE ALGORITMOS Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O que preciso? (Entrada) Como chegar ao que quero? (Processamento) O que quero? (Saída) ALGORITMO – Sequência do Programa Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 O que preciso? (Entrada) Como chegar ao que quero? (Processamento) O que quero? (Saída) ALGORITMO – Passos para construção Na construção do algoritmos devemos identificar primeiro a SAÍDA de dados, para então pensar nos passos necessários para chegar nessa saída Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Identificar o problema (objetivo) mediante leitura atenta de seu enunciado (entendimento) . Identificar os resultados que devem ser gerados na solução (saída de dados) . Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados) . Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento) . ALGORITMO – Passos para a construção Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. ALGORITMO – EXEMPLO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. ALGORITMO – EXEMPLO Identificar os resultados que devem ser gerados na solução (saída de dados) Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer ALGORITMO – EXEMPLO Identificar os resultados que devem ser gerados na solução (saída de dados) O resultado da soma Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer ALGORITMO – EXEMPLO Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados) Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. ALGORITMO – EXEMPLO Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados). Os dois números. Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. ALGORITMO – EXEMPLO Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento) . Somar os dois números. Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. ALGORITMO – EXEMPLO Organizando o ALGORITMO numa ordem coerente. Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Escreva um algoritmo para somar dois números quaisquer. 1. Leia o número X 2. Leia o número Y 3. Some X e Y 4. Mostreo resultado da soma Entrada Saída Processamento Número X Número Y Somar X e Y Resultado da soma ALGORITMO – EXEMPLO Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados, Prentice Hall, 2005 • CAPÍTULO 1 – Introdução a Lógica de Programação Leituras Sugeridas Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 RESUMINDO... Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 • As rotinas do dia-a-dia podem ser descritas na forma de Algoritmos • Escrever algorimos é mais ou menos como escrever um MANUAL para que algúem execute uma tarefa • Um algoritmo computacional (para ser executado por um computador) precisa seguir alguns padrões de linguagem • A construção de algoritmos a partir de um enunciado de um problema requer técnicas de compreensão e refinamento da solução • Qual a SAÍDA de dados requerida ? • Qual a ENTRADA de dados necessária? • Qual o PROCESSAMENTO necessário para transformar ENTRADA em SAÍDA ? Coisas para não esquecer: Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 EXERCÍCIOS DE LÓGICA Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Um lobo, uma cabra e uma couve têm de atravessar um rio em um barco que transporta um de cada vez, incluindo o barqueiro. Como o barqueiro os levará para o outro lado de forma que a cabra não coma a couve e o lobo não coma a cabra? Exercício 1 Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Dois homens seguiam por um caminho. Um levava 8 litros de vinho em um garrafão e o outro levava 8 litros de vinho em dois garrafões, um com cinco litros e um com três. Eles beberam o vinho do garrafão maior, de 8 litros, e agora querem dividir os 8 litros de vinho restante igualmente, para nenhum dos dois carregar mais peso que o outro. Entretanto, eles só podem usar como medida, os próprios garrafões: um de 8 litros, um de 5 e um de 3. Como fazer? Exercício 2 Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 EXERCÍCIOS DE ALGORITMOS Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Descreva a sequência de passos necessária para: Colocar um carro em movimento. Exercício 1 Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores – Parte 2 Descreva a sequência de passos necessária para: Jogar o jogo da velha. Exercício 2
Compartilhar