Adriano A. Ribeiro. O que é Lógica de Programação Lógica de programação nada mais é do que uma forma de se escrever um programa de computador com uma.

Slides:



Advertisements
Apresentações semelhantes
Paradigmas de Linguagens Conceitos Básicos
Advertisements

PRC Bruno Correa.
Formas de Representação de Algoritmos
Introdução à Programação
Linguagem de Programação II Parte IX
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
TÉCNICAS DE PROGRAMAÇÃO
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Fábio de Oliveira Borges
Programação de PIC em C Exposição das funções básicas para
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Aula 5 Bioestatística. Estatísticas para uma variável.
MCEF 2012/2013. Introdução ao “Mathematica” Utilização do Mathematica Funcionamento do programa Regras da Linguagem Exemplos Exercícios!!
CARTILHA DE APOIO COMPUTACIONAL AO CÁLCULO Área de Conhecimento: Ciências Exatas e da Terra Autor: Christian Wagner Programa: PUIP Curso: Engenharia Civil.
Guia de referência para utilização do autorizador.
Funções Prof. Márcio.
Classificação Decimal Universal E.B.2,3 Padre Joaquim Maria Fernandes CDU.
Introdução POO Thiago Medeiros Sistemas de Informação Definição: Sistemas de Informação é uma combinação de pessoas, dados, processos, redes de.
Administração de Banco de Dados José Antônio da Cunha CEFET-RN.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
SECRETARIA DE ESTADO DA EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DIRETORIA DE DESENVOLVIMENTO HUMANO GERÊNCIA DE TECNOLOGIA DE INFORMAÇÕES EDUCACIONAIS E ADMINISTRATIVAS.
M ICROSOFT W ORD 2007 C OMANDOS Disciplina - Intermática Prof.ª Andréia Vieira do Nascimento.
Pontifícia Universidade Católica do Rio Grande Sul Lógica & Aritmética Aluno: Edgar Abreu.
Modelagem de Dados Aula 1.
Cálculo Numérico Computacional Prof. Linder Cândido da Silva.
Somadores e Multiplicadores
MATRIZES Profª Juliana Schivani
Adriano A. Ribeiro. O que é Lógica de Programação Lógica de programação nada mais é do que uma forma de se escrever um programa de computador com uma.
Universidade Federal do Espírito Santo - UFES Laboratório de Computação de Alto Desempenho - LCAD Introdução ao Logisim Prof. Alberto F. De Souza LCAD/DI/UFES.
Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo Revisão do Segundo Bimestre Profª. Katiuscia Lopes dos Santos.
GRASP: Projeto de Objetos com Responsabilidade. 2 Pauta Responsabilidades e métodos Responsabilidades e métodos Padrões Padrões GRASP: Padrões e princípios.
CONJUNTO NUMÉRICO Ao agrupamento de elementos com características semelhantes damos o nome de conjunto.Quando estes elementos são números, tais conjuntos.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
Média, Moda e Mediana Prof.: Adeilton Silva..
Adriano A. Ribeiro. Português Estruturado Apesar do Português Estruturado ser uma linguagem bastante simplificada, ela possui todos os elementos básicos.
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
RESUMOS UNIRIO Profª.: Maria Lucia Costa de Vasconcelos Chaves Disciplina: Metodologia da Pesquisa I NUTRIÇÃO/ INTEGRAL 1º semestre/2015.
CURSO BÁSICO DE INFORMÁTICA INSTRUTORA: JOSILENE BRAGA
Lógica de Programação Curso Técnico em Informática – Escola Olímpio Professor Marcelo Josué Telles
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Sequência Numéricas: Termos e Ordem
Matemática Financeira. JUROS SIMPLES Juro e Consumo Existe juro porque os recursos são escassos. As pessoas têm preferência temporal: preferem consumir.
Algoritmos Grupos de Slides No 1. Prof. J. M. SIMÃO Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS.
OPERAÇÕES COM NÚMEROS NATURAIS
Capítulo 5: SCRIPTS ALUNOS: CARLOS EDUARDO C. DESIDERIO / EDUARDO MATHEUS VOLANSKI JADER JEPSEN SCHMIELE / LINDOLFO.
PRÁTICA SIMULADA II Aula 1 – Apresentação do Plano de Ensino Profª. Andréa Cleto.
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 2/6/ :46 1 TABELAS A TAG é utilizada para apresentação de dados no formato de tabelas (apresentação.
CICLO BÁSICO GEOMETRIA OBJETIVOS Espera-se que o aluno:
ANÁLISE DE INVESTIMENTOS
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
PROJETO DE NIVELAMENTO – ITEC/PROEX - UFPA PROJETO DE NIVELAMENTO – ITEC/PROEX - UFPA EQUIPE FÍSICA ELEMENTAR EQUIPE FÍSICA ELEMENTAR DISCIPLINA: FÍSICA.
ESCOLHA DE LIVROS (PNLD – 2014) DISTRIBUIÇÃO DE LIVROS ANA CAROLINA SOUZA LUTTNER Coordenação de Apoio às Redes de Ensino.
Prof. César Felipe Lógica de programação. Nesta apostila estudaremos Lógica de Programação e, para isto, é importante ter uma visão geral do processo.
Lógica de Programação Aula 08 Prof. Marcelo Marcony.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
Lógica de programação Estruturas de seleção Estruturas de repetição Sub-Rotinas 1.
Revisão de Conceitos Thiago Medeiros Barros. Algoritmos Qualquer problema de computação pode ser resolvido executando uma série de ações em uma ordem.
Diagramas de Sequência e Comunicação
Metodologia do Ensino da Matemática – Aula 05 IMES – Fafica Curso de Pedagogia – 3º Ano Prof. MSc. Fabricio Eduardo Ferreira
Mídias Sociais Aula 04 Mecanismo de Busca Operadores Prof. Dalton Martins Gestão da Informação Universidade Federal de Goiás.
Gráficos Curso: Sistemas de Informação Disciplina: Estatística e Probabilidade Professor: Munelar de Assis Falcão 04 de março de 2009 Aula 3.
EDITOR DE PLANILHAS MICROSOFT EXCEL 2010
Algoritmos Grupos de Slides No 4. Prof. SIMÃO Estrutura de decisão de múltipla escolha “escolha-caso” switch case Feito por Prof. Jean Marcelo SIMÃO e.
Prof. Gustavo Fernandes de Lima Descrevendo Circuitos Lógicos Capítulo 3 Parte II.
Calculo de Hoare Daniel Soares, Gabriel Alabarse Hernandez(150756) e Vanius Zapalowski(150843)
Algoritmos Grupos de Slides No 3. Prof. SIMÃO Estrutura de decisão composta "se senão" if else end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof.
Transcrição da apresentação:

Adriano A. Ribeiro

O que é Lógica de Programação Lógica de programação nada mais é do que uma forma de se escrever um programa de computador com uma linguagem de fácil entendimento para nós seres humanos. A lógica de programação é necessária para todas as pessoas que desejam trabalhar com desenvolvimento de sistemas e programas pois permite definir uma sequencia lógica para o desenvolvimento.

Ciclo de Vida do Sistema No desenvolvimento de um sistema, quanto mais tarde um erro é detectado, mais dinheiro e tempo se gasta para repará-lo. Assim, a responsabilidade do programador é maior na criação dos algoritmos do que na sua própria implementação, pois quando bem projetados não se perde tempo tendo que refazê-los, reimplantá-los e retestá-los, assegurando assim um final feliz e no prazo previsto para o projeto

Algoritmo Um algoritmo pode ser definido como um conjunto de regras (instruções), bem definidas, para solução de um determinado problema. Segundo o dicionário Michaelis, o conceito de algoritmo é a "utilização de regras para definir ou executar uma tarefa específica ou para resolver um problema específico." A partir desses conceitos de algoritmos, pode-se perceber que a palavra algoritmo não é um termo computacional, ou seja, não se refere apenas à área de informática. É uma definição ampla que agora que você já sabe o que significa, talvez a utilize no seu cotidiano normalmente.

Algoritmo Um algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Um algoritmo é um 'caminho' para a solução de um problema e, em geral, existem muitos caminhos que levam a uma solução satisfatória, ou seja, para resolver o mesmo problema pode se obter vários algoritmos diferentes.

Algoritmo Para resolver um problema no computador é necessário que seja primeiramente encontrada uma maneira de descrever este problema de uma forma clara e precisa. É preciso que encontremos uma sequencia de passos que permitam que o problema possa ser resolvido de maneira automática e repetitiva. Esta sequencia de passos é chamada de algoritmo. A noção de algoritmo é central para toda a computação. A criação de algoritmos para resolver os problemas é uma das maiores dificuldades dos iniciantes em programação em computadores.

Algoritmo Uma das formas mais eficazes de aprender algoritmos é através de muitos exercícios. Veja na Tabela 1 algumas dicas de como aprender e como não aprender algoritmos. Algoritmos não se aprendeAlgoritmos se aprende Copiando algoritmosConstruindo algoritmos Estudando algoritmos prontosTestando algoritmos Tabela 1

Lógica Proposicional O aprendizado da Lógica é essencial para a formação de um bom programador, servindo como base para o aprendizado de todas as Linguagens de Programação, estruturadas ou não. De um modo geral esses conhecimentos serão de supra importância, pois ajudarão no cotidiano, desenvolvendo um raciocínio rápido

Formas de Representação de Algoritmos Os algoritmos podem ser representados de várias formas, como por exemplo: a) Através de uma língua (português, inglês, etc.): forma utilizada nos manuais de instruções, nas receitas culinárias, bulas de medicamentos, etc. b) Através de uma linguagem de programação (Pascal, C, Delphi, etc.): esta forma é utilizada por alguns programadores experientes, que "pulam" a etapa do projeto do programa (algoritmo) e passam direto para a programação em si. c) Através de representações gráficas: são bastante recomendáveis, já que um "desenho" (diagrama, fluxograma, etc.) muitas vezes substitui, com vantagem, várias palavras.

Formas de Representação de Algoritmos Cada uma dessas formas de representar um algoritmo, tem suas vantagens e desvantagens, cabe a pessoa escolher a forma que melhor lhe convir. Nesta disciplina serão apresentadas três formas de representação de algoritmos, são elas: Algoritmo Narrativo(Não computacional) Fluxograma (Diagrama de Fluxo) Português Estruturado (Pseudocódigo, Portugol ou Pseudolinguagem)

Algoritmo Narrativo Nessa forma de representação, analisamos o enunciado do problema e, simplesmente, descrevemos a sequência de passos em nossa língua nativa (em nosso caso, o português). A vantagem de se utilizar esse procedimento é que não precisamos aprender nenhum conceito novo, pois já temos domínio sobre a nossa língua nativa. A desvantagem é que a língua natural pode ser interpretada de diferentes maneiras. Para a linguagem de programação, a linguagem natural é abstrata, imprecisa e pouco confiável. Isso poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma linguagem de programação).

Exemplo(Algoritmo narrativo) Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado então despeje sobre a mistura Leve a forma ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar Cálculo da média de um aluno: Obter as suas 2 notas de provas Calcular a média aritmética Se a média for maior que 7, o aluno foi aprovado, senão ele foi reprovado

Fluxograma Os Fluxogramas ou Diagramas de Fluxo, são uma representação gráfica que utilizam formas geométricas padronizadas ligadas por setas de fluxo, para indicar as diversas ações (instruções) e decisões que devem ser seguidas para resolver o problema em questão. Eles permitem visualizar os caminhos (fluxos) e as etapas de processamento de dados possíveis e, dentro destas, os passos para a resolução do problema. A seguir, na Figura 2, é apresentado um exemplo de fluxograma. Início Fim... Entrada Saída Processo

Fluxograma

Fluxograma do PADEIRO

Português Estruturado O Português Estruturado, é uma forma especial de linguagem bem mais restrita que a Língua Portuguesa e com significados bem definidos para todos os termos utilizados nas instruções (comandos). Essa linguagem também é conhecida como Portugol (junção de Português com Algol), Pseudocódigo ou Pseudolinguagem. O Português Estruturado na verdade é uma simplificação extrema da língua portuguesa, limitada a pouquíssimas palavras e estruturas que têm significado pré-definido, pois deve-se seguir um padrão. Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação, para descrever os algoritmos.

Português Estruturado A sintaxe do Português Estruturado não precisa ser seguida tão rigorosamente quanto a sintaxe de uma linguagem de programação, já que o algoritmo não será executado como um programa. Figura 3: Exemplo de Português Estruturado

Conceitos Importantes Neste capítulo são apresentados e explicados três conceitos fundamentais para a construção de algoritmos, são eles: Constante, Variável e Atribuição.

Constantes São chamadas de constantes, as informações (dados) que não variam com o tempo, ou seja, permanecem sempre com o mesmo conteúdo, é um valor fixo (invariável). Como exemplos de constantes pode-se citar: números, letras, palavras etc.

Variáveis Uma variável, é um espaço da memória do computador que "reservamos" para guardar informações (dados). Como o próprio nome sugere, as variáveis, podem conter valores diferentes a cada instante de tempo, ou seja, seu conteúdo pode variar de acordo com as instruções do algoritmo. As variáveis são referenciadas através de um nome (identificador) criado por você durante o desenvolvimento do algoritmo. Exemplos de nomes de variáveis: produto, idade, a, x, nota1, peso, preço, etc. O conteúdo de uma variável pode ser alterado, consultado ou apagado quantas vezes forem necessárias durante o algoritmo.

Variáveis Uma variável pode ser vista como uma caixa com um rótulo (nome) colado nela, que em um dado momento guarda um determinado objeto. O conteúdo desta caixa não é algo fixo, permanente. Na verdade, essa caixa pode ter seu conteúdo alterado diversas vezes. No exemplo abaixo, a caixa (variável) rotulada como FATOR, contém o valor 5. Em outro momento essa caixa poderá conter qualquer outro valor numérico. Entretanto, a cada instante, ela conterá um, e somente um, valor. FATOR

Atribuição A atribuição é uma notação utilizada para atribuir um valor a uma variável, ou seja, para armazenar um determinado conteúdo em uma variável. A operação de atribuição, normalmente, é representada por uma seta apontando para a esquerda, mas existem outros símbolos para representar a atribuição, depende da forma de representação do algoritmo. Na Tabela 2 a seguir, são apresentados alguns exemplos de atribuições possíveis

Atribuição Atribuições PossíveisExemplos variável  constanteIdade  12 (lê-se: idade recebe 12) variável  variávelpreço  valor variável  expressãoA  B + C Tabela 2: Exemplos de Atribuições

Atribuição Uma observação importante a ser feita em relação a atribuições é que na parte esquerda (a que vai "receber" algo) não pode haver nada além da variável, ou seja, é só variável que "recebe" algum conteúdo, não é possível ter um cálculo por exemplo, ou uma constante, recebendo alguma coisa. Veja por exemplo, esta notação: Esta operação apresentada acima não é possível, não está correta esta atribuição. nota1 + nota2  valor

Instrução Escrever Existem basicamente duas instruções principais em algoritmos (e em programação em geral) que são: A instrução Escrever é utilizada quando deseja-se mostrar informações na tela do computador, ou seja, é um comando de saída de dados. Para simplificar, usa-se a instrução Escrever, quando necessita-se mostrar algum dado para o usuário do algoritmo (e posteriormente do programa). Tanto no Diagrama de Chapin quanto em Português Estruturado representa-se a saída de dados através da palavra Escrever (ou Escreva). Já em Fluxogramas a representação da saída de dados é feita através de uma forma geométrica específica.

Exemplos 1) Escreva um algoritmo para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor de X com o de Y em uma variável Z. Escrever (na tela) o valor armazenado em X, em Y e em Z. 2) Escreva um algoritmo para armazenar o valor 4 em uma variável A e o valor 3 em uma variável B. A seguir, armazenar a soma de A com B em uma variável C e a subtração de A com B em uma variável D. Escrever o valor de A, B, C e D e também escrever a mensagem 'Fim do Algoritmo'.

Operadores Aritméticos Muitas vezes, ao desenvolvermos algoritmos, é comum utilizarmos expressões matemáticas para a resolução de cálculos. Neste capítulo são apresentados os operadores aritméticos necessários para determinadas expressões. Veja a Tabela 3 a seguir. OperaçãoSímboloPrioridade Multiplicação (Produto)*1a. Divisão/1a. Adição (Soma)+2a. Subtração (Diferença)-2a.

Operadores Aritméticos Nas linguagens de programação e, portanto, nos exercícios de algoritmos que iremos desenvolver, as expressões matemáticas sempre obedecem às regras matemáticas comuns, ou seja: · As expressões dentro de parênteses são sempre resolvidas antes das expressões fora dos parênteses. Quando existem vários níveis de parênteses, ou seja, um parêntese dentro de outro, a solução sempre inicia do parêntese mais interno até o mais externo (de dentro para fora). · Quando duas ou mais expressões tiverem a mesma prioridade, a solução é sempre iniciada da expressão mais à esquerda até a mais à direita.

Operadores Aritméticos Desta forma, veja os seguintes exemplos e os respectivos resultados: ExemploA: 2 + (6 * (3 + 2)) = 32 ExemploB: * (3 + 2) = 32

Instrução Ler A instrução Ler é utilizada quando deseja-se obter informações do teclado do computador, ou seja, é um comando de entrada de dados. Para simplificar, usa-se a instrução Ler, quando necessita-se que o usuário do algoritmo digite algum dado (e posteriormente do programa). Tanto no Diagrama de Chapin quanto em Português Estruturado representa-se a entrada de dados através da palavra Ler (ou Leia). Já em Fluxogramas a representação da entrada de dados é feita através de uma forma geométrica específica.

Exemplo Escreva um algoritmo para ler dois valores e armazenar cada um em uma variável. A seguir, armazenar a soma dos dois valores lidos em uma terceira variável. Escrever o resultado da soma efetuada.

Horizontalização Para o desenvolvimento de algoritmos que possuam cálculos matemáticos, as expressões aritméticas devem estar horizontalizadas, ou seja, linearizadas e também não esquecendo de utilizar os operadores corretamente. Na Tabela 4 a seguir, é apresentado um exemplo de uma expressão aritmética na forma tradicional e como deve ser utilizada nos algoritmos e em programação em geral (linearmente). Matemática TradicionalAlgoritmo M  (M1 + M2) / 2

Bibliografia The ALGOL Programming Language. Disponível em: course.des/cis400/algol/algol.html. Acesso em: Jun BUFFONI, Salete. Apostila de Algoritmo Estruturado - 4ª edição. Disponível em: /algoritmos/Algoritmos.pdf. Acesso em: Mar CHAPIN, Ned. Flowcharting with the ANSI Standard: A Tutorial. ACM Computing Surveys, Volume 2, Number 2 (June 1970), pp