Baixe o app para aproveitar ainda mais
Prévia do material em texto
Logica de programação É a técnica de encadear (juntar, unir) pensamentos para atingir determinado objetivo É necessária para as pessoas que desejam trabalhar com o desenvolvimento de sistemas e programas, ela permite definir a sequência lógica fundamental no desenvolvimento de sistemas computacionais. Pensamento da lógica podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Sequência Lógica: São os passos executados até atingir um objetivo ou solução de um problema. Computar: é a capacidade de executar uma sequência lógica descrita por nós humanos Inteligência está na sequência lógica descrita pelos programadores Codificada através de uma linguagem de programação Linguagem de programação são as instruções dadas para o computador Instruções devem ser executadas em sequência ordenada. Algoritmo É a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa. É formalmente uma sequência finita de passos que levam a execução de uma tarefa. Estas tarefas NÃO podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Exemplos: soma, divisão, multiplicação, subtração. Características de um algoritmo Deve ter fim; Não ode ter dupla interpretação (ambiguidade); Deve permitir gerar informação de saída; Deve ser bem definido. OBS IMPORTANTE: A partir de um algoritmo, o programador poderá implementá-lo em qualquer linguagem de programação que conheça ou deseje. Dividir o problema em: entrada – processamento – saída Fases Ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais Entrada: São os dados de entrada do algoritmo (Quais são os dados de entrada?) Processamento: São os procedimentos utilizados para chegar ao resultado final (Qual será o processamento a ser utilizado?) Saída: São os dados já processados. (Quais serão os dados de saída?) Linguagem de programação: é como uma língua normal, um grupo de palavras com significado. Estas linguagens fazem o computador assimilar cada comando e função de um algoritmo, depois executar cada função, ou seja, é somente como se escreve o algoritmo. Teste de Mesa Após desenvolver um algoritmo ele deverá sempre ser testado, teste de mesa. O que significa seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Formas de representação de algoritmos Descrição Narrativa; Fluxograma Convencional; Pseudocódigo. Descrição Narrativa: Especificação verbal dos passos em linguagem natural. Vantagens: Escrita na nossa língua nativa; Desnecessário aprender nenhum conceito novo. Desvantagens: A linguagem natural é imprecisa (possibilita ambiguidades); Proporciona maior trabalho na codificação; Sugere-se sua utilização apenas para comentar algoritmos e/ou programas, esclarecendo ou realçando pontos específicos. Fluxograma: É uma representação gráfica de algoritmos. Formas geométricas diferentes implicam ações (instruções, comandos) distintos. Vantagens: Forma universal de representação; Forma intermediária à descrição narrativa e ao pseudocódigo; Preocupação com detalhes de nível físico da implementação do algoritmo. Desvantagens: Falta de detalhamento no dados; Dificuldade na transcrição do algoritmo para o programa a ser desenvolvido; Necessário aprender a simbologia dos fluxogramas; Para algoritmos mais extensos, a construção do fluxograma pode se tornar mais complicada. Componentes básicos Componentes básicos Entrada de dados: tudo que entra dados/ informação Saída de dados Escolha – decisões: dois ou mais caminhos. Pseudocódigo (ou Portugol) É uma descrição textual, estruturada e regida por regras, que descrevem os passos executados no algoritmo. Possui características similares às linguagens de programação. Vantagens: Facilidade de transcrição do algoritmo para qualquer linguagem de programação. Desvantagens: Necessidade de aprender as regras do pseudocódigo. Estrutura: Declarações: Onde são informados os tipos de dado e informações que serão manipuladas. Instruções: Onde ocorreram as entradas de dados, os processamentos necessários e as saídas das informações desejadas. Comparação TIPOS DE DADOS E VARIÁVEIS Manipulação das informações contidas em sua memória > computador De forma geral, estas informações podem ser classificadas em dois tipos: Instruções: que comandam o funcionamento da máquina e determinam como os dados são tratados Dados: que correspondem à porção das informações a serem processadas (entradas e saídas) As células de memória do computador armazenam os dados durante a execução do programa. Devemos informar ao computador qual o tipo de dado que vamos armazenar e/ou manipular. Existem vários tipos de dados – cada tipo é representado e processado de forma diferente. Em geral os dados são classificados em três tipos: numérico (inteiro e real), literais e lógicos. * Numérico: Originários da matemática. Computação: real ou Inteiro Real: que podem possuir parte fracionária e podem ser positivos ou negativos. Ex: altura de uma pessoa (em metros), o valor (em reais) do salário de um funcionário. Inteiro: que não possuem parte fracionária e podem ser positivos e negativos. Ex: a idade de uma pessoa, o número de degraus de uma escada,.. * Literais: Constituído por uma sequência de caracteres contendo letras, dígitos e/ou símbolos especiais. Este tipo de dados é também muitas vezes chamado de alfanumérico, cadeia (ou cordão) de caracteres (carácter), ainda, do inglês, string. Usualmente, estes dados são representados nos algoritmos pela coleção de caracteres, delimitada em seu início e término com o caractere aspas (“). Ex: Nome de uma pessoa… * Lógico: Armazenam somente dados lógicos que podem ser Verdadeiro (True) ou Falso (False) - devido ao matemático George Boole (1815 – 1864). Ex: Falso (para o valor lógico falso) Verdadeiro (para o valor lógico verdadeiro) VARIÁVEIS É uma entidade destinada a guardar uma informação (na memória do pc). Memória = armário Variável = gaveta Dados = roupas Atributos de uma variável. Basicamente, ela possui três atributos: Um nome Um tipo de dados associado à mesma E a informação por ela guardada. Regras para a formação do nome de uma variável Devem começar por uma letra e depois podem conter letras, números ou underline, JAMAIS devem começar por um número. Ex: nota1, A, nome… Não pode conter espaços em branco. Ex: casa 21 (errado) Utiliza-se o caractere underline (_) para separar Ex: casa_21 Não pode conter caracteres especiais Ex: @, #, !… Não pode ser uma palavra reservada da linguagem Ex: While, for, begin, etc… inicio, fim, algoritmo, Mais exemplos que não podem ser nome de variáveis DEFINIÇÃO DE VARIÁVEIS EM ALGORITMOS As variáveis são definidas logo no início do algoritmo para que a área na memória seja alocada. A definição de variáveis é realizada utilizando o comando VAR , primeiro definimos o nome e, sem seguida, o tipo, do seguinte modo: Var <nome da variável> : <tipo da variável> Ao declarar variáveis devemos tomar alguns cuidados: A palavra VAR é usada uma única vez na definição de variáveis; Mais de uma variável do mesmo tipo pode ser definida em uma mesma linha, basta separar cada uma delas por vírgula; Se há diferentes tipos de variáveis, cada tipo deve ser declarado em linhas diferentes. Ex: VAR Nota1, Nota2, Media: Real Nome: Caracter Idade: Inteiro EXPRESSÕES O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão(ou fórmula) matemática. O conceito de expressão aplicado à computação assume uma conotação mais ampla: uma expressão é uma combinação de variáveis, constantes e operadores, e que, uma vez avaliada, resulta num valor. As expressões são classificadas de acordo com o tipo do valor resultante de sua avaliação. Expressões aritméticas são aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real.Chamamos de operadores aritméticos o conjunto de símbolos que representa as operações básicas da matemática, a saber: OPERADORES RELACIONAIS Utilizamos eles para realizar comparações entre dois valores de mesmo tipo primitivo. Tais valores são representados por constantes, variáveis ou expressão aritmética. EXPRESSÕES LÓGICAS São aqueles cujo resultado da avaliação é um valor lógico. (.v. ou .f.). Os operadores lógivos trabalham apenas com valores lógicos, ao contrário dos relacionais que podem comparar qualquer tipo de dado. TABELA VERDADE É o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações Verdadeiro (V) ou Falso (F), e um conjunto de operadores lógicos. OPERADORES LÓGICOS NEGAÇÃO É uma operação lógica que gera como saída um valor inverso ao valor lógico de entrada. O operador NÃO também é usualmente representado por ! Ou NOT. OPERADORES LÓGICOS CONJUNÇÃO É uma operação lógica que relaciona dois valores lógicos por meio do operador E. Este operador também é representado por && e AND. Relaciona dois valores lógicos , gerando um valor de saída que será verdadeiro somente se os dois valores de entrada forem verdadeiros. OPERADORES LÓGICOS DISJUNÇÃO É uma operação lógica que relaciona dois valores lógicos por meio do operador OU. Este também é representado por || ou OR. Relaciona dois valores lógicos, gerando um valor de saída que será verdadeiro se qualquer um dos termos for verdadeiro. PRIORIDADES Entre todos os operadores: * parênteses mais interno; * funções matemáticas; * operadores aritméticos; * operadores relacionais; * operadores lógicos. INSTRUÇÕES PRIMITIVAS São comandos que determinam ações que devem ser realizadas. - Comando de atribuição - Comando de entrada - Comando de saída. COMANDO DE ATRIBUIÇÃO: a instrução primitiva de atribuição, ou simplesmente atribuição, é a principal maneira de se armazenar uma informação numa variável. Sua sintaxe é: <nome de variável>:= <expressão> Ex: x:= 5 / nome:= “Maria” / y:= x+10 INSTRUÇÃO PRIMITIVA DE SAÍDA DE DADOS: São colocadas nos dispositivos de saída, para que o usuário possa visualizá-las. Nos algoritmos usamos o comando: Escreva. Sua sintaxe é: Escreva (lista_de_variáveis) Ex.: Escreva (“Alô,mundo!”)/ Escreva (“O número é:”, 20) INSTRUÇÃO PRIMITIVA DE ENTRADA DE DADOS: São colocadas nos dispositivos de entrada para receber dados digitados pelo usuário, para que o usuário possa visualizá-las e armazená-las em variáveis. Nos algoritmos usamos o comando: Leia. Sua sintaxe é: Leia (lista_de_variáveis) Ex.: Leia(nome)/ Leia(idade) EXEMPLO: SEÇÃO 2 SELEÇÃO SIMPLES TIPOS DE ESTRUTURAS * Sequencial (módulo 1) * Seleção Simples * Seleção Composta ou Dupla * Estruturas aninhadas e concatenadas * Seleção Múltipla ESTRUTURA SEQUENCIAL Conjunto de comando que são executados numa sequência linear, de cima para baixo, na mesma ordem que aparecem. ESTRUTURA DE SELEÇÃO Decidir entre dois ou mais caminhos. Necessário sempre que os programas encontrem sequências alternativas de ações, dependendo do valor de determinada condição. Uma condição sempre é formulada com o uso de operadores relacionais. SELEÇÃO SIMPLES Nesta seleção, uma única expressão lógica é avaliada. Quando a condição for verdadeira o “bloco verdade” é executado. Quando a condição for falsa o “bloco verdade” não é executado. Tem duas sintaxes. Sintaxe 1 OU Caso a avaliação da condição dor falsa, salta-se para o primeiro comando após o fim da estrutura de seleção simples. Algoritmos sequenciais: todos os comandos são executados de cima para baixo de forma sequencial. Algoritmos com seleção simples: podemos selecionar um grupo de comandos que será executado somente quando determinadas condições forem satisfeitas ou não. Estrutura de seleção simples: uma única expressão lógica é avaliada (somente o bloco verdade é executado). Comando: IF-THEN ou SE-ENTÃO Importante sempre identificar os comandos de: entrada, processamento e saída na estruturação dos algoritmos. Visualg: uma ferramenta muito utilizada para testar os algoritmos em pseudocódigo. SELEÇÃO COMPOSTA OU DUPLA A maioria dos algoritmos precisam tomar decisões ao longo de sua execução. Para isso existem as estruturas de decisão e a mais utilizada é a estrutura: SE-ENTÃO-SENÃO ou IF-THEN-ELSE. Na seleção composta duas alternativas dependem da avaliação da mesma expressão. Quando a condição for verdadeira o “bloco verdade” é executado. Quando a condição for falsa o “bloco falso” é executado. EX: Está calor? Vou a praia. Não está calor: vou ao Shopping Ex. Média de um aluno. Acima de 6 = aprovado, abaixo = reprovado Uma seleção composta ou Duas seleções simples? Em uma ele testa duas vezes, na outra não. Ou seja, a diferença é o tempo, tempo de processamento. Endentação ou indentação (recuo) Termo aplicado ao código fonte de um programa para ressaltar ou definir a estrutura do algoritmo (recuo, neologismo derivado da palavra em inglês identation). Organização do código. Facilidade de leitura e interpretação. Em algumas linguagens de programação (como Python), a indentação é obrigatória. EX: RETOMANDO * Estrutura de seleção composta ou dupla: como o próprio nome sugere, é usada quando duas alternativas dependem da avaliação da mesma expressão. * Comando: SE-ENTAO-SENAO ou IF-THEN-ELSE - Vários comandos tanto quando a condição for verdadeira como quando a condição for falsa. - Também pode ser escritos com 2 seleções simples, o entanto, essa opção se torna “computacionalmente pior” * Indentação: são recuos que são criados para facilitar a organização e escrita dos códigos. SELEÇÃO ANINHADAS E CONCATENADAS Muitas vezes dentro de um fluxo condicional, será necessário tomar mais de duas decisões. Neste caso, podemos utilizar estruturas de seleção aninhadas, que não são mais do que uma estrutura de seleção dentro de outra. Esta abordagem só é indicada quando há a necessidade de se testar condições dentro de condições. Nestes casos, normalmente, o algoritmo fica mais rápido, pois menos testes podem ser efetuados. Possuem dois tipos: * heterogêneas; * homogêneas. SELEÇÃO ENCADEADA HOMOGÊNEA A seleção é classificada como homogênea quando é possível identificar um padrão lógico de construção em uma estrutura de seleção encadeada. Ex. de seleção encadeada homogênea sintaxe Ou assim, usando o operador lógico de conjunção E/ OU/ NÃO. Outro exemplo: Construa um algoritmo que receba a idade de um nadador e classifique-o em uma das seguintes categorias: *5 até 8 anos: Infantil *9 até 13 anos: Juvenil A *14 até 17 anos: Juvenil B *Maiores de 10: Adultos. Outro exemplo Escreva um algoritmo para calcular a média de um aluno a partir de 2 notas válidas (maiores que zero e menores que 10). O programa deve exibir a média e também uma mensagem informando se esse aluno foi aprovado ou reprovado. Sabe-se que o aluno será aprovado se atingir média acima de 6 e reprovado se atingir menos que 6. RETOMANDO Estrutura de seleção aninhadas ou encadeada: que não são mais do que uma estrutura de seleção dentro de outra. Comando: SE-ENTÃO-SENAO ou IF-THEN-ELSE. Algoritmos executados mais rapidamente. Dois tipos: *HETEROGÊNEAS: quando não é possível identificar um padrão lógico de construção em uma estrutura de seleção encadeada. *HOMOGÊNEAS: quando é possível identificar um padrão lógico de construção em uma estrutura de seleção encadeada. Usamos o E/ OU. SELEÇÃO MÚLTIPLA Complexidade e algoritmos aumentam. Utilizada para testar, na condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo. Compara-se, então, o resultado obtido no teste com os valores fornecidos em cada cláusula“Caso X”. Caso, todas as condições sejam falsas, executa-se o senão (se este existir) ou sai-se da estrutura sem executar nada. Simplificação da estrutura de seleção homogênea. Ex: Esse “escolha N” seria o nosso comando SE. Ex: Faça um algoritmo para uma calculadora onde o usuário digita o primeiro número, o segundo número e a operação que deseja executar. Dependendo do que o usuário informar como operador, o algoritmo executará um cálculo diferente (soma, subtração, multiplicação ou divisão). Ex 3. RETOMANDO - Estrutura de seleção múltipla: utilizada para testar, na condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo. - Usa-se o comando: ESCOLHA – CASO - Caso, todas as condições sejam falsas, executa-se o senão. - Simplificação da estrutura de seleção homogênea.
Compartilhar