Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMOS Algoritmo é Lógica de ações para solucionar um problema ou executar uma atividade. ETAPAS PARA A ELABORAÇÃO DE UM PROGRAMA Na resolução de problemas desenvolver-se-á o ciclo: DESCRIÇÃO – EXECUÇÃO – REFLEXÃO – DEPURAÇÃO - DESCRIÇÃO CICLO DA RESOLUÇÃO DE PROBLEMAS Execução Reflexão Depuração Descrição 1- Descrição: Escrita da solução de um problema. 2- Execução : Execução da descrição de um determinado problema. 3- Reflexão: Se os resultados da execução não forem satisfatórios , o programador reflete sobre o produto. 4- Depuração: Ajustes no código, que está apresentando algum problema. 5- Volta pra a descrição e recomeça o ciclo ate que o produto seja aprovado. Regras de um bom algoritmo Análise Preliminar → Entenda o problema com a maior precisão possível, identifique os dados e os resultados desejados. Solução → Desenvolva um algoritmo para resolver o problema. Teste de Qualidade → Execute o algoritmo desenvolvido com dados para os quais o resultado seja conhecido. Alteração → Se o resultado do teste de qualidade não for satisfatório, altere o algoritmo e submeta-o a um novo teste de qualidade. Produto Final →O algoritmo concluído e testado, pronto para ser aplicado Regras de um bom algoritmo Sempre valide (teste de qualidade) seu algoritmo !!!!!! (faça um chinês) Todas as informações estão sendo usadas e separadas as que são supérfluas das que são essenciais ? Todos os passos foram identificados e a sua ordem de execução está correta ? Existe alguma possibilidade de ao seguir este algoritmo o problema não ser resolvido? Ele é passível de repetição sem erros? formas de representação de algoritmos mais conhecidas: Descrição Narrativa Fluxograma Convencional, também conhecido como Diagrama de Blocos Pseudocódigo, também conhecido como Linguagem Estruturada ou Pseudolinguagem ou Portugol. Pseudocódigo e fluxograma convencional Cálculo da média de um aluno Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado Definição de variáveis Conceito e utilidade Variável é tudo aquilo que é sujeito a variações, isto é, que é incerto, instável ou inconstante. Variável em computação é uma entidade destinada a guardar uma informação Todo Algoritmo ou Programa deve possuir variável! Definição Var <nome> : <tipo> Exemplo: VAR x:inteiro VAR y:caracter Lembrando Naturais → N={0,1,2,3,4,...} Inteiros → Z={...-4,-3,-2,-1,0,1,2,3,4,...} Racionais → Q={p/q | p,q Є Z} Irracionais → Q´ - não podem ser representados por Q Reais → Q U Q´ Tipos Primários de dados Inteiro - Admite somente números inteiros. geralmente é utilizado para representar uma contagem (quantidade). Real Admite números reais (com ou sem casas decimais). geralmente é utilizado para representar uma medição. Caractere - Admite caracteres alfanuméricos. os números quando declarados como caracteres tornam se representativos e perdem a atribuição de valor. Lógico - Admite somente valores lógicos(verdadeiro/falso). Operador de atribuição := ou ← Utilizada para atribuir um valor a uma variável. <NomedaVariável> := <expressão> Exemplo: x := 10 ou x ← 10 Operador Literal + Utilizado para fazer a concatenação de strings (conjunto de caracteres) Exemplo: x := “ALGO” + “RITMO” → x = “ALGORITMO” Operadores Aritméticos + Adição - Subtração * Multiplicação / Divisão MOD Resto da divisão DIV Divisão inteira Operadores Relacionais > Maior < Menor >= Maior ou igual <= Menor ou igual = Igual <> Diferente Operadores Lógicos Atuam sobre expressões retornando sempre valores lógicos como Falso ou Verdadeiro: E - Retorna verdadeiro se ambas as partes forem verdadeiras OU - Retorna verdadeiro se pelo menos uma das partes for verdadeira NÃO - Inverte o estado do Retorno, isto é, se for falso retorna verdadeiro e vice-versa Operadores Lógicos IMPORTANTE!!!! Um algoritmo sempre tem: Algoritmo <nome_do_algoritmo> var <declaração_de_variáveis> Início ... ... Comandos de atribuição ... ... Fim. Comandos: Leia: Recebe as informações e as transporta para dentro da memória principal do computador. Ex: leia (n) ou leia (n,p,c) Escreva: Transporta as informações da memória principal para um dispositivo de saída (Monitor ). Ex: escreva(“turma 09”) ou escreva(n) Caso queira pular uma linha depois do comando escreva: Escreval (“turma 09”) Exemplo algoritmo: Algoritmo "Media" var N1,N2:inteiro Med:Real inicio Leia (N1) Leia (N2) Med := (N1+N2)/2 Se Med >= 7 entao Escreva ("Aprovado") senao Escreva ("Reprovado") fimse fimalgoritmo Estruturas de desvio condicional SE ...... ENTÃO Nessa situação a ação a ser tomada é dirigida por uma condição, se verdadeira ele a executa caso falsa ele procura a que esta ligada a condiçao: Ex: se c=7 entao Nesse caso se c=7 o programa escreva(“CN”) executara a condição que esta fimse ligada ao valor 7. Se (c) for qualquer se (c <> 7 )entao numero diferente d 7 então ele escreva (“EN”) executara a que esta ligada a essa fimse condição. SE ...... ENTÃO......SENÃO Nesse caso a ação a ser tomada é decidida por meio de duas alternativas, se a primeira for verdadeira o programa ira executá-la caso contrario será escolhido outro curso a ser tomado: Ex: Var Nota:Inteiro Inicio leia (Nota) se Nota > 7 entao escreva (“sua nota foi razoável ”,Nota) senão Escreva (“sua nota não foi nada razoável “,Nota) Fim-se OBS: para cada função “se.... Entao” é preciso colocar um fimse para fechar a função. Caso....Faca Em certos algoritmos e preciso que se acumule um grande numero de se’s . Existe uma estrutura que aplicada a certos casos onde haja um grande numero de se’s , pode se usar uma estrutura que tem o mesmo resultado , porem deixa o algoritmo menos vulnerável a ambiguidades. Essa estrutura se chama Escolha condicinal Algoritmo Aula05 Var Nota:Inteiro Inicio leia (Nota) Escolha (Nota) Caso Nota > 7 escreva (“sua nota foi razoável ”,Nota) Caso Nota > 5 escreva (“sua nota precisa melhorar ”,Nota) Caso Nota > 3 escreva (“sua nota não foi nada razoável“,Nota) Caso Nota > 0 escreva (“sua nota foi sofrível “,Nota) Caso Contrário escreva (“sua nota ZERO”) fim-Escolha Fim Nesse caso o programa ira escolher entre os casos disponíveis. Alguns exercícios: Algoritmo que lê o nome de um aluno, as notas de suas três provas e calcule e exibe a média harmônica das provas. (lembrando MH= 3 /((1/a) +(1/b)+(1/c)) ) Um algoritmo que lê o valor do raio e calcule a área do círculo correspondente.( lembrando que “pi” é uma funçao do visualg) : pi*r^2 Um determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e sua categoria. A tabela está demonstrada abaixo: IDADE CATEGORIA De 05 a 10 Infantil De 11 a 15 Juvenil De 16 a 20 Junior De 21 a 25 Profissional Boi: Construa um programa que solicite o nome e a idade de um atleta e imprima a sua categoria. Resolva as expressões lógicas, determinando se a expressão é verdadeira ou falsa: A. 2>3= B. (6<8)ou(3>7)= C. não (2<3)= D. (5>=6 ou 6<7 ou não(a+5-6=8) {onde a = 5} E. (34>9 e 5+u= 34) ou (5=15/3 e 8>12) = ((u = 29) e 8>12) {onde u = 29} Analise o seguinte algoritmo e descreva o que ele faz. 1. Algoritmo “PrimeiroAlgoritmo” 2. var 3. NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: real 4. NOME: caracter 5. inicio 6. leia (NOME) 7. leia (NOTA1) 8. leia (NOTA2) 9. leia (NOTA3) 10. leia (NOTA4) 11. MEDIA <- (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; 12. escreva (NOME, “ obteve “, MEDIA) 13. fimalgoritmo No seguinte algoritmo existem erros? Em caso afirmativo, onde? 1. algoritmo “Teste” 2. var 3. Maria: caracter 4. idade: numerico 5. _letra: literal 6. Maria: real 7. 1alt: caracter 8. peso : tonelada 9. Fernando literal 10. inicio 11. leia (nome) 12. leia idade 13. escreva (idade) 14. dade = 678 15. leia "letra" 16. leia ABC 17. escreva (letra) 18. letra <- A 19. fimalgoritmo Faça um algoritmo que determine o volume de uma caixa dágua cilíndrica, sendo que o raio e a altura devem ser fornecidos (lidos pelo teclado). V = PI * Raio^2 * Altura Dica: Algoritmo não se aprende copiando nem decorando, portando faça o máximo possível de algoritmos, pra qualquer coisa que der na cabeça, só assim você vai aprender.
Compartilhar