ALGORITMO
Definição Representa a lógica l de solução de um problema passo-a-passo passo.
Um algoritmo pode ser Na forma textual: Uma descrição tal como uma receita de bolo; Um manual de montagem; Um relato de como fazer uma tarefa; O pseudo código de um programa; Na forma de gráficos Um fluxograma Um mapa indicando o caminho
Características Possui um número n limitado de passos; As regras de codificação do algoritmo são previamente conhecidas e dependem da máquina que irá resolver o problema
Qualidades de um algoritmo Integridade: refere-se à precisão das informações manipuladas pelo programa; Clareza: refere-se à facilidade de leitura do programa; Simplicidade: a clareza e precisão de um programa são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente com os objetivos do programa; Eficiência: refere-se à velocidade de processamento e a correta utilização da memória; Modularidade: consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas; e Generalidade: é interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos.
Pseudo código É uma forma de algoritmo que simula a solução do problema por uma linguagem computacional; Não existem regras rígidas r para a codificação dos algoritmos, porem, de uma forma geral seguem a um padrão.
Programação Estruturada Possui 3 figuras básicasb Seqüência simples; Decisão; Repetição
Comandos Inicio representa o inicio do algoritmo; Fim representa o fim do algoritmo; Leia A significa ler um valor de uma unidade de entrada e armazenar em A. Caso exista um valor em A este é destruído do e substituído pelo novo valor lido.
Comandos Escreva A significa exibir o conteúdo de A. Não destrói i o valor exibido. Pode-se exibir uma mensagem colocando entre aspas. Escrever resposta A C+B significa A recebe a soma do conteúdo de C com B; Atenção o símbolo s tem significado diferente da matemática tica pois primeiro realiza a operação depois atribui o resultado para a variável vel A
Observe que A A+B significa some o conteúdo de A com B e atribua a A. Diga qual o valor que será exibido Inicio X 2 Y 3 X x+y Escreva x Fim
Exemplo Elabore um Algoritmo para ler dois valores e exibir sua soma Inicio Fim Ler A,B C A+B Escrever C
Operadores matemáticos ticos + soma - subtração * multiplicação / divisão Mod resto inteiro da divisão Div divisão inteira ( )
Exemplo A 10 mod 3 B 10 div 3 Auto avaliação: Proponha um método m para saber se um número n é par ou impar com o que foi mostrado até agora.
Exercício cio Elabore um algoritmo para ler 3 valores e determinar sua médiam
Solução Inicio Ler A,B,C D ( ( A+B+C) / 3 Escrever D Fim
Alem dos operadores existem as funções Inúmeras funções são disponíveis. Por exemplo: Sqrt raiz quadrada Sqr quadrado Sin seno Cos cosseno Rnd número aleatório Etc.
Estrutura de decisão Pode ser: Alternativa simples quando existe apenas uma ação a ser executada se a condição for verdadeira; Alternativa dupla quando existem duas ações a a serem executadas se a condição for verdadeira e se for falsa; Alternativas múltiplasm ltiplas quando existem mais de duas alternativas.
Estrutura de decisão Se (condição) Então Conjunto de comandos se a condição for verdadeira Se não Fim se Conjunto de comandos se a condição for falsa
Operadores relacionais > maior que < menor que = igual >= maior ou igual <= menor ou igual <> diferente E Ou
Exemplo Elabore um algoritmo para ler dois valores e exibir o maior deles. Os valores são, por definição, diferentes entre si. Inicio Ler A,B Se A>B então Escreva A Se não Escreva B Fim se Fim
Exercício cio Elabore um algoritmo para ler a idade de uma pessoa. Se a idade for menor que 18 anos exibir: menor de idade se for maior ou igual exibir maior de idade. Auto avaliação Se vc inverter a pergunta o resultado será o mesmo?
Solução Inicio Ler idade Se idade < 18 então Escrever menor de idade Se não Escrever maior de idade Fim se Fim
Auto avaliação Elabore um algoritmo para ler 3 valores (diferentes entre si) e escrever o maior deles.
Solução Inicio fim Ler A,B,C Se A>B e A>C então Escrever A Se não Se B > C então Escrever B Se não Escrever c Fim se Fim se
Elabore um algoritmo que leia código c da mercadoria e preço. Se for código c 00 aplicar um desconto de 10%. Exibir o preço o final.
Solução Inicio Ler código, c preço Se código c = 00 então Preço Preço * 0,9 Fim se Escreva código, c preço Fim
Elabore um algoritmo que Leia o sexo M ou F e se for M acrescente 1 a variável vel que contém m a quantidade de homens (CM)
INICIO CM 0 LER SEXO SE SEXO = M ENTÃO CM CM +1 FIM SE ESCREVA CM FIM
Simulação (chinês) Para verificar se um algoritmo atende aos requisitos do enunciado deve-se simular seu funcionamento com dados cujos resultados são previamente conhecidos; Por exemplo: Simule o funcionamento do algoritmo anterior para sexo M
Dicas Relacione as variáveis veis na mesma ordem do algoritmo. Elabore uma tabela e váv acompanhando o valor de cada variável vel variável vel CM Sexo valor 0 M CM 1
Elabore um algoritmo que Leia a nota do aluno se for maior que 5 escrever aprovado caso contrário rio escrever reprovado Inicio Ler nota Se nota >= 5 então Escreva aprovado Se não Escreva reprovado Fim se Fim
Elabore um algoritmo que Leia dois valores e exiba em ordem crescente (os valores são diferentes entre si)
Inicio Ler A,B Se A> B então Escreva A, B Se não Escreva B, A Fim se Fim
Altere o algoritmo anterior Inclua a condição dos valores serem iguais, neste caso escrever valores iguais
Quando existem mais de duas alternativas Neste caso será necessário colocar vários v se s. Pode-se usar o operador E, ou então, o OU Por exemplo:
Imposto de renda na fonte O critério rio para a retenção de imposto de renda na fonte é o seguinte: Renda 1164 Alíquota Isento Parcela a deduzir Elabore um algoritmo De 1164,01 a 2326 15% 174,60 Acima de 2326,00 27,5% 465,35
Inicio Ler renda Se renda <= 1164 então IR 0 Se não Se renda <= 2326 então IR renda* 0,15 174,60 Se não IR renda * 0,275 465,35 Fim se Fim se Escreva renda IR Fim
Simulação Simule o funcionamento do algoritmo anterior para os valores 260,00 2000,00 5000,00
Elabore um algoritmo que leia a nota do aluno e escreva sua situação O critério rio de aprovação da UERJ é o seguinte: Nota < 4 aluno reprovado Nota >= 4 e < 7 aluno em prova final Nota >= 7 aluno aprovado
Inicio Ler nota Fim Se nota < 4 então Escreva reprovado Se não Se nota <= 7 então Escreva final Se não Escreva aprovado Fim se Fim se
Exercício cio Complemente o exercício cio anterior incluindo a condição: se o aluno tiver menos de 75% de freqüência estará reprovado independente da nota
Inicio Ler nota,freq Se freq < 0,75 então Escreva reprovado Se não Se nota < 4 então Escreva reprovado Se não Se nota <= 7 então Escreva final Se não Escreva aprovado Fim se Fim se Fim se Fim
Elabore o algoritmo para determinar o recolhimento do INSS: O INSS para o trabalhador assalariado é calculado de acordo com a seguinte tabela: Salário de contribuição Até 752,62 De 752,63 a 780,00 De 780,01 a 1254,36 De 1254,37 a 2508,72 Alíquota (%) 7,65 8,65 9,00 11,00
Dicas 1. Qual informação deve ser lida? 2. A solução é um conjunto de decisões? 3. Comece pelo menor valor e váv estabelecendo os intervalos 4. Quais são as variáveis veis que serão utilizadas?
Inicio Fim Ler sal Se sal <= 752,62 então INSS sal * 0,0765 Se não Se sal <= 780,00 então INSS sal * 0,0865 Se não Se sal <=1254,36 então INSS sal * 0,09 Se não Se sal <= 2508,72 então INSS sal * 0,11 Se não INSS 2508,72 * 0,11 Fim se Fim se Fim se Fim se Escreva INSS
{uma solução pior, mas certa} Inicio Fim Ler sal Se sal <= 752,62 então INSS sal * 0,0765 Fim se Se sal >= 752,63 e sal <= 780,00 e então INSS sal * 0,0865 Fim se Se sal >= 780,01 e sal <=1254,36 então INSS sal * 0,09 Fim se Se sal >= 1254,37 e sal <= 2508,72 então INSS sal * 0,11 Fim se Se sal > 2508,72 então INSS 2508,72 * 0,11 Fim se Escreva INSS
Seleção múltiplam É quando temos várias v alternativas, como por exemplo no menu de um terminal bancário
Decisão múltiplam Caso opção faça Resposta 1: alternativa 1 Resposta 2: alternativa 2 Outro caso Fim caso Alternativa 3
Ler uma opção e escrever qual letra Inicio Ler letra Caso letra faça foi selecionada a :: escreva vc escolheu a b : escreva vc escolheu b Outro caso Fim Escreva vc escolheu outra letra
Estrutura de repetição Repete, de forma controlada, um conjunto selecionado de instruções. Podem ser de 3(três) tipos: Para-fa faça Enquanto-fa faça Repita-at até
Usa-se se da seguinte forma: Para-fa faça Para variável vel inicio até fim Grupo de instruções que será repetido Fim para Funciona da seguinte forma A variável vel é inicializada com o valor do inicio; O grupo de instruções é executado; Ao chegar ao comando fim para a variável vel tem seu valor acrescido de 1(um) e verifica se o seu valor é maior que fim Se for menor ou igual, repete o conjunto de instruções
Elabore um algoritmo para escrever os Inicio números inteiros de 1 até 10 Para j 1 ate 10 faça Escreva j Fim para Fim
Elabore um algoritmo para determinar a soma dos 10 primeiros números n inteiros Inicio Soma 0; Para j j 1 até 10 faça Soma soma+j Fim para Escreva soma Fim
Elabore um algoritmo que leia 5 Inicio valores e determine a sua soma Soma 0 Para j 1 ate 5 faça Ler x Soma soma+x Fim para Escreva soma Fim
Altere o algoritmo anterior para ler Inicio Ler n Soma 0 Para j 1 ate n faça Ler x Soma soma +x Fim para Escreva soma Fim n valores
Enquanto-fa faça Usa-se se da seguinte forma: Enquanto condição faça Grupo de instruções que será repetido Fim enquanto Funciona da seguinte forma: Enquanto a condição for VERDADEIRA o grupo de instruções é repetido
Inicio Soma 0 Cont 0 Enquanto cont < 5 faça Ler x Soma soma+x Cont cont cont+1 Fim enquanto Escreva soma Fim Por exemplo: soma de 5 valores lidos
As condições são construídas De forma análoga as condições da estrutura de decisão; Pode-se usar os operadores >, >=, <,<=,=,<> e ou não
Pode-se interromper a repetição Usando um contador, conforme o exemplo anterior ou; Usando um flag condição que indica que a repetição deve ser interrompida.
Elabore um algoritmo que Leia uma quantidade indeterminada de valores positivos. O flag é um valor negativo.
Solução Inicio Soma 0 Ler x Enquanto x > 0 faça Soma soma +x Ler x Fim enquanto Escreva soma Fim
Repita-at até Usa-se se da seguinte forma: Repita Grupo de instruções que será repetido Até que condição Funciona da seguinte forma: Repete o grupo de instruções ATÉ que a condição seja verdadeira
Elabore um algoritmo que leia 5 valores e determine a sua soma Inicio Soma o Cont 0 Repita Ler x Soma soma soma+x Cont cont cont+1 Ate que cont = 5 Escreva soma Fim