View
18.366
Download
5
Category
Preview:
DESCRIPTION
Conceitos básicos de algoritmos e lógica de programação
Citation preview
ALGORITMOALGORITMO
DefiniçãoDefinição
Representa a lógica de solução de Representa a lógica de solução de um problema passo-a-passo.um problema passo-a-passo.
Um algoritmo pode serUm algoritmo pode ser
Na forma textual:Na forma textual:• Uma descrição tal como uma receita de Uma descrição tal como uma receita de
bolo;bolo;• Um manual de montagem;Um manual de montagem;• Um relato de como fazer uma tarefa;Um relato de como fazer uma tarefa;• O pseudo código de um programa;O pseudo código de um programa;
Na forma de gráficosNa forma de gráficos• Um fluxogramaUm fluxograma• Um mapa indicando o caminhoUm mapa indicando o caminho
CaracterísticasCaracterísticas
Possui um número limitado de Possui um número limitado de passos;passos;
As regras de codificação do algoritmo As regras de codificação do algoritmo são previamente conhecidas e são previamente conhecidas e dependem da “máquina” que irá dependem da “máquina” que irá resolver o problemaresolver o problema
Qualidades de um algoritmoQualidades de um algoritmo IntegridadeIntegridade:: refere-se à precisão das informações refere-se à precisão das informações
manipuladas pelo programa; manipuladas pelo programa; ClarezaClareza:: refere-se à facilidade de leitura do refere-se à facilidade de leitura do
programa;programa; SimplicidadeSimplicidade:: a clareza e precisão de um programa a clareza e precisão de um programa
são normalmente melhoradas tornando seu são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente entendimento o mais simples possível, consistente com os objetivos do programa;com os objetivos do programa;
EficiênciaEficiência:: refere-se à velocidade de processamento refere-se à velocidade de processamento e a correta utilização da memória; e a correta utilização da memória;
ModularidadeModularidade:: consiste no particionamento do consiste no particionamento do programa em módulos menores bem identificáveis e programa em módulos menores bem identificáveis e com funções específicas; ecom funções específicas; e
GeneralidadeGeneralidade:: é interessante que um programa seja é interessante que um programa seja tão genérico quanto possível de forma a permitir a tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos.reutilização de seus componentes em outros projetos.
Pseudo códigoPseudo código
É uma forma de algoritmo que É uma forma de algoritmo que simula a solução do problema por simula a solução do problema por uma linguagem computacional;uma linguagem computacional;
Não existem regras rígidas para a Não existem regras rígidas para a codificação dos algoritmos, porem, codificação dos algoritmos, porem, de uma forma geral seguem a um de uma forma geral seguem a um padrão.padrão.
Programação EstruturadaProgramação Estruturada
Possui 3 figuras básicasPossui 3 figuras básicas• Seqüência simples;Seqüência simples;• Decisão;Decisão;• RepetiçãoRepetição
ComandosComandos
Inicio Inicio representa o inicio do representa o inicio do algoritmo;algoritmo;
Fim Fim representa o fim do algoritmo; representa o fim do algoritmo; Leia A Leia A significa ler um valor de significa ler um valor de
uma unidade de entrada e uma unidade de entrada e armazenar em A. Caso exista um armazenar em A. Caso exista um valor em A este é destruído e valor em A este é destruído e substituído pelo novo valor lido.substituído pelo novo valor lido.
ComandosComandos
Escreva A Escreva A significa exibir o conteúdo de significa exibir o conteúdo de A. Não destrói o valor exibido. Pode-se A. Não destrói o valor exibido. Pode-se exibir uma mensagem colocando entre exibir uma mensagem colocando entre aspas. Escrever “resposta”aspas. Escrever “resposta”
AA C+B significa A recebe a soma do C+B significa A recebe a soma do conteúdo de C com B;conteúdo de C com B;
Atenção o símbolo Atenção o símbolo tem significado tem significado diferente da matemática pois primeiro diferente da matemática pois primeiro realiza a operação depois atribui o realiza a operação depois atribui o resultado para a variável Aresultado para a variável A
Observe queObserve que
A A A+B significa some o conteúdo A+B significa some o conteúdo de A com B e atribua a A.de A com B e atribua a A.
Diga qual o valor que será exibidoDiga qual o valor que será exibido InicioInicio
• XX 2 2• YY 3 3• X X x+y x+y• Escreva xEscreva x
FimFim
ExemploExemplo
Elabore um Algoritmo para ler dois Elabore um Algoritmo para ler dois valores e exibir sua somavalores e exibir sua soma
InicioInicioLer A,BLer A,B
CC A+B A+B
Escrever CEscrever C
FimFim
Operadores matemáticosOperadores matemáticos
+ soma+ soma - subtração- subtração * multiplicação* multiplicação / divisão/ divisão Mod resto inteiro da divisãoMod resto inteiro da divisão Div divisão inteiraDiv divisão inteira ( )( )
ExemploExemplo
A A 10 mod 3 10 mod 3 B B 10 div 3 10 div 3 Auto avaliação:Auto avaliação: Proponha um método para saber se Proponha um método para saber se
um número é par ou impar com o um número é par ou impar com o que foi mostrado até agora.que foi mostrado até agora.
ExercícioExercício
Elabore um algoritmo para ler 3 Elabore um algoritmo para ler 3 valores e determinar sua médiavalores e determinar sua média
SoluçãoSolução
InicioInicio• Ler A,B,CLer A,B,C• D D ( A+B+C) / 3( A+B+C) / 3• Escrever DEscrever D
FimFim
Alem dos operadores existem as Alem dos operadores existem as funçõesfunções
Inúmeras funções são disponíveis. Inúmeras funções são disponíveis. Por exemplo:Por exemplo:• Sqrt raiz quadradaSqrt raiz quadrada• Sqr quadradoSqr quadrado• Sin senoSin seno• Cos cossenoCos cosseno• Rnd número aleatórioRnd número aleatório• Etc.Etc.
Estrutura de decisãoEstrutura de decisão
Pode ser:Pode ser:• Alternativa simples Alternativa simples quando existe quando existe
apenas uma ação a ser executada se a apenas uma ação a ser executada se a condição for verdadeira;condição for verdadeira;
• Alternativa dupla Alternativa dupla quando existem quando existem duas ações a serem executadas se a duas ações a serem executadas se a condição for verdadeira e se for falsa;condição for verdadeira e se for falsa;
• Alternativas múltiplasAlternativas múltiplas quando existem quando existem mais de duas alternativas.mais de duas alternativas.
Estrutura de decisãoEstrutura de decisão
Se (condição) Se (condição) • EntãoEntão
Conjunto de comandos se a condição for Conjunto de comandos se a condição for verdadeiraverdadeira
• Se nãoSe não Conjunto de comandos se a condição for Conjunto de comandos se a condição for
falsafalsa
Fim seFim se
Operadores relacionaisOperadores relacionais
> maior que> maior que < menor que< menor que = igual= igual >= maior ou igual>= maior ou igual <= menor ou igual<= menor ou igual <> diferente<> diferente EE OuOu
ExemploExemplo Elabore um algoritmo para ler dois Elabore um algoritmo para ler dois
valores e exibir o maior deles. Os valores e exibir o maior deles. Os valores são, por definição, diferentes valores são, por definição, diferentes entre si.entre si.
InicioInicio Ler A,BLer A,B
Se A>B entãoSe A>B entãoEscreva AEscreva A
Se nãoSe nãoEscreva BEscreva B
Fim seFim seFim Fim
ExercícioExercício
Elabore um algoritmo para ler a Elabore um algoritmo para ler a idade de uma pessoa. Se a idade for idade de uma pessoa. Se a idade for menor que 18 anos exibir: “menor de menor que 18 anos exibir: “menor de idade” se for maior ou igual exibir idade” se for maior ou igual exibir “maior de idade”.“maior de idade”.
Auto avaliaçãoAuto avaliação Se vc inverter a pergunta o resultado Se vc inverter a pergunta o resultado
será o mesmo? será o mesmo?
SoluçãoSolução
InicioInicio• Ler idadeLer idade• Se idade < 18 entãoSe idade < 18 então
Escrever “menor de idade”Escrever “menor de idade”
• Se nãoSe não Escrever “maior de idade”Escrever “maior de idade”
• Fim seFim se FimFim
Auto avaliaçãoAuto avaliação
Elabore um algoritmo para ler 3 Elabore um algoritmo para ler 3 valores (diferentes entre si) e valores (diferentes entre si) e escrever o maior deles.escrever o maior deles.
SoluçãoSolução
InicioInicio• Ler A,B,CLer A,B,C• Se A>B e A>C entãoSe A>B e A>C então
Escrever AEscrever A
• Se nãoSe não Se B > C entãoSe B > C então
• Escrever BEscrever B Se nãoSe não
• Escrever cEscrever c Fim seFim se
• Fim seFim se fimfim
Elabore um algoritmo queElabore um algoritmo que
• leia código da mercadoria e preço. Se leia código da mercadoria e preço. Se for código 00 aplicar um desconto de for código 00 aplicar um desconto de 10%. Exibir o preço final.10%. Exibir o preço final.
SoluçãoSolução
InicioInicio• Ler código, preçoLer código, preço• Se código = 00 entãoSe código = 00 então
Preço Preço Preço * 0,9 Preço * 0,9
• Fim seFim se• Escreva código, preçoEscreva código, preço
FimFim
Elabore um algoritmo queElabore um algoritmo que
Leia o sexo M ou F e se for M Leia o sexo M ou F e se for M acrescente 1 a variável que contém acrescente 1 a variável que contém a quantidade de homens (CM)a quantidade de homens (CM)
INICIOINICIO• CMCM 0 { não é obrigatório pois todas as 0 { não é obrigatório pois todas as
variáveis iniciam com 0}variáveis iniciam com 0}• LER SEXOLER SEXO• SE SEXO = ‘M’ ENTÃOSE SEXO = ‘M’ ENTÃO
CM CM CM +1 CM +1
• FIM SEFIM SE• ESCREVA CMESCREVA CM
FIMFIM
Simulação (chinês)Simulação (chinês)
Para verificar se um algoritmo Para verificar se um algoritmo atende aos requisitos do enunciado atende aos requisitos do enunciado deve-se simular seu funcionamento deve-se simular seu funcionamento com dados cujos resultados são com dados cujos resultados são previamente conhecidos;previamente conhecidos;
Por exemplo:Por exemplo: Simule o funcionamento do algoritmo Simule o funcionamento do algoritmo
anterior para sexo ‘M’anterior para sexo ‘M’
DicasDicas
Relacione as Relacione as variáveis na variáveis na mesma ordem do mesma ordem do algoritmo. Elabore algoritmo. Elabore uma tabela e vá uma tabela e vá acompanhando o acompanhando o valor de cada valor de cada variávelvariável
variávelvariável valorvalor
CMCM 00
SexoSexo MM
CMCM 11
Elabore um algoritmo queElabore um algoritmo que
Leia a nota do aluno se for maior que 5 Leia a nota do aluno se for maior que 5 escrever “aprovado” caso contrário escrever “aprovado” caso contrário escrever “reprovado”escrever “reprovado”
InicioInicio• Ler notaLer nota• Se nota >= 5 entãoSe nota >= 5 então
Escreva “aprovado”Escreva “aprovado”
• Se nãoSe não Escreva “reprovado”Escreva “reprovado”
• Fim seFim se Fim Fim
Elabore um algoritmo queElabore um algoritmo que
Leia dois valores e exiba em ordem Leia dois valores e exiba em ordem crescente (os valores são diferentes crescente (os valores são diferentes entre si)entre si)
InicioInicio• Ler A,BLer A,B• Se A> B entãoSe A> B então
Escreva A, BEscreva A, B
• Se nãoSe não Escreva B, AEscreva B, A
• Fim seFim se FimFim
Altere o algoritmo anteriorAltere o algoritmo anterior
Inclua a condição dos valores serem Inclua a condição dos valores serem iguais, neste caso escrever “valores iguais, neste caso escrever “valores iguais”iguais”
Quando existem mais de duas Quando existem mais de duas alternativasalternativas
Neste caso será necessário colocar Neste caso será necessário colocar vários “se’s”.vários “se’s”.
Pode-se usar o operador E, ou então, Pode-se usar o operador E, ou então, o OUo OU
Por exemplo:Por exemplo:
Imposto de renda na fonteImposto de renda na fonte
O critério para O critério para a retenção de a retenção de imposto de imposto de renda na renda na fonte é o fonte é o seguinte:seguinte:
Elabore um Elabore um algoritmoalgoritmo
RendaRenda AlíquotaAlíquota Parcela Parcela a a deduzirdeduzir
11641164 IsentoIsento
De De 1164,01 1164,01 a 2326a 2326
15%15% 174,60174,60
Acima Acima de de 2326,002326,00
27,5%27,5% 465,35465,35
InicioInicio• Ler rendaLer renda
Se renda <= 1164 entãoSe renda <= 1164 então• IR IR 0 0
Se nãoSe não• Se renda <= 2326 entãoSe renda <= 2326 então
IR IR renda* 0,15 – 174,60 renda* 0,15 – 174,60• Se nãoSe não
IR IR renda * 0,275 – 465,35 renda * 0,275 – 465,35• Fim seFim se
Fim seFim se Escreva renda IREscreva renda IR
• Fim Fim
SimulaçãoSimulação
Simule o funcionamento do algoritmo Simule o funcionamento do algoritmo anterior para os valoresanterior para os valores• 260,00260,00• 2000,002000,00• 5000,005000,00
Elabore um algoritmo que leia a Elabore um algoritmo que leia a nota do aluno e escreva sua nota do aluno e escreva sua
situaçãosituação
O critério de aprovação da UERJ é o O critério de aprovação da UERJ é o seguinte:seguinte:• Nota < 4 aluno reprovadoNota < 4 aluno reprovado• Nota >= 4 e < 7 aluno em prova finalNota >= 4 e < 7 aluno em prova final• Nota >= 7 aluno aprovadoNota >= 7 aluno aprovado
InicioInicio• Ler notaLer nota
Se nota < 4 entãoSe nota < 4 então• Escreva “reprovado”Escreva “reprovado”
Se nãoSe não• Se nota <= 7 entãoSe nota <= 7 então
Escreva “final” Escreva “final” • Se nãoSe não
Escreva “aprovado”Escreva “aprovado”• Fim seFim se
Fim seFim se
FimFim
ExercícioExercício
Complemente o exercício anterior Complemente o exercício anterior incluindo a condição: se o aluno tiver incluindo a condição: se o aluno tiver menos de 75% de freqüência estará menos de 75% de freqüência estará reprovado independente da notareprovado independente da nota
InicioInicio• Ler nota,freqLer nota,freq• Se freq < 0,75 então Se freq < 0,75 então
Escreva “reprovado”Escreva “reprovado”
• Se nãoSe não Se nota < 4 entãoSe nota < 4 então
• Escreva “reprovado”Escreva “reprovado” Se nãoSe não
• Se nota <= 7 entãoSe nota <= 7 então Escreva “final” Escreva “final”
• Se nãoSe não Escreva “aprovado”Escreva “aprovado”
• Fim seFim se Fim seFim se
• Fim seFim se FimFim
Elabore o algoritmo para determinar o Elabore o algoritmo para determinar o recolhimento do INSS:recolhimento do INSS:
O INSS para o trabalhador assalariado é O INSS para o trabalhador assalariado é calculado de acordo com a seguinte calculado de acordo com a seguinte tabela:tabela:
Salário de contribuiçãoSalário de contribuição AlíquotaAlíquota
(%)(%)
Até 752,62Até 752,62 7,657,65
De 752,63 a 780,00De 752,63 a 780,00 8,658,65
De 780,01 a 1254,36De 780,01 a 1254,36 9,009,00
De 1254,37 a 2508,72De 1254,37 a 2508,72 11,0011,00
DicasDicas
1.1. Qual informação deve ser lida?Qual informação deve ser lida?
2.2. A solução é um conjunto de A solução é um conjunto de decisões?decisões?
3.3. Comece pelo menor valor e vá Comece pelo menor valor e vá estabelecendo os intervalosestabelecendo os intervalos
4.4. Quais são as variáveis que serão Quais são as variáveis que serão utilizadas?utilizadas?
InicioInicio• Ler salLer sal• Se sal <= 752,62 entãoSe sal <= 752,62 então
INSS INSS sal * 0,0765 sal * 0,0765• Se nãoSe não
Se sal <= 780,00 entãoSe sal <= 780,00 então• INSS INSS sal * 0,0865 sal * 0,0865
Se nãoSe não• Se sal <=1254,36 entãoSe sal <=1254,36 então
INSS INSS sal * 0,09 sal * 0,09• Se nãoSe não
Se sal <= 2508,72 entãoSe sal <= 2508,72 então INSS INSS sal * 0,11 sal * 0,11 Se nãoSe não INSS INSS 2508,72 * 0,11 2508,72 * 0,11 Fim seFim se
• Fim seFim se Fim seFim se
• Fim seFim se• Escreva INSSEscreva INSS
Fim Fim
{uma solução pior, mas certa}{uma solução pior, mas certa} InicioInicio
• Ler salLer sal• Se sal <= 752,62 entãoSe sal <= 752,62 então
INSS INSS sal * 0,0765 sal * 0,0765• Fim seFim se• Se sal >= 752,63 e sal <= 780,00 e entãoSe sal >= 752,63 e sal <= 780,00 e então
INSS INSS sal * 0,0865 sal * 0,0865• Fim seFim se• Se sal >= 780,01 e sal <=1254,36 entãoSe sal >= 780,01 e sal <=1254,36 então
INSS INSS sal * 0,09 sal * 0,09• Fim seFim se• Se sal >= 1254,37 e sal <= 2508,72 entãoSe sal >= 1254,37 e sal <= 2508,72 então
INSS INSS sal * 0,11 sal * 0,11• Fim seFim se• Se sal > 2508,72 entãoSe sal > 2508,72 então
INSS INSS 2508,72 * 0,11 2508,72 * 0,11• Fim seFim se• Escreva INSSEscreva INSS
Fim Fim
Seleção múltiplaSeleção múltipla
É quando temos várias alternativas, É quando temos várias alternativas, como por exemplo no “menu” de um como por exemplo no “menu” de um terminal bancárioterminal bancário
Decisão múltiplaDecisão múltipla
Caso opção façaCaso opção faça• Resposta 1: alternativa 1Resposta 1: alternativa 1• Resposta 2: alternativa 2Resposta 2: alternativa 2• Outro casoOutro caso
Alternativa 3Alternativa 3
Fim casoFim caso
Ler uma opção e escrever qual Ler uma opção e escrever qual letra foi selecionada letra foi selecionada
InicioInicio• Ler letraLer letra
Caso letra façaCaso letra faça• ““a”: escreva “vc escolheu a “a”: escreva “vc escolheu a “• ““b” : escreva “vc escolheu b “b” : escreva “vc escolheu b “
Outro casoOutro caso• Escreva “vc escolheu outra letra”Escreva “vc escolheu outra letra”
• Fim Fim
Estrutura de repetiçãoEstrutura de repetição
Repete, de forma controlada, um Repete, de forma controlada, um conjunto selecionado de instruções.conjunto selecionado de instruções.
Podem ser de 3(três) tipos:Podem ser de 3(três) tipos:• Para-façaPara-faça• Enquanto-façaEnquanto-faça• Repita-atéRepita-até
Para-façaPara-faça Usa-se da seguinte forma:Usa-se da seguinte forma:
• Para Para variávelvariável inicio até fim inicio até fim Grupo de instruções que será repetidoGrupo de instruções que será repetido
• Fim paraFim para Funciona da seguinte formaFunciona da seguinte forma
• A A variávelvariável é inicializada com o valor do inicio; é inicializada com o valor do inicio;• O grupo de instruções é executado;O grupo de instruções é executado;• Ao chegar ao comando “fim para” a Ao chegar ao comando “fim para” a variávelvariável
tem seu valor acrescido de 1(um) e verifica se tem seu valor acrescido de 1(um) e verifica se o seu valor é maior que fimo seu valor é maior que fim
• Se for menor ou igual, repete o conjunto de Se for menor ou igual, repete o conjunto de instruçõesinstruções
Elabore um algoritmo para escrever os Elabore um algoritmo para escrever os números inteiros de 1 até 10números inteiros de 1 até 10
InicioInicio• Para j Para j 1 ate 10 faça 1 ate 10 faça
Escreva jEscreva j
• Fim para Fim para Fim Fim
Elabore um algoritmo para determinar a Elabore um algoritmo para determinar a soma dos 10 primeiros números inteirossoma dos 10 primeiros números inteiros
InicioInicio• Soma Soma 0;0;• Para jPara j 1 até 10 faça 1 até 10 faça
Soma Soma soma+j soma+j
• Fim paraFim para• Escreva somaEscreva soma
Fim Fim
Elabore um algoritmo que leia 5 Elabore um algoritmo que leia 5 valores e determine a sua somavalores e determine a sua soma
InicioInicio• Soma Soma 00• Para j Para j 1 ate 5 faça 1 ate 5 faça
Ler xLer x Soma Soma soma+xsoma+x
• Fim paraFim para• Escreva somaEscreva soma
Fim Fim
Altere o algoritmo anterior para ler Altere o algoritmo anterior para ler “n” valores“n” valores
InicioInicio• Ler nLer n• Soma Soma 00• Para j Para j 1 ate n faça 1 ate n faça
Ler xLer x Soma Soma soma +x soma +x
• Fim paraFim para• Escreva somaEscreva soma
Fim Fim
Enquanto-façaEnquanto-faça
Usa-se da seguinte forma:Usa-se da seguinte forma:• Enquanto condição façaEnquanto condição faça
Grupo de instruções que será repetidoGrupo de instruções que será repetido
• Fim enquantoFim enquanto Funciona da seguinte forma:Funciona da seguinte forma:
• Enquanto a condição for VERDADEIRA o Enquanto a condição for VERDADEIRA o grupo de instruções é repetidogrupo de instruções é repetido
Por exemplo:Por exemplo: soma de 5 valores lidos soma de 5 valores lidos
InicioInicio SomaSoma00 ContCont0 0 Enquanto cont < 5 façaEnquanto cont < 5 faça
• Ler xLer x• SomaSoma soma+x soma+x• ContContcont+1cont+1
Fim enquantoFim enquanto Escreva somaEscreva soma Fim Fim
As condições são construídasAs condições são construídas
De forma análoga as condições da De forma análoga as condições da estrutura de decisão;estrutura de decisão;
Pode-se usar os operadores >, >=, Pode-se usar os operadores >, >=, <,<=,=,<> e ou não <,<=,=,<> e ou não
Pode-se interromper a repetição Pode-se interromper a repetição
Usando um contador, conforme o Usando um contador, conforme o exemplo anterior ou;exemplo anterior ou;
Usando um “flag” condição que Usando um “flag” condição que indica que a repetição deve ser indica que a repetição deve ser interrompida.interrompida.
Elabore um algoritmo queElabore um algoritmo que
Leia uma quantidade indeterminada Leia uma quantidade indeterminada de valores positivos. O “flag” é um de valores positivos. O “flag” é um valor negativo.valor negativo.
SoluçãoSolução
InicioInicio SomaSoma00 Ler xLer x Enquanto x > 0 façaEnquanto x > 0 faça
• Soma Soma soma +x soma +x• Ler xLer x
Fim enquantoFim enquanto Escreva somaEscreva soma FimFim
Repita-atéRepita-até
Usa-se da seguinte forma:Usa-se da seguinte forma:• RepitaRepita
Grupo de instruções que será repetidoGrupo de instruções que será repetido
• Até que condiçãoAté que condição Funciona da seguinte forma:Funciona da seguinte forma:
• Repete o grupo de instruções ATÉ que a Repete o grupo de instruções ATÉ que a condição seja verdadeiracondição seja verdadeira
Elabore um algoritmo que leia 5 Elabore um algoritmo que leia 5 valores e determine a sua somavalores e determine a sua soma
InicioInicio SomaSomaoo ContCont00 RepitaRepita
• Ler xLer x• SomaSomasoma+xsoma+x• Cont Cont cont+1cont+1
Ate que cont = 5Ate que cont = 5 Escreva somaEscreva soma Fim Fim
Recommended