Sei sulla pagina 1di 35

Escola Secundria de Vila Franca do Campo

Ano letivo de 2013/2014

Sequncia finita e no ambgua de passos para a soluo de um problema. Num algoritmo pode-se ter:
tomada de decises repetio de passos (iterao)

Diferentes algoritmos podem levar soluo de um mesmo problema:


exemplo: como se deve vestir de manh? Primeiro coloca-se a cala ou a camisa?

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Exemplo receita de bolo

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Denir

aes simples e sem ambiguidade; Organizar as aes de forma ordenada Estabelecer as aes dentro de uma sequncia nita de passos.

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Ler e escrever dados; Avaliar expresses algbricas, relacionais e lgicas; Tomar decises com base nos resultados das expresses avaliadas; Repetir um conjunto de aes de acordo com uma condio;

Prof. Nina Custdio | Md.6 Fundamentos de Programao

1: 2: 3: 4: 5: 6: 7: 8: 9:

desligar o carro pegar as ferramentas (chave e macaco) pegar no pneu reserva suspender o carro com o macaco desenroscar os 4 parafusos do pneu furado colocar o estepe enroscar os 4 parafusos baixar o carro com o macaco guardar as ferramentas
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Entrada de dados

Processamento de dados

Sada de dados

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Na parte de entrada, so fornecidas as informaes necessrias para que o algoritmo possa ser executado.

Estas informaes podem ser fornecidas no


momento em que o programa est sendo executado ou podem estar embutidas dentro do mesmo.
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Na parte do processamento so avaliadas todas as expresses algbricas, relacionais e lgicas, assim como todas as estruturas de

controle existentes no algoritmo (condio


e/ou repetio).

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Todos os resultados do processamento (ou parte deles) so enviados para um ou mais dispositivos de sada, como: monitor,

impressora, ou at mesmo a prpria memria


do computador.

Prof. Nina Custdio | Md.6 Fundamentos de Programao

1: ir at paragem 2: enquanto o autocarro no chega faa 3: esperar autocarro 4: fim-enquanto 5: Entrar no autocarro 6: pegar passagem 7: se no h passagem ento 8: pegar dinheiro 9: fim-se 10: pagar o condutor 11: troco dinheiro - passagem 12: enquanto banco no est vazio faa 13: ir para o prximo 14: Fim-enquanto 15: sentar 16: ...

Prof. Nina Custdio | Md.6 Fundamentos de Programao

1: 3.14 {entrada para o processamento} 2: leia R {entrada para o processamento} 3: A R2 {processamento}

4: escreva A {sada}

Prof. Nina Custdio | Md.6 Fundamentos de Programao

fundamental que seja possvel tomar diferentes decises baseado em condies que so avaliadas em tempo de execuo. Padro de sintaxe a ser utilizada na Linguagem Natural:
se condicao_teste ento ao(es) a ser tomada se condicao_teste for verdadeira seno ao(es) a ser tomada se condicao_teste for falsa fimse

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Decidir se determinados passos devem ser executados ou no filtro Exemplo


selecionar a quantidade de ovos soluo: se quiser bolo mais macio ento

acrescente 2 ovos

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Decidir qual conjunto de passos devem ser executados categorizao Exemplo

escolher o tipo de acar soluo: se o bolo for para diabticos

ento utilizar adoante seno utilizar acar refinado

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Precisamos de mecanismos de programao que nos

permitam requisitar que um conjunto de instrues seja


repetidamente executado, at que uma determinada condio seja alcanada: REPETIES SO PROGRAMADAS ATRAVS DA CONSTRUO DE LAOS (OU CICLOS).

Padro de sintaxe a ser usado na Linguagem Natural:


Enquanto condicao_execucao faa ao(es) a ser tomada se condicao_execucao for verdadeira fimenquanto Prof. Nina Custdio | Md.6 Fundamentos de Programao

Repetir um determinado conjunto de passos. Exemplo (continuando na arte culinria!):


preparar uma lasanha soluo montagem da lasanha
coloque uma camada de molho coloque uma camada de massa coloque uma camada de presunto coloque uma camada de queijo repita o processo acima quantas vezes desejar problema!!!!

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Linguagem Natural: Os algoritmos so expressos diretamente em linguagem natural (o portugus, por exemplo). Fluxograma: Representao grfica que emprega formas geomtricas padronizadas para indicar as diversas aes e decises que devem ser executadas para resolver o problema. Pseudocdigo: Emprega uma linguagem intermediria entre a linguagem natural e uma linguagem de programao para descrever algoritmos. Linguagem de Programao: Mtodo padronizado para expressar instrues para um computador . um conjunto de regras sintticas e semnticas usadas para definir um programa de computador .
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Faa um algoritmo que leia 2 nmeros inteiros e imprima a diferena entre o primeiro e o segundo nmero. Passos da soluo:
identificao da entrada de dados
2 nmeros inteiros

identificao da sada
1 nmero inteiro representando a diferena entre os 2 nmeros obtidos na entrada

descrio do algoritmo
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Descrio do algoritmo (verso 1): 1. obter o primeiro nmero inteiro com o utilizador 2. obter o segundo nmero inteiro com o utilizador 3. calcular a diferena do primeiro nmero para o segundo 4. mostrar o resultado da diferena

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Problemas: Como obter os nmeros com o utilizador? Por que meio? Como guardar os nmeros que o utilizador forneceu? Como identificar qual foi o primeiro valor e qual foi o segundo valor fornecido?

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Descrio do algoritmo (verso 2): 1. obter o primeiro nmero inteiro com o utilizador e armazen-lo na caixa chamada numero1 2. obter o segundo nmero inteiro com o utilizador e armazen-lo na caixa chamada numero2 3. calcular a diferena e armazen-la na caixa chamada diferena diferencanumero1 - numero2 4. Mostrar o contedo da caixa chamada diferena

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Descrio do algoritmo (verso 3): 1. solicitar ao utilizador que informe o primeiro nmero inteiro 2. obter o primeiro nmero inteiro com o utilizador e armazen-lo na caixa chamada numero1 3. solicitar ao utilizador que informe o segundo nmero inteiro 4. obter o segundo nmero inteiro com o utilizador e armazen-lo na caixa chamada numero2 5. calcular a diferena e armazen-la na caixa chamada diferena Diferena numero1 - numero2 6. Mostrar o contedo da caixa chamada diferena

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Descrio do algoritmo (verso 4): 1.solicitar ao utilizador que informe o primeiro nmero inteiro 2. obter numero1 3. solicitar ao utilizador que informe o segundo nmero inteiro 4. obter numero2 5. diferenca numero1 - numero2 6. Mostrar diferenca

Prof. Nina Custdio | Md.6 Fundamentos de Programao

A partir de 3 notas de um aluno, calcular a sua mdia aritmtica e escrever no ecr se ele foi aprovado ou reprovado, levando em conta que a mdia para aprovao deve ser pelo menos 9,5.

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Linguagem Natural: 1. Obter as 3 notas das provas do aluno. 2. Calcular a mdia aritmtica das 3 notas. 3. Comparar a mdia com o valor 9,5. 4. Se for maior ou igual, escrever aprovado. 5. Caso contrrio, escrever reprovado.

Prof. Nina Custdio | Md.6 Fundamentos de Programao

9.5?

Prof. Nina Custdio | Md.6 Fundamentos de Programao

9.5?

Prof. Nina Custdio | Md.6 Fundamentos de Programao

9.5?

Prof. Nina Custdio | Md.6 Fundamentos de Programao

Escreva um algoritmo que fica recebendo como entrada a matricula e duas notas (P1 e P2) dos alunos de uma turma enquanto a matrcula do aluno for maior que 0. Para cada aluno, o seu algoritmo deve calcular a mdia dele na disciplina. Como uma das sadas, o seu algoritmo deve imprimir a matricula do aluno, a sua mdia e a mensagem Aluno aprovado se a mdia dele for maior ou igual a 5.0 ou Aluno reprovado, caso contrrio. Aps a entrada de alunos chegar ao fim, a mdia da turma deve ser calculada e mostrada como sada.
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Prof. Nina Custdio | Md.6 Fundamentos de Programao

1.

2.

Escreva um algoritmo que dado o raio de um crculo, calcula o volume da esfera com este raio. Sabe-se que o volume da esfera dado por Escreva um algoritmo que recebe dois nmeros inteiros como entrada e mostra, como sada, a soma, o produto, a diferena, o quociente e o resto entre estes dois nmeros.
Prof. Nina Custdio | Md.6 Fundamentos de Programao

3.

4.

5.

Modifique o algoritmo da questo (anterior) para que ele leia tambm uma opo que define qual das operaes que o utilizador quer executar. Esta alterao faz com que o utilizador possa apenas executar uma das operaes aritmticas. Escreva um algoritmo que recebe dois nmeros como entrada e imprime, como sada, qual a relao entre esses dois nmeros: se so iguais, maior que ou menor que. Escreva um algoritmo que recebe 3 nmeros inteiros como entrada e exibe, como sada, os nmeros em ordem crescente.
Prof. Nina Custdio | Md.6 Fundamentos de Programao

6.

7.

Escreva um algoritmo que recebe um nmero inteiro como entrada e mostre, como sada, se o nmero par ou mpar. Escreva um algoritmo que recebe como entrada um nmero de dias decorrido num evento, fornecido pelo utilizador, e mostra como sada o mesmo valor expresso em numero de semanas e numero de dias. Por exemplo, se um utilizador fornecer o valor 17, o programa deve imprimir 2 e 3, pois 17 dias correspondem a 2 semanas e 3 dias.
Prof. Nina Custdio | Md.6 Fundamentos de Programao

Potrebbero piacerti anche