Sie sind auf Seite 1von 50

CCO 013 FUNDAMENTOS DE PROGRAMAO

Prof. Dr. Edison Oliveira de Jesus

Universidade Federal de Itajub

AULA 03
Algoritmo
Estrutura
exemplos

Estrutura do algoritmo
Algoritmo nome do algoritmo
-objetivo do algoritmo: -definio das variveis -entrada dos dados -clculos -sadas Fim_algoritmo

Exemplo 1
ALGORITMO soma_valores Algoritmo para somar dois valores dados

1) declarao das variveis inteiro a, b, c 2) Entrada dos dados imprima ( entre com dois valores ) leia ( a, b )

3) Clculo da soma dos valores ca+b 4) Mostrando os valores dados imprima ( dados de entrada ) imprima ( a, b )

5) Mostrando os resultados calculados imprima ( soma dos valores = , c )


Fim_algoritmo

Comentrio
Comentrio uma informao para o programador; no interpretada pelo computador utilizado tanto no algoritmo quanto num programa escrito em linguagem de alto nvel.

Exemplo 2
1) declarao das variveis inteiro a, b, c 2) Entrada dos dados imprima ( entre com dois valores ) leia ( a, b ) 3) Clculo da soma dos valores ca+b

4) Mostrando os valores dados imprima ( dados de entrada ) imprima ( a, b ) 5) Mostrando os resultados calculados imprima ( soma dos valores = , c )

Identao
Espaos deixados no inicio de cada instruo para identificar um grupo de instrues.

Exemplo:
ALGORITMO exemplo 1) definio das variveis

identao

Estruturas de programao
Seqencial Seleo
Repetio

Estrutura de Programao Seqencial


As instrues so executadas na ordem em que so dadas Uma instruo s executada quando todas as anteriores tiverem sido executadas

Exemplo 3
1) declarao das variveis inteiro a, b, c 2) Entrada dos dados imprima ( entre com dois valores ) leia ( a, b ) 3) Clculo da soma dos valores ca+b

Estrutura de Seleo
Define qual tarefa ir ser realizada num programa quando a este so apresentadas algumas opes a serem seguidas. Esta estrutura pode apresentar:
Uma alternativa; Duas alternativas; Mais de duas alternativas;

Seleo de uma alternativa


Leia ( A )
XA

( A > 40 ) ? n

X A + 10

Imprima ( X )

Seleo com 2 alternativas


Define uma ou duas alternativas possveis para uma soluo
Leia ( A )

NO

SIM

( A > 40 ) ?

X A + 10

X A * 10

Mostrar ( x )

Seleo com mais de duas alternativas


Neste caso, outro tipo de estrutura de estrutura deve ser utilizado. Esta estrutura, CASE, ser estudada mais adiante no curso.

Algoritmo
Seleo com uma alternativa SE ( condio VERDADE ) ento procedimento fim_se

Algoritmo
Seleo com duas alternativas SE ( condio VERDADE ) ento procedimento 1 seno procedimento 2 fim_se

Operadores Lgicos
Utilizados na confeco das condies So eles:
Maior que Menor que Maior ou igual a Menor ou igual a Diferente de Igual a > < =

Exemplo 4
Se ( valores_lidos > 10 ) ento x valores_lidos / 5 v x2 seno x valores_lidos * 5 v (X ) fim_se Imprima ( v )

Exemplo 5

Dados 3 nmeros quaisquer, determinar qual o maior dentre eles.

Soluo 1
Comparar os 3 nmeros entre si

ALGORITMO maior_valor objetivo: obter o maior dentre 3 valores dados


1) Definio das variveis inteiro v1, v2, v3 Entrada dos dados imprima ( entre com 3 valores ) leia ( v1, v2, v3 ) Mostrando os valores lidos imprima ( valor 1 = , v1 ) imprima ( valor 2 = , v2 ) imprima ( valor 3 = , v3 )

2)

3)

4) Obtendo o maior entre os valores dados


Se ( v1 > v2 ) ento Se ( v1 > v3 ) ento imprima ( maior valor = , v1 ) seno imprima ( maior valor = , v3 ) fim_se

seno Se ( v2 > v3 ) ento imprima ( maior valor = , v2 ) seno imprima ( maior valor = , v3 ) fim_se fim_se
Fim_algoritimo

Testando o algoritmo v 1
3 valores dados: 49 10 23 logo: v1 49 v2 10 v3 23 v1 > v2 e v1 > v3 , portanto, maior valor v1 Ou seja, 49

Testando o algoritmo v 2
3 valores dados: 9 10 23 v1 9 v2 10 v3 23
v1 < v2 e v2 < v3 , portanto, maior valor v3 Ou seja, 23

Testando o algoritmo v 3
3 valores dados: 9 10 3 v1 9 v2 10 v3 3 v1 < v2 e v2 > v3 , portanto, maior valor v2 Ou seja, 10

Testando o algoritmo v 4
3 valores dados: 19 10 23 v1 19 v2 10 v3 23 v1 > v2 e v1 < v3 , portanto, maior valor v3 Ou seja, 23

Testando o algoritmo v 5
3 valores dados: 23 23 23 v1 23 v2 23 v3 23 v1 = v2 e v2 = v3 , portanto, maior valor v3 Ou seja, 23

Soluo 2

Utilizar uma varivel auxiliar

ALGORITMO maior_valor objetivo: obter o maior dentre 3 valores dados


1) Definio das variveis inteiro v1, v2, v3, maior_valor
Entrada dos dados imprima ( entre com 3 valores ) leia ( v1, v2, v3 )

2)

3)

Mostrando os valores lidos imprima ( valor 1 = , v1 ) imprima ( valor 2 = , v2 ) imprima ( valor 3 = , v3 )

4) obtendo o maior valor maior_valor v1 Se ( v2 > maior_valor ) ento maior_valor v2 fim_se Se ( v3 > maior_valor ) ento maior_valor v3 fim_se 5) mostrando maior valor imprima ( maior valor = , maior_valor ) Fim_algoritmo

Testando o algoritmo v 1
3 valores dados: 49 10 23 logo: v1 49 v2 10 v3 23 maior_valor 49 Como v2 < maior_valor e v3 < maior_valor , o maior valor est na varivel maior_valor Ou seja, 49

Testando o algoritmo v 2
3 valores dados: 9 10 23 v1 9 v2 10 v3 23

maior_valor 9 Como v2 > maior_valor => maior_valor 10 Como v3 > maior_valor => maior_valor 23 o maior valor est na varivel maior_valor Ou seja, 23

Testando o algoritmo v 3
3 valores dados: 9 10 3 v1 9 v2 10 v3 3

maior_valor 9 Como v2 > maior_valor => maior_valor 10 Como v3 < maior_valor => maior_valor 10 o maior valor est na varivel maior_valor Ou seja, 10

Testando o algoritmo v 4
3 valores dados: 19 10 23 v1 19 v2 10 v3 23

maior_valor 19 Como v2 < maior_valor => maior_valor 19 Como v3 > maior_valor => maior_valor 23 o maior valor est na varivel maior_valor Ou seja, 23

Comentrios
O que difere um algoritmo do outro? Quais as vantagens de um algoritmo sobre o outro?

Exemplo 6
Calcular a seguinte expresso: 5A + B -------------------------2A ( A B ) + --------B + 3A

VL =

ALGORITMO expresso objetivo: Calcular uma expresso aritmtica


1) Definir variveis inteiros A, B, num1, num2, den1, den2, VL 2) Entrada dos dados escreva ( entre com dois valores ) leia ( A, B ) 3) Calculo do numerador num1 5 A + B

4) Calculo do numerador do denominador num2 2 A 5) Calculo do denominador simples den 1 B + 3A 6) calculo da expressao Se ( den1 = 0 ) ento imprima ( expresso no calculada ) imprima ( denominador nulo ) seno

seno 6.1) calculo do denominador geral den2 ( A B ) * num2 / den1 6.2) calculo da expresso Se ( den2 = 0 ) ento imprima ( expresso no calculada ) imprima ( denominador nulo ) seno VL num1 / den2 imprima ( valor da expressao = , VL ) fim_se fim_se

7) mostrando os dados de entrada imprima ( A = , A ) imprima ( B = , B ) Fim_algoritmo

Exemplo 7
So dados os resultados de uma prova que consta de 5 questes, cujas respostas podem ser uma das 3 alternativas A, B ou C; So dados tambm as respostas de um aluno para esta prova. Desenvolva um algoritmo para calcular o desempenho deste aluno na prova segundo o seguinte critrio:
Acerto de 3 ou mais questes conceito A Acerto de 1 ou 2 questes conceito B Acerto de nenhuma questo - conceito R

ALGORITMO gabarito_prova objetivo: calcular o conceito de um aluno frente ao gabarito


de uma prova

1) definio das variveis caracter gab1, gab2, gab3, gab4, gab5 caracter resp1, resp2, resp3, resp4, resp5 caracter conceito inteiro n_questoes 2) entrada dos dados 2.1 ) dados do gabarito imprima ( entre com as 5 alternativas do gabarito ) leia ( gab1, gab2, gab3, gab4, gab5 )

2.2 ) dados do aluno imprima ( entre com as 5 resposta do aluno ) leia ( resp1, resp2, resp3, resp4, resp5 ) 3) inicializando variveis n_questoes 0
4) calculando quantas questes esto certas Se ( gab1 = resp1 ) ento n_questoes n_questoes + 1 fim_se Se ( gab2 = resp2 ) ento n_questoes n_questoes + 1

fim_se

Se ( gab3 = resp3 ) ento n_questoes n_questoes + 1


fim_se

Se ( gab4 = resp4 ) ento n_questoes n_questoes + 1 fim_se Se ( gab5 = resp5 ) ento n_questoes n_questoes + 1 fim_se

5) verificando o conceito do aluno

se ( n_questoes 3 ) ento conceito A seno se ( n_questoes > 0 ) ento conceito B seno conceito R fim_se fim_se

6) mostrando os resultados
6.1 ) dados de entrada imprima ( gabarito: ) imprima ( questao 1: , imprima ( questao 2: , imprima ( questao 3: , imprima ( questao 4: , imprima ( questao 5: ,

gab1 ) gab2 ) gab3 ) gab4 ) gab5 )

imprima ( resposta do aluno: ) imprima ( resposta 1: , resp1 ) imprima ( resposta 2: , resp2 ) imprima ( resposta 3: , resp3 ) imprima ( resposta 4: , resp4 ) imprima ( resposta 5: , resp5 )

6.2 ) quantidade de acertos

imprima ( quantidade de questoes certas = , n_questoes )


6.3 ) conceito do aluno imprima ( conceito do aluno: , conceito ) Fim_algoritmo

Das könnte Ihnen auch gefallen