Buscar

Lógica de programação I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Continue navegando