Teoria Da Computação - Lista 1

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 4

Ciência da Computação - Teoria da Computação

Exercícios - Programas

Vitor Augusto Negrão de Assis

1) Reescreva os fluxogramas abaixo usando rótulos e instruções:

1: Se T1 vá para 2 senão vá para 3.


2: Faça F e vá para 3.
3: Se T2 vá para 4 senão vá para fim..
4: Faça G e vá para 5.
5: Se T1 vá para fim senão vá para 6.
6: Faça F e vá para 1.

1: Se T vá para 2 senão vá para 3.


2: Faça G e vá para fim.
3: Faça F e vá para 4.
4: Se T vá para fim senão vá para 5.
5: Faça F e vá para 1.
2) Usando fluxograma, escreva um programa monolítico que calcule a soma dos 100
primeiros números ímpares.

3) Usando instruções rotuladas, reescreva o problema do exercício 2.

1: i = 1 vá para 2.
2: soma = 0 vá para 3.
3: numero = 1 vá para 4.
4: Se i <= 100 vá para 5 senão vá para 8.
5: soma += numero vá para 6.
6: numero += 2 vá para 7.
7: i +=1 vá para 4.
8: mostrar soma e vá para fim.
4) Escreva um programa iterativo e um programa recursivo que calcule o fatorial de n
utilizando a fórmula
f = 1 * 2 * 3 * 4 * ... * n
O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e
positivo. Caso o usuário forneça um valor inválido para n, o programa deverá
apresentar a mensagem erro.
Iterativo: Recursivo:
Leia n Programa é A onde:
Resultado = 1 A def ( Leia n;
Se n < 0: Resultado = 1;
mostrar “fatorial indefinido” Se n <= 0 faça:
i=1 mostrar “fatorial indefinido”
Enquanto ( i <= n ) faça: Senão B )
Resultado = Resultado * i
i += 1 B def (Resultado = Resultado * n;
Mostrar Resultado n = n-1;
Se n == 1:
mostra Resultado
Senao B )

5) Escreva programas iterativo e recursivos para:


a) Ler 10 números.
Iterativo: Recursivo:
x=0 Programa é A onde:
Enquanto ( x <= 10 ) faça: A def ( Leia x;
Leia n Se x == 1 faça:
x += 1 leia n
Senão B )

B def ( Leia n;
x = x - 1;
Se x == 1:
Faça A
Senao B )

b) Calcular o somatório de 1 até N.


Iterativo: Recursivo:
Leia n Programa é A , onde :
soma = 0 A def ( Leia n
i=1 soma = 0
Enquanto ( i <= n ) faça: i=1
leia x B)
soma += x
i=i+1 B def ( se i <= n:
Leia x
soma += x
i= i + 1
B
senão A)
c) Calcular a potência de be

Iterativo: Recursivo:
Leia b; A def ( Leia b;
Leia e; Leia e;
resultado = 1 resultado = 1
i=0 i=0
Enquanto i < e faça: B)
resultado = resultado * b
i += 1 B def ( se i < e faça:
mostrar resultado resultado = resultado * b
i += 1
B
Senão:
mostrar resultado )

6) Traduza o programa iterativo para recursivo:


enquanto T faça (F; (se T então faça √ senão faça G))

A def ( se T faça:
(F
(se T faça √
senão faça G)
) A senao √ )

7) Traduza o programa recursivo para iterativo:


P é R1 onde R1 def (se T então F; R2 senão R1), R2 def G; (se T então F; R1 senão √)

Você também pode gostar