Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Lógica de Programação - Apostilas - Antropologia Parte1, Notas de estudo de Introdução à Cultura Antropológica

Apostilas de Antropologia sobre o estudo dos Algoritmos, Características, Estratégias na Construção de Algoritmos.

Tipologia: Notas de estudo

2013

Compartilhado em 24/04/2013

Selecao2010
Selecao2010 🇧🇷

4.4

(194)

368 documentos

1 / 18

Documentos relacionados


Pré-visualização parcial do texto

Baixe Lógica de Programação - Apostilas - Antropologia Parte1 e outras Notas de estudo em PDF para Introdução à Cultura Antropológica, somente na Docsity! Algoritmos I ______________________________________________________________________ _______________________________________________________________________ 1 Algoritmo 1.1 Definição • É a descrição dos passos necessários para a resolução de um problema. • É uma receita que qualquer um entenda. • A Definição Melhor Seqüência finita de passos que se corretamente seguidos, nos levam a resultados previsíveis. Exemplo: Receita em geral (para cozinha); Modo de usar de vários produtos; Instalação de Aparelhos em Geral, etc... Outro Exemplo: O exemplo demonstrado abaixo, apresenta um Algoritmo para Lavar a Cabeça: ALGORITMO para Lavar a Cabeça 1 – Início 2 – Molhe o cabelo 3 – Coloque Shampoo 4 – Faça Massagem 5 – Enxágüe 6 – Repita o Processo 7 – Fim Observações do Algoritmo apresentado acima: 1) É a descrição de um procedimento rotineiro; 2) Tem um INÍCIO e um FIM claros; 3) A descrição é feita passo a passo, de maneira bem definida; 4) Há imperfeições: 4.1) Não especifica a quantidade de shampoo; 4.2) Não especifica quantas vezes o processo deve ser repetido; 4.3) Não especifica qual o processo ou qual passo que deve ser repetido. Conclusão: Com isso, verificamos que enquanto houverem imperfeições e dúvidas, o Algoritmo deve ser MELHORADO. Profª.: Débora Amorim de Carvalho Paulo Pág.:1 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ Melhorando o Algoritmo para Lavar a Cabeça: ALGORITMO para Lavar a Cabeça 1 – Início 2 – Molhe o Cabelo 3 – Repita 2 (duas) vezes: 3.1 – Coloque a quantidade correspondente a uma tampa de shampoo 3.2 – Faça massagem durante 1 minuto 3.3 – Enxágüe 4 – Fim 1.2 Características Para que servem os Algoritmos em Computação? Programa Fonte Compilação (acusa erros de codificação) Código Objeto Execução Resultados (acusa erros de lógica) Servem para a elaboração do programa fonte. Está antes do fluxograma acima. Serve para sairmos do problema e chegarmos ao programa. Fase de Resolução do Problema Fase de Implementação do Processo (Fase de codificação do programa) Elaboração do Programa (Fonte) Problema Elaboração do Algoritmo Qualidades de um bom Algoritmo: 1) Definição Perfeita Deve descrever exatamente quais são as instruções que devem ser executadas e em que seqüência. Deve ser tornado explícito o maior número possível de informações, pois a falta de alguma informação pode levar a uma interpretação errada do algoritmo; 2) Ausência de Ambigüidade Não deve deixar dúvidas sobre o que deve ser feito. A ambigüidade acerca do que deve ser feito também pode levar a uma interpretação errada do algoritmo; Profª.: Débora Amorim de Carvalho Paulo Pág.:2 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ V V V V F F F V F V V F V F F V F V F F F F V V 2.2.4 Hierarquia de Operadores: 1. Parênteses (com vários níveis) 2. Funções 3. Potenciação (↑) 4. *; /; DIV; MOD 5. +; - 6. Operadores Relacionais Exemplos: 1) X + Y – Z Observação: Com prioridades iguais, como no exemplo ao lado os sinais + e -, resolve-se primeiro a operação mais à esquerda. R1 RF 2) X * (Y – Z) 3) A = B * C – E ↑ F / G + (A DIV B) A RF R1 R3 R2 R1 RF R4 R5 RF 4) X = (A – B / C * (E + A * (C ↑ B – E) ) ) X RF R5 R1 R2 R3 R4 R6 RF 3 Regras para Construção dos Algoritmos Profª.: Débora Amorim de Carvalho Paulo Pág.:5 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ 3.1 Declaração de Constantes Constantes são dados que durante a execução do programa, permanecem com os seus valores inalterados; É importante tratá-las pelo nome. 3.2 Declaração de Variáveis Variáveis são dados cujos valores variam durante a execução do programa; São entidades que representam dados do programa; Possuem Nome e Valor; Representa uma posição de memória do computador. Exs.: A=3; X=0; Y=10; K=0.01 ⎨ Num dado momento, pois depois todos os valores podem estar alterados. Tipos de Variáveis: Numéricas: Inteiras. Ex.: MÍNIMO = 0 Reais. Ex.: PI = 3.1416... Literais. Exs.: CIDADE = “Volta Redonda”.; ESTADO = “R.J.”; Caracter. Exs.: RESP = “S”; SEXO = “M”; LETRA = “A”. Lógicas. Exs.: ACHEI = Verdadeiro; CHAVE = Falso. Formação do Identificador (NOME das Variáveis e Constantes) Começa sempre com uma letra que pode ser seguida de mais letras e/ou números; Deve ter no máximo 8 caracteres; Não são permitidos caracteres especiais (só letras e números); O nome deve refletir o significado da variável ou constante. Exs.: X=16; Y=02; Z=1998 (não são bons nomes), mas DIA=16; MÊS=02; ANO=1998 (são bons nomes). 3.3 Comandos Básicos 3.3.1 Comando de Atribuição ( ) A instrução de ATRIBUIÇÃO permite que o conteúdo de uma variável seja alterado. Sintaxe: Nome valor Onde: Um valor ou o resultado de uma expressão será armazenado sob um nome simbólico que está a esquerda do sinal de atribuição “ ”. Profª.: Débora Amorim de Carvalho Paulo Pág.:6 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ Tal expressão poderá ser um simples valor atribuído à uma constante ou variável, ou ainda poderá ser uma expressão aritmética, envolvendo outras variáveis previamente definidas. Contudo, o tipo do valor do resultado obtido através do cálculo da expressão, deve ser do mesmo tipo da variável que irá receber este valor. Exemplos: X 0; Y X; A X+Y (expressão aritmética); DIA 30. 3.3.2 Comando de Leitura (leia) Transporta informações de um periférico de entrada para a memória principal do computador. As informações são lidas de um dispositivo de entrada, geralmente do teclado. Sintaxe: leia (lista-de-variáveis) Onde: A execução da instrução de leitura pressupõe que os dados serão fornecidos do meio externo (dispositivo de entrada - teclado) e serão armazenados na memória sob os nomes simbólicos explicitados na lista-de-variáveis, na ordem dada. Exemplos: leia (NOME, TELEFONE) leia (DIA, MES, ANO) leia (NUMERO) leia (PRODUTO, PRECO) 3.3.3 Comando de Impressão (escreva) Transporta informações da memória principal do computador para um periférico de saída. As informações são exibidas em um dispositivo de saída, geralmente em impressora ou vídeo. Sintaxe: escreva (lista-de-variáveis/constantes ou “texto”) Onde: A execução da instrução de impressão pressupõe que os dados estejam armazenados na memória e serão colocados disponíveis no meio externo (dispositivo de saída – impressora ou vídeo) através dos nomes simbólicos atribuídos às variáveis ou às constantes. A opção “texto” prevista no formato da instrução permite também que sejam explicitados textos para a exibição de mensagens. Exemplos: escreva (“UniFoa – Centro Universitário de Volta Redonda”) imprime texto Profª.: Débora Amorim de Carvalho Paulo Pág.:7 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ escreva (“Para os valores de A e B lidos, o resultado da expressão X=(A+B)/(A-B), será: ”, X) 7 [Fim] 4.2 Condicional Simples Nesta estrutura, a seleção de uma ação é feita a partir da especificação de uma alternativa e é dirigida por uma condição. Quando o resultado da condição é “VERDADEIRO” , executa-se os comandos do então. Caso contrário (resultado da condição = “FALSO”), vai para o final da estrutura. Desta forma, o fluxo de execução é condicionado por uma tomada de decisão (teste de uma condição) e alguns passos (comandos) podem não ser processados, devido a um desvio (salto). Sintaxe: se condição então comado(s) fim-se Exemplo: Faça um algoritmo para ler dois valores e dizer se são iguais ou não. Se não forem iguais, dizer qual deles é maior que o outro. ALGORITMO exemplo da estrutura Condicional Simples 1 [Início] 2 [Declaração de Variáveis] VAL1, VAL2: real 3 [Leitura dos valores] escreva (“Entre com o primeiro valor: “) leia (VAL1) escreva (“Entre com o segundo valor: “) leia (VAL2) 4 [Processamento] se VAL1 = VAL2 então escreva (“Os valores lidos são iguais !”) fim-se se VAL1 > VAL2 então escreva (“O primeiro valor lido é maior que o segundo ! “) fim-se se VAL1 < VAL2 então escreva (“O segundo valor lido é maior que o primeiro ! “) fim-se 5 [Impressão dos valores lidos] escreva (“O primeiro valor lido foi: “, VAL1, “ e o segundo valor lido foi: “, VAL2) 6 [Fim] Profª.: Débora Amorim de Carvalho Paulo Pág.:10 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ Rastreio: VAL1 VAL2 Mensagem: 2 2 Entre com o primeiro valor: 2 Entre com o segundo valor: 2 Os valores lidos são iguais ! O primeiro valor lido foi: 2 e o segundo valor lido foi: 2 1 2 Entre com o primeiro valor: 1 Entre com o segundo valor: 2 O segundo valor lido é maior que o primeiro ! O primeiro valor lido foi: 1 e o segundo valor lido foi: 2 3 1 Entre com o primeiro valor: 3 Entre com o segundo valor: 1 O primeiro valor lido é maior que o segundo ! O primeiro valor lido foi: 3 e o segundo valor lido foi: 1 4.3 Condicional Composto Nesta estrutura, a seleção de uma ação é feita a partir da especificação de duas alternativas e é dirigida por uma condição. Se a condição for verdadeira, um curso de ação é tomado; caso contrário, um outro curso de ação é que será tomado. Desta forma, o fluxo de execução é condicionado por uma tomada de uma decisão (teste de uma condição) e alguns passos (comandos) podem não ser processados, devido a um desvio (salto). Sintaxe: se condição então comando(s)_1 senão comando(s)_2 fim-se Onde: A entrada da estrutura de controle está no ponto onde a condição deve ser testada. Após a avaliação da condição, uma das alternativas (VERDADEIRA ou FALSA) será executada. Se for verdadeira, o(s) comando(s)_1 do então será(ão) executado(s); caso contrário, o(s) comando(s)_2 do senão será(ão) executado(s). Vale ressaltar o seguinte: que apenas um dos comandos será executado, pois uma condição só pode ter um dos dois possíveis valores: Verdadeiro ou Falso. Exemplo1: Refaça o algoritmo que lê dois valores, diz se são iguais ou não e qual deles é maior que o outro, se não forem iguais (exemplo da estrutura Condicional Simples), usando a estrutura Condicional Composto: Profª.: Débora Amorim de Carvalho Paulo Pág.:11 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ ALGORITMO exemplo da estrutura Condicional Composto 1 [Início] 2 [Declaração de Variáveis] VAL1, VAL2: real 3 [Leitura dos valores] escreva (“Entre com o primeiro valor: “) leia (VAL1) escreva (“Entre com o segundo valor: “) leia (VAL2) 4 [Processamento] se VAL1 = VAL2 então escreva (“Os valores lidos são iguais !”) senão se VAL1 > VAL2 então escreva (“O primeiro valor lido é maior que o segundo ! “) senão escreva (“O segundo valor lido é maior que o primeiro ! “) fim-se fim-se 5 [Impressão dos valores lidos] escreva (“O primeiro valor lido foi: “, VAL1, “ e o segundo valor lido foi: “, VAL2) 6 [Fim] Exemplo2: Refaça o algoritmo que calcula X = ( A + B ) / ( A – B ), eliminando o problema criado quando o denominador for igual a 0 (zero). ALGORITMO cálculo da expressão 1 [Início] 2 [Declaração das Variáveis] A, B, X: real 3 [Leitura dos valores de A e B] escreva (“Entre com um valor para A: ”) leia (A) escreva (“Entre com um valor para B: ”) leia (B) 4 [Cálculo da Expressão] se A = B então escreva (“Denominador Nulo !”) senão X (A+B) / (A-B) escreva (“Para os valores de A e B lidos, o resultado da expressão X=(A+B)/(A-B), será: ”, X) fim-se 5 [Impressão dos valores A e B lidos] Profª.: Débora Amorim de Carvalho Paulo Pág.:12 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ se VAL1 > VAL2 e VAL1 > VAL3 então MAX VAL1 senão se VAL2 > VAL3 então MAX VAL2 senão MAX VAL3 fim-se fim-se 5 [Impressão do maior valo lido] escreva (“Dos valores ”,VAL1,” , ”,VAL2,” , ”, VAL3,“ , ”, o maior valor lido foi: ”, MAX) 6 [Fim] 4.4 Alternativa de Múltipla Escolha Certas aplicações envolvem um grande número de testes lógicos, e para tratá-los é preciso aninhamento de SE´s. Existe uma estrutura que aplicada a certos casos de aninhamento produz o mesmo resultado e torna o algoritmo mais inteligível e com menos vulnerabilidade a ambigüidades. Esta estrutura é chamada de Escolha Condicional. Sintaxe: escolha caso Condição1 Comando(s)_1 caso Condição2 Comando(s)_2 caso Condiçãon Comando(s)_n [ caso contrário / senão Comando(s)_s ] fim-escolha Onde: Nesta estrutura testa-se, começando pela primeira, uma a uma as condições até que se encontre uma verdadeira. Quando isso ocorre, é executado o(s) comando(s) associado(s) à condição verdadeira. Após encontrar uma condição verdadeira, o fluxo de execução é passado diretamente para o comando abaixo do “fim- escolha”, pois somente uma alternativa é executada. Caso nenhuma das condições seja verdadeira, pode-se incluir a cláusula “caso contrário” ou “senão” , para que quando isso ocorra, seja(m) executado(s) o(s) comando(s) associado(s) ao “caso contrário” ou “senão”. Profª.: Débora Amorim de Carvalho Paulo Pág.:15 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ Exemplo1: ALGORITMO Exemplo1 de Caso 1 [Início] 2 [Declaração de Variáveis] X, Y, K, Z, N, A, B : real 3 [Processamento] X 5 Y 3 Z 2 K ( X+Y ) / Z escolha caso K=1 N X * Y ↑ Z A N ↑ K caso K=2 X 0 Y 5 N X + Y caso K=3 A X - Z B X + Z caso K=4 N X - Y A Y + K B K * Z fim-escolha 4 [Fim] Exemplo2: Faça um algoritmo Menu de Opções, que para cada uma das opções abaixo lidas, imprima as seguintes mensagens: Opções Mensagens 1 Executa a rotina de Inclusão de Professores 2 Executa a rotina de Alteração de Professores 3 Executa a rotina de Exclusão de Professores 4 Executa a rotina de Consulta de Professores ALGORITMO Exemplo2 de Caso 1 [Início] 2 [Declaração de Constantes] OP1 1 OP2 2 OP3 3 OP4 4 2 [Declaração de Variáveis] OPCAO : inteiro Profª.: Débora Amorim de Carvalho Paulo Pág.:16 Algoritmos I ______________________________________________________________________ _______________________________________________________________________ 3 [Leitura, Processamento e Impressão] escreva (“Entre com uma opção de 1 a 4: “) leia (OPCAO) escolha caso OPCAO = OP1 escreva (“Executa a rotina de Inclusão de Professores”) caso OPCAO = OP2 escreva (“Executa a rotina de Alteração de Professores”) caso OPCAO = OP3 escreva (“Executa a rotina de Exclusão de Professores”) caso OPCAO = OP4 escreva (“Executa a rotina de Consulta de Professores”) caso contrário (senão) escreva (“Opção Inválida ! As opções válidas são de 1 a 4.”) fim-escolha escreva (“A opção lida foi: ” , OPCAO) 4 [Fim] 4.5 Condicional Repetitivo A estrutura de repetição, ou comumente LAÇO, é a estrutura que possibilita a execução automática de um conjunto de instruções repetidas vezes. 4.5.1 Laços Condicionais Nesta estrutura a execução automática de um conjunto de instruções repetidas vezes, é controlada por uma condição, ou seja, a execução automática do conjunto de instruções vai depender de um teste lógico. Sintaxe: enquanto <condição> faça comando(s) fim-enquanto Onde: O(s) comando(s) delimitado pelas palavras “enquanto” e “fim-enquanto” será(ão) executado(s) repetidas vezes, enquanto a condição testada for verdadeira. Caso a instrução seja falsa, o fluxo de execução passará para a instrução seguinte que deverá estar abaixo do “fim-enquanto”. Exemplo1: ALGORITMO exemplo1 da estrutura enquanto 1 [Início] 2 [Declaração de Variáveis] A,B,C: inteiro 3 [Inicialização de Variáveis] A 10 B A/10 C B*5 Profª.: Débora Amorim de Carvalho Paulo Pág.:17
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved