Você está na página 1de 4

Algoritmo "Atividade 2"

// Disciplina : Algoritmos e Programa��o


// Professor : Carlos Igor Ramos Bandeira
// Descri��o : Atividade 2
// Autor(a) : Antonio Joel Ramiro de Castro
// Data atual : 25/03/2023
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Quest�o 1: Considere um vetor W cujos nove elementos s�o do tipo inteiro. Supondo
que i seja uma vari�vel do tipo inteiro e seu valor seja 5, que valores estar�o
armazenados em W ap�s a execu��o das atribui��es a seguir? Suponha que o vetor
come�a na posi��o 1. Valide sua resposta com a implementa��o dos comandos abaixo em
um programa. � necess�rio mostrar os valores obtidos no passo a passo, al�m do
programa escrito.
a. W[1] = 17
b. W[i/2] = 9
c. W[2 * i � 1] = 95
d. W[i-1] = W[9] / 2
e. W[i] = W[2]
f. W[i+1] = W[i] + W[i-1]
g. W[W[2]-2] = 78
h. W[W[i]-1] = W[1] * W[i]
i. W[W[2] % 2 + 2] = W[i + 9 / 2] + 3 * W[i � 1 * 2]

%%%%%%%%%%% Algoritmo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%
Var

w:vetor[1..9] de inteiro
i:inteiro

Inicio

i := 5
w[1] := 17
w[i div 2] := 9
w[2*i-1] := 95
w[i-1] := w[9] div 2
w[i] := w[2]
w[i+1] := w[i] + w[i-1]
w[w[2]-2] := 78
w[w[i]-1] := w[1] * w[i]
w[w[2] mod 2+2] := w[i+9 div 2] + 3 * w[i-1*2]

para i de 1 at� 9 fa�a


Escreva ("Para", i, "temos", w[i] )
fimpara

Fimalgoritmo

Solu��o:

w[1]=17
w[2]=9
w[3]=95
w[4]=47
w[5]=9
w[6]=56
w[7]=78
w[8]=153
w[9]=95

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Quest�o 2: Fa�a um algoritmo que leia uma sequ�ncia de N elementos fornecida pelo
usu�rio, armazene os elementos em um vetor e imprima em ordem inversa da recebida.

%%%%%%%%%%% Algoritmo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%
Var
// Supondo N igual a 10
w:vetor[1..1000] de real
i:inteiro

Inicio

// Supondo N igual a 10, se N for maior deveria modificar o tamnho de i.


para i de 1 at� 10 fa�a
escreva("digite o valor de", i, ":" )
leia(w[i])
fimpara

// Leitura na ordem inversa a indicada.

para i de 10 at� 1 passo -1 fa�a


escreva(w[i])
fimpara
escreva()

Fimalgoritmo

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Quest�o 3: Receber do usu�rio o n�mero de linhas e colunas de uma matriz de


inteiros e preench�-la de acordo com os valores informados pelo usu�rio. Ao final,
deve-se exibir a soma dos elementos inseridos na matriz.

%%%%%%%%%%% Algoritmo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%

Var
// Se��o de Declara��es das vari�veis
soma, n, m, i, j, mult: inteiro
mat:vetor[1..100, 1..100] de inteiro
Inicio
// Definindo o n�mero de linhas e colunas
Escreva("Numero de linhas: ")
Leia(i)

Escreva("Numero de colunas: ")


Leia(j)
\\Escrevendo os elementos da matriz

para n de 1 ate i passo 1 faca


para m de 1 ate j passo 1 faca
Escreva("Digite o valor para a posi��o [",n,",",m, "] da matriz: ")
leia(mat[n,m])
fimpara
fimpara
escreva("")

\\Escrevendo a matriz

para n de 1 ate i passo 1 faca


para m de 1 ate j passo 1 faca
Escreva(mat[n,m])
fimpara
fimpara
escreva("")

\\Realizando a soma dos elemntos da matriz

para n de 1 ate i passo 1 faca


para m de 1 ate j passo 1 faca
soma<-soma+mat[n,m]
fimpara
fimpara

escreva("")

escreva("A soma �:", soma)

Fimalgoritmo

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Quest�o 4: Qual o valor de retorno da fun��o a seguir para n = 27?

recursao(n: inteiro)

se (n <= 10) ent�o

retorne n * 2

sen�o

retorne recursao(recursao(n div 3));

%%%%%%%%%%% Resposta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%

n=27
Caso 2 (27/3=9)
caso 1 (9*2=18)
caso 2 (18/3=6)
caso 1 (6*2=12)
caso 2 (12/3=4)
caso 1 (4*2 =8)
caso 1 (8*2=16)

logo resposta � 16.

%%%%%%%%%%%% Algoritmo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%
Var

x:inteiro
funcao recursao(x : inteiro) : inteiro
Var

Inicio

se x<=10 ent�o
retorne x*2
senao
retorne recursao(recursao(x div 3))
fimse
fimfun��o

inicio

escreva("Entre com um n�mero:")


leia(x)
escreva(recursao(x))

Fimalgoritmo

Você também pode gostar