QUESTÃO 1
Um determinado programador necessita agrupar informações para o cadastro de clientes de
uma empresa. Os dados que serão utilizados são caractere, inteiro e real. Para realizar isso, o
programador irá se utilizar de uma Estrutura de Dados Heterogéneas, que, por definição, são
uma estrutura de dados que permitem o agrupamento de informações formado por tipos de
dados distintos e referenciados por um mesmo nome.
LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de
Programação I. Maringá: Unicesumar, 2020. Considerando o exposto acima, marque a
alternativa que indica corretamente um exemplo de Estruturas de Dados Heterogéneas.
A. Vetores.
B. Registros.
C. Funções.
D. Procedimentos
E. Matrizes
A alternativa correta é:
B. Registros.
Os registros são exemplos de estruturas de dados heterogêneas, pois permitem agrupar
informações formadas por tipos de dados distintos e referenciados por um mesmo nome. Cada
campo dentro do registro pode ter um tipo de dado diferente, tornando-o uma escolha
detalhada para agrupar informações de clientes que incluam caracteres, inteiros e reais.
QUESTÃO 2
Estruturas de repetição também são conhecidas como laços ou loops. Tais estruturas são um
dos mecanismos mais formidáveis de algoritmos, já que permitem automatizar tarefas que
seriam extremamente repetitivas e propensas a erro, caso fossem executadas por humanos. Os
laços permitem que um bloco de comandos seja repetido (iterado) por diversas vezes, com
base em condições lógico-relacionais.
Fonte: LEAL, G. C. L.; OLIVEIRA, P. M. de. Algoritmos e Lógica de Programação I. Maringá:
Unicesumar, 2020.
A respeito de estruturas de repetição, analise as afirmativas a seguir:
I. O laço "Enquanto" é conhecido por realizar o teste condicional logo no início do bloco de
comandos.
II. O laço "Repita-Até que é famoso por garantir que o bloco de comandos definido por ele seja
executado ao menos uma vez.
III. O laço conhecido como "Para-de-ate-passo-faça" também é chamado de "laço por
contagem".
É correto o que se afirma em:
A. I e II, apenas.
B. I e III, apenas.
C. II e III apenas.
D. I, apenas
QUESTÃO 3
O escopo de uma variável está relacionado à sua visibilidade em relação às sub-rotinas de um
programa. Assim sendo, algumas variáveis ficam acessíveis apenas dentro das sub- rotinas e
são destruídas após o final da sua execução.
LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de
Programação I. Maringá: Unicesumar, 2020.
Considerando o texto acima, assinale a alternativa que satisfaz esta definição.
A. Variáveis Locais
B. Registros
C. Variáveis Globais
D. Parâmetros
E. Vetores
A definição dada está relacionada às variáveis locais, que ficam acessíveis apenas dentro das
sub-rotinas (ou funções, métodos) onde são declaradas e são eliminadas após o final da
execução dessas sub-rotinas.
Portanto, a alternativa correta é:
A. Variáveis Locais .
QUESTÃO 4
O escopo de uma variável está relacionado à sua visibilidade em relação às sub-rotinas de um
programa. Há variáveis que são declaradas fora das sub-rotinas, ficam acessíveis em qualquer
parte do algoritmo, inclusive dento das sub-rotinas, e ainda, são destruídas apenas ao final da
execução do algoritmo. LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos
e Lógica de Programação I. Maringá: Unicesumar, 2020.
Considerando as informações expostas, estamos nos referindo à:
A. Constantes.
B. Variáveis Locais
C. Parâmetros.
D. Variáveis Globais.
E. Registros.
A descrição dada corresponde às Variáveis Globais . Variáveis globais são declaradas fora das
sub-rotinas e ficam acessíveis em qualquer parte do algoritmo, inclusive dentro das sub-
rotinas. Eles são destruídos apenas ao final da execução do programa.
Portanto, a alternativa correta é:
D. Variáveis Globais.
QUESTÃO 5
Estruturas de dados HOMOGÊNEAS são estruturas que agrupam diversas informações do
mesmo tipo em uma única variável. Essas estruturas homogéneas são divididas em estruturas
unidimensionais e multidimensionais.
Considerando o assunto exposto, analise as afirmações seguintes:
1-Os procedimentos são exemplos de estruturas unidimensionais.
II - As matrizes são exemplos de estruturas multidimensionais,
III-Os vetores são exemplos de estruturas unidimensionais.
IV - Os registros são exemplos de estruturas unidimensionais e multidimensionais
simultaneamente.
É correto o que se afirmar em:
A. II e III, apenas.
B. I e II, apenas.
C. I, II e IV, apenas.
D. I, III e IV, apenas.
Vamos analisar cada afirmação:
I. Os procedimentos são exemplos de estruturas unidimensionais.
Os procedimentos não são estruturas de dados, mas sim sub-rotinas ou blocos de código que
realizam uma tarefa específica. Esta afirmação está incorreta.
II. As matrizes são exemplos de estruturas multidimensionais.
Correto. Matrizes são estruturas multidimensionais, pois são organizadas em linhas e colunas.
III. Os vetores são exemplos de estruturas unidimensionais.
Correto. Vetores são estruturas unidimensionais, organizadas em uma única dimensão.
4. Os registros são exemplos de estruturas unidimensionais e multidimensionais
simultaneamente.
Incorreto. Registros são estruturas que podem conter diversos tipos de dados, mas
normalmente são considerados unidimensionais.
Portanto, a resposta correta é:
A. II e III, apenas.
QUESTÃO 6
Uma determinada pessoa foi contratada para criar um sistema que lerá 100 valores de um
mesmo tipo, porém, sabe-se que há uma forma de poupar o trabalho repetido de ler cada um
desses valores.
LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de
Programação I. Maringá: Unicesumar, 2020.
Considerando o texto exposto, as estruturas de dados que permite uma única variável
armazenar diversos valores de um mesmo tipo são chamadas:
A. Registros
B. Laços de repetição
C. Desvios condicionais
D. Sub-rotinas
E. Procedimentos
Dado o contexto fornecido, uma estrutura de dados que permite armazenar diversos valores
de um mesmo tipo em uma única variável é o Vetor . No entanto, entre as opções fornecidas, a
mais próxima descrição seria a opção B. Laços de reprodução .
Ainda assim, é importante esclarecer que os laços de repetição são estruturas usadas para
iterar sobre um bloco de código várias vezes, e não para armazenar valores. Portanto, nesse
caso, a resposta mais seria abordar um vetor, que é uma estrutura de dados específica para
armazenar uma coleção de valores do mesmo tipo.
Se nenhuma das opções parecer completamente adequada ao contexto fornecido, pode haver
uma questão de redação ou de interpretação.
QUESTÃO 7
Analise o algoritmo a seguir:
Algoritmo soma
Função soma: inteiro
Var
aux: inteiro
Início
aux <- n + m
retome aux
fim funçao
Var
n, m, res: inteiro
Início
n<-4
m <-9
res <- soma
Escreva (res)
Fim
Após sua análise avalie as afirmativas abaixo:
I. O valor retornado pela função será do tipo especificado na sua declaração e este valor deve
ser retornado através do comando retorne.
II. Essa função tem passagem de parâmetros por referência.
III. A função apresentada tem passagem de parâmetros por valor.
IV. O objetivo da função é calcular e imprimir a soma entre os valores 4 e 9.
É correto o que se afirma:
Vamos analisar cada afirmação:
I. O valor retornado pela função será o tipo especificado em sua declaração e este valor deverá
ser retornado através do comando retorne.
Correto. A função somafoi declarada como retornando um valor do tipo inteiro ( inteiro), e ela
utiliza o comando retornepara retornar o valor calculado.
II. Essa função tem passagem de parâmetros por referência.
Incorreto. O algoritmo não mostra nenhuma evidência de passagem de parâmetros por
referência. As parâmetros ne msão utilizadas na função, mas não há alteração de seus valores
originais.
III. A função que fornece passagem de parâmetros por valor.
Correto. Na linguagem de programação usual, a passagem de parâmetros é por valor, o que
significa que os valores originais dos parâmetros são usados pela função, mas não são
alterados.
4. O objetivo da função é calcular e imprimir a soma entre os valores 4 e 9.
Incorreto. O objetivo do algoritmo é calcular a soma de ne mutilizar a função somae armazenar
o resultado em res. Em seguida, o valor de resé impresso. No entanto, o texto não menciona
explicitamente que o objetivo é calcular a soma de 4 e 9; ele simplesmente executa essa
operação.
Portanto, a resposta correta é:
I. O valor retornado pela função será o tipo especificado em sua declaração e este valor deverá
ser retornado através do comando retorne.
III. A função que fornece passagem de parâmetros por valor.
QUESTÃO 8
Algoritmo cadastro
Tipo
cadAluno = registro
nome : caractere[50]
nota : vetor [1..4] de real
Fim_registro
Var
Aluno: cadAluno
i: inteiro
Inicio
mediaAluno: <- 0
escreva("Digite o nome do aluno: ")
leia([Link])
Para i de 1 até 4 passo faça
escreva("Digite a nota ", i)
leia([Link][i])
mediaAluno <- mediaAluno + [Link][i]
Fim_para
mediaAluno <- mediaAluno / 4
escreva("A média do aluno é: ", mediaAluno)
Fim
Considerando o algoritmo, analise as afirmativas seguintes:
I-O algoritmo deveria servir para ler o nome do aluno, suas quatro notas e no final apresentar a
média dessas notas.
II - Foi utilizado o laço contado ("para"), pois era sabido previamente quantas vezes seria
necessário repetir o conjunto de instruções.
III-O algoritmo funcionará perfeitamente caso os dados informados não forem compatíveis
com os tipos declarados nas variáveis e nos campos do registro "cadAluno IV - Os dados do
aluno são armazenados numa variável com estrutura de dados heterogéneos.
LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de
Programação I. Maringá: Unicesumar, 2020 (adaptado).
É correto o que se afirma em:
Vamos analisar cada afirmação:
I. O algoritmo deveria servir para ler o nome do aluno, suas quatro notas e no final apresentar
a média dessas notas.
Correto. O algoritmo solicita o nome do aluno, lê suas quatro notas, calcula a média e a
apresenta no final.
II. Foi utilizado o laço contado ("para"), pois era sabido anteriormente quantas vezes seria
necessário repetir o conjunto de instruções.
Correto. O uso do laço "para" indica que o conjunto de instruções dentro do laço será repetido
um número fixo de vezes (quatro vezes, no caso).
III. O algoritmo funcionará perfeitamente caso os dados informados não sejam compatíveis
com os tipos declarados nas variáveis e nos campos do registro.
Incorreto. Se os dados informados não forem compatíveis com os tipos declarados, o algoritmo
pode não funcionar corretamente. Por exemplo, se o usuário inserir um texto no lugar de uma
nota, isso pode causar problemas.
4. Os dados do aluno são armazenados numa variável com estrutura de dados heterogêneas.
Incorreto. Os dados do aluno são armazenados em uma variável chamada "Aluno" que possui
uma estrutura de dados específica, já que os campos do registro (nome e nota) possuem tipos
específicos (caractere e vetor de real).
Portanto, a resposta correta é:
I. O algoritmo deveria servir para ler o nome do aluno, suas quatro notas e no final apresentar
a média dessas notas.
II. Foi utilizado o laço contado ("para"), pois era sabido anteriormente quantas vezes seria
necessário repetir o conjunto de instruções.
QUESTÃO 9
Ao construir algoritmos utilizando estruturas de repetição, muitas vezes, precisaremos utilizar
variáveis contadoras e acumuladoras. Aprendemos os conceitos relacionados a esses modelos
de variáveis, como utilizá-las e qual a diferença entre elas.
Sobre variáveis contadoras e acumuladoras, analise as afirmativas a seguir:
1 - As variáveis do tipo contadoras são utilizadas para incrementar ou decrementar um valor
constante nos laços de repetições.
II - As variáveis contadoras e acumuladoras não necessitam serem inicializadas.
III - As variáveis acumuladoras são utilizadas para incrementar valores em um valor variável
dentro de uma estrutura de repetição.
IV - As variáveis contadoras e acumuladoras devem ser inicializadas.
É correto o que ser afirma em:
A. III e IV, apenas.
B. I, apenas.
C. I, II, III e IV.
D. I, III e IV apenas.
Vamos analisar cada afirmação:
I. As variáveis do tipo contadoras são utilizadas para aumentar ou diminuir um valor constante
nos laços de repetições.
Incorreto. As variáveis do tipo contadora são utilizadas para acompanhar o número de
iterações em um laço de repetição, geralmente incrementando de 1 em 1.
II. **As variáveis contadoras e acumuladoras não são flutuantesAs variáveis contadoras e
acumuladoras não refletem sendo iniciais.
Incorreto. Contadoras e acumuladores variáveis devem ser inicializados antes de serem
utilizados em um laço de reprodução.
III. **As variáveis acumuladas são utilizadas para incrementar valores em um valor variável
dentro deAs variáveis acumuladas são utilizadas para incrementar valores em uma variável
dentro de uma estrutura de transação.
Correto. As variáveis acumuladas são usadas para acumular (somar) valores sucessivos ao
longo de um processo, geralmente dentro de um laço de repetição.
4. As variáveis contadoras e acumuladoras devem ser inicializadas.
Correto. Antes de serem usadas em um laço, as variáveis contadoras e acumuladas devem ser
inicializadas com um valor inicial.
Portanto, a resposta correta é:
D. I, III e IV apenas.
QUESTÃO 10
Uma estrutura de repetição permite executar um conjunto de instruções tentas vezes quanto
for necessário, sem a necessidade de replicar o mesmo trecho de código por várias vezes.
Replicar código fonte de maneira desregulada, além de deselegante, pode tornar o código
ineficiente e dificultar em muito a manutenção de um algoritmo.
Algoritmo "repeat"
var
x: inteiro
Inicio
x <- 6
Enquanto (x > 0) faca
escreva(x, " ")
x <- x - 1
Fimenquanto
Fimalgoritmo
Com base no código fonte apresentado acima, realize o teste de mesa
Ao final, a saída será “6 5 4 3 2 1”. O loop continua até que xseja igual a 0, momento em que a
condição Enquanto (x > 0)se torna falsa e o loop termina.
Portanto, a saída final do algoritmo é: 6 5 4 3 2 1
QUESTÃO 11
A realização de testes de mesa em algoritmos que contém estruturas de decisão deve
considerar o monitoramento de atribuições a variáveis, valores de entrada e saída, constantes
e a resolução de expressões. Além disso, é preciso compreender o fluxo do algoritmo
analisando o comportamento das condições presentes no pseudocódigo.
Considere a realização de um teste de mesa sobre o algoritmo abaixo.
1 Algoritmo poui
2 Var numero, resto: inteiro
3 Inicio
4 leia(numero)
5 resto <- numero MOD 2
6 Se (resto = 0) então
7 escreva("Condição satisfeita")
8 Senão
9 escreva("Condição não satisfeita")
10 Fim_se
11 Fim
De acordo com os resultados encontrados em seu teste de mesa avalie as afirmações abaixo.
I – A palavra “MOD”, na linha 5, é um operador que remete a operação do calculo do resto da
divisão inteira entre dois números
II – A condição da linha 6 serve para testar se um numero é par ou impar
III – A mensagem da linha 9 será impressa caso o número seja par
Vamos analisar cada afirmação com base no algoritmo fornecido:
I. A palavra “MOD”, na linha 5, é um operador que se refere à operação do cálculo do resto da
divisão inteira entre dois números.
Correto. O operador MODé usado para calcular o resto da divisão inteira entre dois números.
II. A condição da linha 6 serve para testar se um número é par ou ímpar.
Correto. A condição verifica se o resto da divisão inteira do número por 2 é igual a 0. Se for,
significa que o número é par.
III. A mensagem da linha 9 será impressa caso o número seja par.
Incorreto. A mensagem na linha 9 será impressa caso o número seja ímpar . Isso ocorre porque
a condição na linha 6 verifica se o número é par (resto da divisão por 2 igual a 0), e a
mensagem na linha 9 será impressa quando essa condição não estiver satisfeita, ou seja,
quando o número for ímpar.
Portanto, a resposta correta é:
I. A palavra “MOD”, na linha 5, é um operador que se refere à operação do cálculo do resto da
divisão inteira entre dois números.
II. A condição da linha 6 serve para testar se um número é par ou ímpar.
QUESTÃO 12
01 Algoritmo conta
02 Var num, A, B, i:inteiro
03 inicio
04 A <- 0
05 B <- 0
06 Para i de 1 até 100 passo 1 faça
07 Escreva("Digite um numero: ")
08 Leia(num)
09 Se(num MOD 2 = 0) então
10 A <- A + 1
11 Senão
12 B <- B + 1
13 Fim_se
14 Fim_para
15 Escreva("A quantidade 'A":", A)
16 Escreva("A quantidade 'B':", B)
17 Fim
Com Base no algoritmo analise as afirmativas a seguir:
I. Podemos dizer que esse algoritmo realizará, obrigatoriamente 100 iterações do laço "para".
II . A quantidade A se refere a números impares, informados pelo usuário.
III. A quantidade B se refere a números pares, informados pelo usuário.
Vamos analisar cada afirmação com base no algoritmo fornecido:
I. Podemos dizer que esse algoritmo realizará, obrigatoriamente, 100 iterações do laço "para".
Correto. O laço "para" está configurado para executar de 1 a 100, realizando 100 iterações.
II. A quantidade refere-se a números impróprios, informados pelo usuário.
Correto. A variável A é incrementada quando o número informado pelo usuário é ímpar
(conforme a condição na linha 9).
III. A quantidade B se refere a números pares, informados pelo usuário.
Correto. A variável B é incrementada quando o número informado pelo usuário é par
(conforme a condição na linha 11).
Portanto, a resposta correta é:
I. Podemos dizer que esse algoritmo realizará, obrigatoriamente, 100 iterações do laço "para".
II. A quantidade refere-se a números impróprios, informados pelo usuário.
III. A quantidade B se refere a números pares, informados pelo usuário.
QUESTÃO 13
Observe a sintaxe da estrutura abaixo:
Caso (< variável >)
seja < valor 1 > faça < instrução 1 >
seja < valor 2 > faça < instrução 2 >
seja < valor N > faça < instrução N >
senão< instrução >
Fim caso
Nesta estrutura, a < variável > é o objeto que será testado. O termo < valor > é o conteúdo, que
a variável poderá possuir, e o termo < instrução> refere-se aos comandos que serão
executados. caso aquela condição seja satisfeita. O funcionamento desta estrutura consiste em
testar cada um dos casos pré-programados. Ao executar o teste para o seja < valor 1 >", se for
verdadeiro, a < instrução 1 > é executada e, após seu término, o fluxo de execução prossegue
pela primeira instrução após o final da construção (fin_caso); se o seja < valor 1 for falso, o seja
< valor 2 > é testado e assim por diante.
Considerando a sintaxe do texto acima podemos dizer que o nome dessa estrutura é?
A estrutura descrita na sintaxe fornecida é conhecida como "Caso-Seja-Senão" ou "Switch-
Case-Default" . Essa estrutura é comumente usada em linguagens de programação para realizar
a seleção de um bloco de código a ser executado com base no valor de uma variável ou
expressão. Cada caso seja <valor>representa um caso possível, e o bloco de código
correspondente é executado se a condição for verdadeira. O bloco senãoé executado caso
nenhuma das condições anteriores seja verdadeira. O termo "Caso" é muitas vezes usado como
sinônimo de "Switch" ou "Escolha" em diferentes linguagens de programação
QUESTÃO14
A equipe de vendas de uma determinada empresa, pediu uma alteração no sistema que faz o
controle de consulta de estoque. A partir da atualização, será necessário informar o código
numérico do produto com 5 números seguido das très primeiras letras do nome do fabricante.
Se o produto não estiver cadastrado o valor padrão será XXXX012345678.
Considerando o tema variável, podemos dizer que o tipo da variável que será utilizada para
armazenar esse novo codigo será?
Dado o requisito de armazenamento de um código composto por um número de 5 dígitos
seguido pelas três primeiras letras do nome do fabricante, a variável que seria utilizada para
armazenar esse novo código pode ser do tipo String .
Em muitas linguagens de programação, uma String é uma sequência de caracteres e pode ser
utilizada para armazenar informações alfanuméricas, como um código composto por números
e letras. Isso permite a fácil manipulação e concatenação de diferentes partes do código, como
os números e as letras neste caso.
QUESTÃO 15
1 Algoritmo Expressao
2 Var A, B, C: real
3 Inicio
4 A <- 3.1
5 B <- 3.0
6 C <- B " (A - 0.3/8)
7 escreva("O resultado é ", C)
8 Fim
Faça o teste de mesa.
o resultado final impresso será "O resultado é 9.1875
QUESTÃO 16
Variáveis são nada menos que espaços na memória do computador para que um algoritmo
possa armazenar dados em tempo de execução.
I. Na expressão "A - 3+ B", pode ser dizer que tanto A quanto B são variáveis numéricas.
II. Na expressão "X> O, temos condições de entender que o resultado da expressão será um
valor lógico (verdadeiro ou falso) IN.
III. Para armazenar vários caracteres textuais em uma mesma variável, não é necessário o uso
de vetores.
É correto o que se afirma em?
Vamos analisar cada afirmação:
I. Na expressão "A - 3 + B", pode-se dizer que tanto A quanto B são variáveis numéricas.
Correto. As variáveis A e B estão envolvidas em operações aritméticas, o que sugere que são
variáveis numéricas.
II. Na expressão "X > 0", temos condições de entender que o resultado da expressão será um
valor lógico (verdadeiro ou falso).
Correto. A expressão "X > 0" é uma condição que resulta em um valor lógico, indicando se a
condição é verdadeira (quando X é maior que 0) ou falsa (quando X é menor ou igual a 0).
III. Para armazenar vários caracteres textuais em uma mesma variável, não é necessário o uso
de vetores.
Incorreto. Para armazenar vários caracteres textuais em uma mesma variável, geralmente é
necessário o uso de vetores ou strings, que são estruturas que podem armazenar sequências
de caracteres.
Portanto, a resposta correta é:
I. Na expressão "A - 3 + B", pode-se dizer que tanto A quanto B são variáveis numéricas.
II. Na expressão "X > 0", temos condições de entender que o resultado da expressão será um
valor lógico (verdadeiro ou falso).
QUESTÃO 17
Um objeto é dito recursivo se ele for definido em termos de si próprio. Destaca-se que o
concerto de recursão não é encontrado na programação, mas também na matemática e no dia
a dia como, por exemplo, quando vemos uma imagem que contém a si propria.
I – A sequencia de Fibonacci é um exemplo inerentemente recursivo
II – A chamada recursiva de uma função é feita dentro da própria função porem sem passar
parâmetros
III - Caso uma função recursiva não possua caso base ela poderá entrar em loop infinito
Sendo assim é correto afirmar em :
. A sequência de Fibonacci é um exemplo potencialmente recursivo.
Correto. A definição da sequência de Fibonacci é recursiva, pois cada termo é definido nos
termos dos dois termos anteriores.
II. A chamada recursiva de uma função é feita dentro da própria função, porém sem passar
parâmetros.
Incorreto. Em uma chamada recursiva, geralmente, são passadas parâmetros diferentes para
que a função trate um caso menor. A ideia é que a função resolva o problema para uma
instância menor do mesmo problema.
III. Caso uma função recursiva não possua caso base, ela poderá entrar em loop infinito.
Correto. O caso baseado em uma função recursiva é fundamental para evitar um loop infinito.
Se não houver um caso base que encerre as chamadas recursivas, a função continuará
chamando a si mesma indefinidamente.
Portanto, a resposta correta é:
I. A sequência de Fibonacci é um exemplo potencialmente recursivo.
III. Caso uma função recursiva não possua caso base, ela poderá entrar em loop infinito.
QUESTÃO 18
1 Algoritmo manipulaMatriz
2 Var mat: Vetor[1..2, 1..3] de inteiro
3 i,j: inteiro
4 Inicio
5 i <- 1
6 j <- 1
7 Enquantp(i <= 3 faça
8 Enquanto(j <= 2) faça
9 mat[i,j] <- i*j
10 j <- j + 1
11 Fim_enquanto
12 Fim_enquanto
13 Fim
Assim considere o algoritmo acima para avaliar as afirmações abaixo:
I - Em um dado ponto da execução do algoritmo o elemento da primeira linha segunda coluna
terá o seu conteúdo valendo 2
II - Há um erro de semântico na linha 7 pois a matriz possui duas linhas apenas
III - Da maneira como foi escrito o algoritmo nunca ira entrar em loop infinito
Sendo assim é correto o que se afirma em:
I. Em um dado ponto da execução do algoritmo, o elemento da primeira linha segunda coluna
terá o seu conteúdo valendo 2.
Incorreto. O algoritmo não acessou a segunda coluna, apenas a primeira, então o elemento [1,
2] não é modificado.
II. Há um erro de semântico na linha 7, pois a matriz possui duas linhas apenas.
Correto. Há um erro na linha 7, pois o algoritmo tenta acessar a terceira linha da matriz, que
não existe.
III. Da maneira como foi escrito, o algoritmo nunca entrará em loop infinito.
Correto. O algoritmo tem condições de parada definidas (quando iou jultrapassam os limites) e
não possui chamadas recursivas, portanto, não entrará em loop infinito.
Portanto, a resposta correta é:
II. Há um erro de semântica na linha 7, pois a matriz possui duas linhas apenas.
III. Da maneira como foi escrito, o algoritmo nunca entrará em loop infinito.