Prévia do material em texto
LÓGICA DE PROGRAMAÇÃO E ALGORITMOS - LPA Prof.ª Me. Liliane Balduino de Carvalho Coelho e-mail: liliane.coelho@docente.unip.br 1 PLANO DE ENSINO 2 PLANO DE ENSINO 3 ⦁ PLANO DE ENSINO CURSO: Ciência da Computação ANO APLICAÇÃO: 2023-2 SÉRIE: 2º/1º semestre DISCIPLINA: J701 – Lógica de Programação e Algoritmos C. H. SEMANAL: 4,5 horas PROFESSOR: Liliane Balduino de Carvalho Coelho C. H. SEMESTRAL: 90 horas PLANO DE ENSINO • 1. EMENTA • Lógica de programação. Técnica de desenvolvimento de algoritmo. Atribuição. Entrada e saída. Fluxo de execução. Entradas de controle de fluxo de execução. Tipos primitivos de dados. Ferramentas para elaboração de algoritmos. Fluxograma e pseudocódigo. 4 2. OBJETIVO GERAL Desenvolver o raciocínio lógico aplicado à solução de problemas em nível computacional. 3. OBJETIVOS ESPECÍFICOS Capacitar o aluno a analisar problemas, projetar e validar soluções para os mesmos, através do uso de técnica e ferramentas de programação que envolvam raciocínio estruturado e modularização. PLANO DE ENSINO 5 4. COMPETÊNCIAS Ser capaz de desenvolver raciocínio lógico, e ordenado, no desenvolvimento de algoritmos para atingir as soluções necessárias ao desenvolvimento de projetos de software. Compreender os algoritmos básicos necessários para o desenvolvimento de algoritmos. Aplicar o conhecimento acerca dos algoritmos básicos como base para o desenvolvimento de novos algoritmos. Conhecer as ferramentas de suporte ao desenvolvimento de algoritmos. PLANO DE ENSINO 6 5 – CONTEÚDO PROGRAMÁTICO MODÚLO 01 • Conceitos Básicos Conceito de Algoritmo • Método para a construção de algoritmos • Tipos de Algoritmos • Descrição Narrativa • Fluxograma • Pseudocódigo ou portugol • Exemplos de Algoritmos • MÓDULO 02 • Conceito de Variável • Tipos de Dados • Numérico • Lógico • Literal ou caractere • Formação de Identificadores • Exemplo de Identificadores PLANO DE ENSINO 7 MÓDULO 03 Estrutura Sequencial • Estrutura sequencial em algoritmos. o Declaração de Variáveis em algoritmos. o Comando de atribuição em algoritmos. • Exercícios MÓDULO 04 • Continuação de Estrutura sequencial • Comando de Entradas em algoritmos • Comando de saída em algoritmos. MÓDULO 05 Estrutura Condicional • Estrutura condicional em algoritmos • Estrutura condicional simples • Estrutura condicional composta • Exercícios PLANO DE ENSINO 8 MÓDULO 6: EXERCICIOS • Estrutura condicional MÓDULO 07 • Estrutura CASE • Operadores Lógicos • Exercícios MÓDULO 08 Estrutura de Repetição • Estrutura de repetição em algoritmo • Estrutura de repetição para números definidos de repetições (estrutura PARA) PLANO DE ENSINO 9 MÓDULO 09 • Estrutura de repetição para número indefinido de repetições e testes no início (estrutura ENQUANTO) • Estrutura de repetição para número indefinido de repetições e teste no final (estrutura REPITA) MÓDULO 10 • Vetor simples MÓDULO 11 • Vetor composto MÓDULO 12 Funções PLANO DE ENSINO 10 6 – ESTRATÉGIAS DE TRABAHO As disciplinas são ministradas preferencialmente por meio de aulas expositivas, metodologias ativas e diversificadas apoiadas nos planos de ensino. O desenvolvimento dos conceitos e conteúdos ocorre com apoio de propostas de leituras de livros e artigos científicos básicos e complementares, exercícios, discussões em fórum/chats ou presenciais - quando for o caso, sugestões de filmes, vídeos e demais recursos audiovisuais. Com o objetivo de aprofundar e enriquecer o domínio dos conhecimentos e incentivar a pesquisa, o docente pode propor trabalhos individuais ou em grupo, palestras, atividades complementares e práticas em diferentes cenários, que permitam aos alunos assimilarem os conhecimentos essenciais para sua formação. Uso da ferramenta VisualG para elaboração e testes de algoritmos. PLANO DE ENSINO 11 7. AVALIAÇÃO A média do semestre será calculada de acordo com o Regimento da IES. As avaliações e o critério de aprovação seguem o determinado pela instituição, conforme divulgação feita no manual do aluno. É exigida a frequência mínima de 75%. O desempenho do aluno é avaliado numa escala de 0 (zero) a 10 (dez). PLANO DE ENSINO 12 8. BIBLIOGRAFIA Básica ASCENCIO, Ana Fernanda G. CAMPOS, Edilene A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal e C/C++. 2.ed. Prentice Hall, 2008. https://plataforma.bvirtual.com.br/Leitor/Publicacao/417/pdf/0. Acesso em: 09 nov. 2022 CARBONI, Irenice de Fátima. Lógica de Programação. Thomson. XAVIER, Gley Fabiano Cardoso. Lógica de Programação - Cd-rom. Senac São Paulo – 2007. Complementar CARVALHO, Fábio Romeu, ABE, Jair Minoro. Tomadas de decisão com ferramentas da lógica paraconsistente anotada: Método Paraconsistente de Decisão (MPD). São Paulo: Blucher, 2012. https://plataforma.bvirtual.com.br/Leitor/Publicacao/177681/pdf/0. Acesso em: 10 nov. 2022. FORBELLONE, André Luiz Villar. Eberspache, Henri Frederico. Lógica de Programação : a construção de algoritmos e estrutura de dados. São Paulo: Pearson, 2005. https://plataforma.bvirtual.com.br/Leitor/Publicacao/323/pdf/0. Acesso em: 09 nov. 2022 LEITE, Mário - Técnicas de Programação – Brasport - 2006. PAIVA, Severino – Introdução à Programação – Ed. Ciência Moderna – 2008. PAULA, Everaldo Antonio de. SILVA, Camila Ceccatto da. Lógica de Programação – Viena – 2007. https://plataforma.bvirtual.com.br/Leitor/Publicacao/417/pdf/0 https://plataforma.bvirtual.com.br/Leitor/Publicacao/177681/pdf/0 https://plataforma.bvirtual.com.br/Leitor/Publicacao/323/pdf/0 PLANO DE ENSINO 13 PLANO DE ENSINO 14 PLANO DE ENSINO 15 AULAS 16 MÓDULO I CONCEITOS BÁSICOS 17 Conceito de Problema Problema (Dicionário): • Questão matemática proposta para ser resolvida. • Questão difícil, delicada, suscetível de diversas soluções. • Qualquer coisa de difícil explicação; mistério, enigma. • Dúvida, questão. 18 19 Problemas fazem parte do nosso cotidiano. Sempre que nos deparamos com um problema buscamos um procedimento para solucionar o mesmo. 20 Exemplo de problemas cotidianos: Trocar a resistência de um chuveiro. Para trocar a resistência de um chuveiro devemos: 1. Adquirir uma resistência nova; 2. Localizar o chuveiro a ser manipulado; 3. Abrir o chuveiro; 4. Retirar a resistência defeituosa; 5. Colocar a resistência nova; 6. Fechar o chuveiro; 7. Descartar a resistência defeituosa. CONCEITOS BÁSICOS 21 O que orientou a obtenção dos procedimentos para as soluções vislumbradas? A lógica! O que é lógica? “A lógica é o ramo da Filosofia e da Matemática que estuda os métodos e princípios que permitem fazer distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento verdadeiro.” 22 O uso da lógica é primordial na solução de problemas. Com ela é possível alcançar objetivos com eficiência e eficácia. Ninguém ensina outra pessoa a pensar, mas a desenvolver e aperfeiçoar esta técnica, com persistência e constância. 23 Por que Aprenderemos Lógica de Programação? A finalidade em aprendermos “lógica de programação” é justamente fazer com que o pensamento lógico seja desenvolvido em nossos cérebros. Para muitos, o pensamento lógico é uma arte, ou seja, a “arte de pensar”. 24 25 Diariamente nos deparamos com problemas que dependem de raciocínio para serem solucionados. Isso acontece em casa, no trabalho, na escola, ..., por exemplo, no momento que acordamos realizamos uma porção de tarefas em uma sequência lógica. 26 Não pensamos para realizar tais tarefas, pois já são automáticas em nossas rotinas. Todos os dias nós acordamos, levantamos da cama, vamos até o banheiro, escovamos os dentes, tomamos banho, trocamos de roupa, tomamos café da manhã e saímos de casa para a escola, trabalho etc. Claro que nem todos executam todos esses passos e nem mesmo nesta mesma ordem. Porém, como isso já é automático no dia-a-dia,nós sequer pensamos em como realizar essas tarefas. 27 Muitas outras tarefas podem ser observadas no dia a dia: • Tomar um banho; • Trocar de roupa; • Ir para o trabalho; • Dirigir um veículo; • Definir o melhor caminho para ir ao trabalho; • A forma de cálculo de nossa conta de luz, água, telefone etc. 28 Na programação acontece a mesma coisa. O computador precisa receber as instruções de forma lógica e coerente para realizar suas tarefas. E aplicando com bastante frequência o pensamento lógico para a resolução de nossos problemas, isso acaba se tornando uma coisa natural. Assim como hoje em dia é natural a tarefa de acordar ou tomar café da manhã. 29 Essa sequência lógica de execução de tarefas leva o nome de “algoritmo”. Conceitos para ALGORITMOS. Vamos citar alguns: “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema especifico”. (KNUTH) 30 “Sequência ordenada e não ambígua de passos que levam a solução de um problema”. (TREMBLAY) “Processo de cálculo ou resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução de um problema”. (AURÉLIO) "Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido." (FORBELLONE, 1999). 31 “Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa." (ASCENCIO, 1999). "Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância." (SALVETTI,1999). "Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas." (MANZANO, 1997). 32 “Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações." (FARRER, 1999). Será que fazemos algoritmos diariamente??? 33 • Algoritmos No dia a dia fazemos centenas de algoritmos. Por exemplo: tomar banho, tomar o café da manhã, trocar uma lâmpada, fazer uma ligação telefônica, fazer uma receita de bolo, fazer um omelete, consultar extrato bancário, etc. 34 Para que serve os Algoritmos? Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas. 35 36 Ao utilizarmos a lógica para listar passos ordenados que resultem na solução de um determinado problema estamos construindo um algoritmo. Podemos definir um algoritmo como: • uma sequência de passos que visa atingir um objetivo bem definido; • uma sequência de passos bem definida que deve ser seguida para a realização de uma tarefa ou solução de um problema. Lógica é a técnica de encadear pensamentos para atingir determinado objetivo. Necessária para desenvolver programas e sistemas, pois permite definir a sequência lógica para a solução de um problema. 37 38 Um exemplo de ambiguidade presente em uma sentença na linguagem natural é: O policial escutou o barulho da porta. Esta frase pode ter pelo menos três interpretações: 1 - O policial escutou o barulho produzido pela porta. 2 - O policial estava junto à porta e escutou o barulho. 3 - O policial escutou o barulho que veio através da porta. 39 Do ponto de vista computacional um algoritmo será implementado em uma linguagem de computação gerando um programa, que visa instruir um computador (uma máquina) a executar determinada tarefa. Devemos ter consciência que um computador não é dotado da capacidade de tomar decisões com base em premissas. 40 Portanto, não podemos instruir um computador com sentenças dúbias. Todo algoritmo deve apresentar algumas características básicas: • ter fim; • não dar margem à dupla interpretação (não ambíguo); • capacidade de receber dado(s) de entrada do mundo exterior; • poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo; • ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito). Sendo assim, consideraremos que um algoritmo é uma sequência, que não permite ambiguidade, de passos finitos, passível de ser executada com um esforço finito em tempo finito. 41 O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação tem início com a construção do algoritmo. 42Inicia o processo de mapeamento das abstrações O Gap Semântico, definido como “a distância do que o usuário solicita para o que o analista de sistemas compreende” O que é abstração? O que é Programação? = ABSTRAÇÃO! A realidade é complexa e rica em detalhes! O que você abstrai dessa realidade? Abstração Abstração = Operação mental que observa a realidade e captura apenas os aspectos relevantes para um contexto 47 Ao analisarmos as imagens, observamos que muitos podem ter a percepção diferente um dos outros, e, portanto, abstrair elementos de modo diferente para o mesmo cenário. Entende-se então que é importante diversos olhares distintos, os quais permitirão abstrair todos os objetos relevantes de um determinado negócio (domínio). A tarefa de programar sistemas computacionais envolve o exercício constante da abstração da realidade e sua codificação em uma linguagem de programação. Abstração 49 Para executar um programa dentro de um computador temos que ter em mente três passos essenciais: Vale lembrar que o computador não toma decisão alguma sozinho, portanto nunca podemos dizer que computadores cometem erros. Sempre que encontramos um erro, com certeza esse erro foi de origem humana. Conceitos Básicos Dados de entrada: representam os dados que são fornecidos para o computador para que ele possa manipular a saída de saída. Processamento: qualquer manipulação nos dados de entrada para gerar a saída. Dados de Saída: estes representam os resultados do processamento sobre os dados de entrada. 50 Exemplo 1: Algoritmo para calcular a média de três valores inteiros: Início Fornecer o primeiro valor inteiro; Fornecer o segundo valor inteiro; Fornecer o terceiro valor inteiro; Somar os três valores; Pegar o resultado da soma e dividir por 3; Mostrar o resultado obtido; Fim 51 Para o exemplo anterior, temos: • Quais são os dados de entrada? R: Três números inteiros. • Qual é o processamento a ser realizado nos dados de entrada? R: Somar os três valores inteiros e dividir o resultado por três. • Quais são os dados de saída? R: A média dos três valores inteiros. Processamento dos Dados (Processo) Entrada de Dados (Fornecidos) Saída de Dados (Resultado) 52 Início Fornecer o primeiro valor inteiro; Fornecer o segundo valor inteiro; Fornecer o terceiro valor inteiro; Somar os três valores; Pegar o resultado da soma e dividir por 3; Mostrar o resultado obtido; Fim ENTRADA PROCESSAMENTO SAÍDA 53 54 Podemos ter vários algoritmos para a resolução de um mesmo problema. Costumamos dizer que a possibilidade de um algoritmo ser igual a outro é quase remota (portanto meus queridos alunos, colar em uma prova de lógica de programação ou desenvolvimento nem pensar !). 55 Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos: 1. Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os objetos que o compõem. 2. Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos fazem parte desse cenário-problema. 3. Definir os passos e a ordem a serem realizados: determinar a sequências de ações que leve à solução do problema (transforme as entradas nas saídas). Diretrizes paraa Elaboração de Algoritmos 56 4. Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída. Além disso, deve-se verificar quais objetos são responsáveis pelas atividades. Diretrizes para a Elaboração de Algoritmos 57 5.Definir os dados de saída, ou seja, quais dados serão gerados depois do processamento. 6. Construir o algoritmo utilizando um dos seus tipos. 7. Testar o algoritmo realizando simulações. Diretrizes para a Elaboração de Algoritmos Propriedades de Algoritmos Para que se tenha um algoritmo, é preciso: a) Possuir ações simples e bem definidas (não ambíguas); b) Possuir sequência ordenada; c) Possuir sequência finita de passos; d) Possuir fim (todas as ações devem ser executadas em um tempo finito); e) Pode receber entradas externas; f) Pode fornecer saídas externas. 58 Propriedades de Algoritmos • Um algoritmo é considerado eficaz, quando o resultado pretendido é obtido, independentemente do tempo e dos recursos utilizados. • Por outro lado, um algoritmo será considerado eficiente, caso consiga atingir o resultado esperado no mínimo de tempo e com o menor número possível de recursos. • Um algoritmo deverá ser sempre eficaz e eficiente. 59 60 Critérios de qualidade de um programa - Refere-se à precisão das informações manipuladas pelo programa, ou seja, os resultados gerados pelo processamento do programa devem estar corretos, caso contrário o programa simplesmente não tem sentido. A seguir são apresentados os critérios importantes: • Generalidade: É interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos. ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS • Eficiência: Refere-se à velocidade de processamento e a correta utilização da memória. Um programa deve ter performance SUFICIENTE para atender às necessidade do problema e do usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das limitações do problema. • Modularização: Durante a fase de projeto, a solução do problema total vai sendo fatorada em soluções de subproblemas, o que permite geralmente dividir o problema em forma natural em módulos com subfunções claramente delimitadas, que podem ser implementados separadamente por diversos programadores de uma equipe, ou seja, a modularização consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação entre eles permite a resolução do problema de forma mais simples e clara. 61 ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS • Clareza: Refere-se à facilidade de leitura do programa. Se um programa for escrito com clareza, deverá ser possível a outro programador seguir a lógica do programa sem muito esforço, assim como o próprio autor do programa entendê-lo após ter estado um longo período afastado dele. A indentação irá contribuir com isso. • Simplicidade: A clareza e precisão de um programa são normalmente melhoradas tornando as coisas o mais simples possível, consistentes com os objetivos do programa. Muitas vezes torna-se necessário sacrificar alguma eficiência de processamento, de forma a manter a estrutura do programa mais simples. 62 ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS Ex. “somar dois números”: • Escrever primeiro número no retângulo A • Escrever segundo número no retângulo B • Somar o número do retângulo A com o número do retângulo B e • escrever o resultado no retângulo C A B C + = 63 Exemplo de algoritmo 10 12 22 64 Antes de nos aprofundarmos nos métodos de construção de algoritmos, devemos ter de forma clara a compreensão de alguns conceitos como: • Constante; • Variável; • Identificador; • Palavra-reservada; • Entrada; • Saída. 65 Para uma melhor compreensão dos conceitos citados, analisaremos o problema de preparar uma omelete. Partiremos da lista de ingredientes: • 5 ovos • 1/3 de uma xícara de chá de leite • 2 colheres de sopa de cebolinha verde picada • 3 pitadas de sal • 1 colher de sopa de manteiga 66 O procedimento de preparo, em linguagem natural, é o seguinte: Colocar em uma tigela os ovos, o leite, a cebolinha e o sal. Com a ajuda de uma colher de pau bater bem os ingredientes contidos na tigela. Colocar a manteiga em uma frigideira e a derreter. Colocar o conteúdo da tigela na frigideira e fritar em fogo baixo até a omelete dourar suavemente. Quando estiver quase seca, dobrar a omelete ao meio, colocar a omelete em um prato. A omelete está pronta para servir. 67 Ao analisarmos o procedimento de preparo percebemos que são necessários três recipientes: uma tigela, uma frigideira e um prato, além de uma colher de pau. Podemos visualizar os recipientes como variáveis, pois estes são regiões do espaço onde pode-se armazenar inúmeras substâncias. A colher de pau como uma constante devido a esta representar um objeto que participa do processo de preparo da omelete e que ao final se mantém inalterado. Percebemos também que são executadas algumas operações: colocar, bater, derreter, fritar, dobrar e servir. 68 Os nomes dos recipientes e os verbos correspondentes às ações podem ser visualizados como identificadores, uma vez que estes especificam o que será manipulado ou como será manipulado. Uma observação a ser feita é o fato de não podermos nomear um recipiente com um verbo correspondente a uma ação utilizada no processo, logo os verbos podem ser considerados como palavras-reservadas. Os ingredientes constituirão as entradas para o processo e a omelete será a saída. EXEMPLO: para “fazer omelete” Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc... 69 EXEMPLO: para “fazer omelete” Quanto às instruções isoladas: Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete”. 70 EXEMPLO: para “fazer omelete” Quanto à sequência lógica: Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete” 71 72 Representações Lógicas Existem várias formas para representar a resolução de um problema, vamos estudar as seguintes: descrição narrativa, pseudocódigo (ou português estruturado ou portugol) e Fluxograma (ou Diagrama de Bloco). 73 Descrição Narrativa Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua resolução. • Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, neste ponto, já é bem conhecida. • Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a transcrição desse algoritmo para programa. 74 Descrição Narrativa Algoritmo 1 Somar Três Números Passo 1 Receber os três números Passo 2 Somar os três números Passo 3 Mostrar o resultado obtido 75 Descrição Narrativa Algoritmo 2 Sacar dinheiro no banco 24 horas Passo 1 Ir até um banco 24 horas Passo 2 Colocar o cartão Passo 3 Digitar a senha Passo 4 Solicitar a quantia desejada Passo 5 Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque Passo 6 Retirar o cartão Passo 7 Sair do banco 24 horas 76 Pseudocódigo ou Português Estruturado ou Portugol Consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução. • Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas dessa linguagem que serão utilizadas. • Desvantagem: é necessárioaprender as regras do pseudocódigo. 77 Pseudocódigo é o código intermediário entre o português e a linguagem de programação. Utilizamos algumas instruções básicas para formar o pseudocódigo. A partir dele fica muito mais fácil implementar o programa. X, 78 Fluxograma ou Diagrama de Bloco Consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, os passos a serem seguidos para sua resolução. • Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de textos. • Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para um programa. 79 Simbologia Básica utilizada no fluxograma. A seguir alguns dos símbolos mais conhecidos e utilizados ao longo dos anos, para a elaboração de diagramas de bloco. 80 81 82 83 Exemplos: 01) Desenvolva um algoritmo em descrição narrativa, pseudocódigo e diagrama de bloco para ler um nome, endereço e telefone e imprimi-los na tela. 84 85 86 02) Desenvolva um algoritmo em descrição narrativa, pseudocódigo e diagrama de bloco para ler a base e a altura de um retângulo, calcular o seu perímetro e área, e exibir o resultado na tela. 87 Pseudocódigo 88 89 90 • Programa de Computador: sequência de instruções não ambígua e finita em uma linguagem de programação específica que, quando executada, resolve um problema determinado. • Linguagem de máquina: é a linguagem binária (composta de zeros e uns) utilizada pelos computadores, para representar dados, programas e informações. É tediosa, difícil de se compreender e fácil de gerar erros na programação. 91 Compilador x Interpretador • Compilador: é um programa utilizado para traduzir os programas escritos pelo programador nas linguagens de alto nível (programa fonte) para a linguagem de máquina (programa executável), a fim de poder ser executado pelo computador. Ex: Linguagem C, phyton • Interpretador: é um programa que traduz os programas escritos pelo programador para a linguagem de máquina, no momento da execução (não existindo assim o programa executável). Ex: Linguagem PHP e Phyton. 92 93 Slide 1: LÓGICA DE PROGRAMAÇÃO E ALGORITMOS - LPA Slide 2: PLANO DE ENSINO Slide 3: PLANO DE ENSINO Slide 4: PLANO DE ENSINO Slide 5: PLANO DE ENSINO Slide 6: PLANO DE ENSINO Slide 7: PLANO DE ENSINO Slide 8: PLANO DE ENSINO Slide 9: PLANO DE ENSINO Slide 10: PLANO DE ENSINO Slide 11: PLANO DE ENSINO Slide 12: PLANO DE ENSINO Slide 13: PLANO DE ENSINO Slide 14: PLANO DE ENSINO Slide 15: PLANO DE ENSINO Slide 16: AULAS Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33: Será que fazemos algoritmos diariamente??? Slide 34 Slide 35: Para que serve os Algoritmos? Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44: O que é Programação? = ABSTRAÇÃO! Slide 45: Abstração Slide 46 Slide 47 Slide 48: Abstração Slide 49 Slide 50: Conceitos Básicos Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58: Propriedades de Algoritmos Slide 59: Propriedades de Algoritmos Slide 60 Slide 61 Slide 62 Slide 63: Exemplo de algoritmo Slide 64 Slide 65 Slide 66 Slide 67 Slide 68 Slide 69 Slide 70 Slide 71 Slide 72 Slide 73 Slide 74 Slide 75 Slide 76 Slide 77 Slide 78 Slide 79 Slide 80 Slide 81 Slide 82 Slide 83 Slide 84 Slide 85 Slide 86 Slide 87 Slide 88 Slide 89 Slide 90 Slide 91 Slide 92: Compilador x Interpretador Slide 93