Algoritmos - exercicios resolvidos

  • View
    199.570

  • Download
    2

Embed Size (px)

Text of Algoritmos - exercicios resolvidos

PROJETO E-JOVEM

APOSTILA ALGORITMOS

Projeto E-JOVEM

NDICE1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ALGORITMO NO COTIDIANO: ................................................................................................................. 4 MELHORIAS NO ALGORITMO: ................................................................................................................ 5 ALGORITMO ESTRUTURADO: ................................................................................................................. 6 LINGUAGEM DE PROGRAMAO: ......................................................................................................... 8 ITENS FUNDAMENTAIS: ........................................................................................................................... 10 EXPRESSES ARITMTICAS .................................................................................................................. 14 EXPRESSES LITERAIS ............................................................................................................................ 17 ESTRUTURA SEQENCIAL E CONDICIONAL SIMPLES .................................................................. 20 ANINHAMENTO DE SE ESTRUTURA CONDICIONAL SIMPLES II ............................................. 21 ESTRUTURA CONDICIONAL COMPOSTA I ........................................................................................ 22 ESTRUTURA CONDICIONAL COMPOSTA II ....................................................................................... 22 ESTRUTURA DE REPETIO DETERMINADA................................................................................... 23 ESTRUTURA DE REPETIO INDETERMINADA .............................................................................. 25 COMBINANDO ESTRUTURA DE REPETIO E ESTRUTURA CONDICIONAL ......................... 28 VARIVEIS COMPOSTAS HOMOGNEAS ........................................................................................... 28 VARIVEIS COMPOSTA HETEROGNEAS - REGISTROS ............................................................. 30 ARQUIVOS .................................................................................................................................................... 31 SUBROTINA .................................................................................................................................................. 34 FUNO: ....................................................................................................................................................... 35 EXERCCIOS RESOLVIDOS ..................................................................................................................... 37 FIM ALGORITMO ....................................................................................................................................... 47 RESPOSTA..................................................................................................................................................... 59 EXERCCIOS PROPOSTOS ....................................................................................................................... 73

3

Projeto E-JOVEM

1. Algoritmo no Cotidiano: No nosso dia a dia comum termos que realizar aes para alcanarmos determinados resultados, s vezes realizamos essas aes de forma coordenada ou de forma no ordenada, com isso surge a questo se sabermos diferenciar um fato imprevisvel de uma ao. Definio: o Ao: um evento que tem um estado inicial, um perodo de tempo finito e que produz um resultado esperado. o Fato imprevisvel: uma situao que acontece sem que haja um tempo e tambm um resultado definido. Para que seja possvel a execuo de uma ao de forma eficiente, os passos devem ser descritos de forma clara. Um exemplo para um melhor entendimento seria a contagem de de letras de uma palavra qualquer, vamos aos passos: o Escolher a palavra; o Contar quantas letras ela possui o Escrever o resultado. Sendo assim por definio temos que o conjunto desses passos necessrios para se realizar uma ao denominado Algoritmo. Algoritmo: uma seqncia de instrues ordenadas e que, se corretamente seguida, produz um resultado previsvel. Algumas aes do nosso dia a dia como: fazer um bolo, tomar banho, trocar uma lmpada seguem procedimentos padres para chegar a um objetivo. Podemos assim consider-los como algoritmos do nosso cotidiano.

4

Projeto E-JOVEM

2. Melhorias no Algoritmo: Quando somos encarregados de realizar uma determinada ao sempre tentamos melhorar a forma de execuo dessa ao, buscando talvez a realizao em um tempo menor ou melhorar a qualidade naquilo que se busca. O mesmo se aplica aos algoritmos, nunca devemos interpret-los como definitivos, sempre podero ser melhorados. Voc deve estar se perguntando por que melhorar um algoritmo? Nem sempre os algoritmos esto descritos de forma que possam ser compreendidos ou esto gerando resultados no esperados, quando isso acontecer eles devem ser refeitos ou detalhados em mais instrues. Analise o seguinte algoritmo de receita de bolo: o Adicione os seguintes ingredientes: Ovos; Farinha de Trigo; Leite; Acar; Fermento em p; o Misture o Leve ao Forno Voc acha que com essas informaes teramos um bolo ao final? A resposta no, pois no vou poder fazer um bolo apenas colocando os ingredientes, preciso definir as medidas dos ingredientes para chegarmos corretamente ao bolo, o nosso algoritmo ficaria melhor da seguinte forma: Adicione os seguintes ingredientes: o 4- Ovos; o 2 copos e meio de farinha de trigo; o 1 copo de leite; o 2 copos e meio de acar; o 1 colher de fermento em p; Misture Leve ao Forno por 25 minutos. Mas ele est perfeito? Provavelmente um cozinheiro profissional poderia melhor-lo.

5

Projeto E-JOVEM

2.1 Caractersticas de um algoritmo Definio Exata: Para que um algoritmo seja considerado exato deve descrever todas as instrues de forma clara e tambm nunca deixar dvida no que para ser feito. Eficincia: Buscar sempre o menor tempo possvel para a execuo das atividades e tambm utilizar de forma inteligente os recursos disponveis.

Um algoritmo de qualidade deve reunir essas duas caractersticas. Uma boa estratgia para desenvolver um algoritmo : 1. Entender o problema completamente; 2. Descrever todos os mnimos detalhes; 3. Detalhar o problema de forma seqencial. 3. Algoritmo Estruturado: Todo algoritmo deve ser escrito de forma clara e precisa e com isso muito importante que ele seja escrito seguindo um padro de forma que possa ser interpretado por todos. Abaixo mostramos informaes bsicas de um algoritmo: Nome: Variveis: Identificador do programa Variveis que so utilizadas no programa

Procedimentos: procedimentos que podem ser utilizados no programa Funes: Funes que podem ser utilizados no programa

Bloco de Aes: As aes que o programa vai executar. Mostramos abaixo um exemplo de um algoritmo padro estruturado, a linguagem que vamos utilizar a partir daqui o PORTUGOL (Pseudo_liguagem criada para tornar o ensino da lgica de programao o mais simples possvel), segue:

6

Projeto E-JOVEM

Receita do Bolo: Algoritmo Receita_Bolo Variveis panela,ovos,copo_farinha,copo_acucar,copo_leite,colher_fermento Procedimentos misture, leve_ao_forno Funes espere Inicio ovos:= 4; copo_farinha:=2; copo_acucar:=1; copo_leite:=1; panela:= ovos+copo_farinha+copo_acucar+copo_leite; misture leve_ao_forno espere 25 fim

3.1. Etapas para a construo de algoritmo o Problema: Identificar o problema o primeiro passo no processo de construo de algoritmo; o Anlise: Entender o problema primordial para a resoluo do mesmo. o Desenvolvimento da soluo: Desenvolvimento do algoritmo; o Testes: Executar o algoritmo com dados conhecidos para obter um resultado esperado; o Alteraes: Realizar alteraes buscando sempre a velocidade e qualidade; o Algoritmo Final;

7

Projeto E-JOVEM

Voc deve estar se perguntando como vou poder testar se meu algoritmo est correto ou no? Existem alguma tcnicas para realizar testes em algoritmo. Abordaremos a tcnica do Chinesinho

Chinesinho: Consiste em executar fielmente o que est escrito no algoritmo, utlizando papel e caneta onde anotamos os valores inseridos e modificados pelo programa e ao final da execuo saberemos se o resultado realmente o esperado.

Exemplo: Algoritmo Soma Variveis a: inteiro b: inteiro Inicio Escreva Digite o valor de a: Receba a; Escreva Digite o valor de b: Receba b; Fim imprima a+b // nesse momento a = 0 // valor digitado pelo usurio a = 3 // nesse momento b = 0 // valor digitado pelo usurio b = 2 // Resultado do algoritmo = 5

Como sabemos a soma de 3+2 = 5, ento o conclumos que o algoritmo est correto.

4. Linguagem de Programao: Uma linguagem de programao um mtodo padronizado para expressar instrues para um computador, atravs da linguagem o programador pode definir precisamente o que o computador ir executar num determinado momento.

8

Projeto E-JOVEM

4.1. Tipos de Linguagem Abaixo listamos os tipos de linguagens separados por seu tipo de paradigma de programao. o Linguagem Natural; o Linguagem de programao estruturada; o Linguagem Funcional; o Linguagem de programao lgica; o Linguagem de Programao Orientada a Objetos (o.o); Vamos explicar apenas os tipos de linguagens mais importantes e mais utilizados na prtica.

Linguagem de programao estruturada: a forma de programar que defende que todos os programas podem ser escritos reduzidos a trs estruturas.

4.2. Estruturas: o Seqncia o Deciso o Iterao Abaixo temos uma lista das linguagens de programao estruturada mais conhecidas no mercado:

PASCAL CLIPPER C VISUAL BASIC DELPHI

Podemos afirmar que a programao estruturada ainda marcantemente influente, uma vez que grande parte das pessoas ainda aprendem pro