Buscar

Ativ 2_UAB_Algoritmos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando