Exercícios de Algoritmos: Repetição e Matrizes

Classificado em Computação

Escrito em em português com um tamanho de 9,4 KB

Unidade 3: Estruturas de Repetição

  1. Complete as lacunas da frase com as palavras da alternativa que apresenta a sequência correta de acordo com as definições apresentadas.

    “A inserção do comando ________ utiliza a variável contador seguido dos comandos _______ para indicar a quantidade de vezes que o bloco de comando será repetido. O comando _______ serve como incremento, então, até que a quantidade de repetições seja menor ou igual ao limite de 100 preestabelecido, esse será incrementado de mais 1, indicando a quantidade de vezes que os comandos foram executados.”

    • a) para / de...até / passo
    • b) até...de / para / passo
    • c) passo / para / de...até
    • d) de...até / passo / para
    • e) para / passo / de...até
  2. Analise as afirmações e assinale a alternativa referente à sequência correta.

    I – As estruturas com teste no início (enquanto) e com teste no final (repita) são sugestões para o caso de não existir uma quantidade definida de repetições que serão realizadas.

    II – O comando for é equivalente ao comando enquanto.

    III – O comando “passo” realiza o incremento da variável de controle.

    São verdadeiras as afirmações:

    • a) I, II e III.
    • b) I e II.
    • c) I e III.
    • d) II e III.
    • e) Apenas III.
  3. Assinale a alternativa que contém o significado correto do símbolo utilizado para elaborar o diagrama de blocos da estrutura de repetição controlada por variável.

    • a) Exibir
    • b) Preempção
    • c) Datagrama
    • d) Preparação
    • e) Processo
  4. Descreva qual é a lógica computacional da estrutura de repetição controlada por variável.

    A lógica computacional para o processamento desses comandos acontece da seguinte forma (PIVA Jr., 2012):

    • A variável de controle, no caso chamamos de “i” no exemplo, é iniciada com o valor mínimo pretendido antes da linha de comando “para” (i = 1);
    • Na linha de comando “para”, há a comparação do valor da variável de controle com o limite estabelecido (até);
    • Se o valor comparado for menor ou igual ao valor do limite, então, as instruções que estão dentro do bloco de comandos do “para” serão executadas repetidamente até que se atinja o valor limite;
    • A cada execução das instruções dentro do comando “para”, há o incremento da variável de controle e encerra-se esses procedimentos quando o valor ultrapassar o limite predefinido.
  5. Desenvolva um diagrama de blocos e o respectivo português estruturado que utilize o comando “para” com o incremento “passo”.

    algoritmo "Looping"
    var
       N, R, I: inteiro
    inicio
       para I de 1 ate 5 passo 1 faca
          leia N
          R <- N * 3
          escreva R
       fimpara
    fimalgoritmo
  6. São verdadeiras as afirmações:

    I – Esse tipo de repetição pode ser utilizado todas as vezes em que se tiver a necessidade de repetir trechos finitos, quando se conhece o valor inicial e o valor final.

    II – Variável: é a variável de controle do comando e deve ser do tipo inteiro.

    III – Valor inicial: é o valor de início da variável de controle. Pode ser uma constante ou uma expressão aritmética, desde que o valor seja do tipo inteiro.

    • a) I e II.
    • b) I, II e III.
    • c) II e III.
    • d) III e I.
    • e) Apenas I.
  7. De acordo com a estrutura abaixo, assinale a alternativa que contém a informação coerente ao tipo de comando apresentado.

    para i de 1 ate 10 faca
       escreval ("I = ", i)
    fimpara
    • a. (f) i é uma variável indefinida.
    • b. (f) é obrigatória a inicialização da variável de controle.
    • c. (v) a variável de controle é o “i”.
    • d. (f) o contador pode ser suprimido da estrutura controlada por variável.
    • e. (f) a variável de controle não será incrementada na repetição.

Unidade 4: Vetores e Matrizes

  1. Assinale a alternativa que demonstra corretamente a declaração de uma matriz.

    • a. (x) matrizA: vetor[1..3,1..3] de real
    • b. ( ) somaDiag1: real
    • c. ( ) matriz := vetor
    • d. ( ) printf( "[ %d ][ %d ]: ", i + 1, j + 1 );
    • e. ( ) escreva("Digite os números: [", i, " + ", j, " ] ")
  2. Complete as lacunas da frase com as palavras de uma das alternativas a seguir.

    “Quando o número de ............................ de uma matriz é igual ao número de .......................... a matriz é dita quadrada. Neste caso, os elementos de índices iguais constituem a diagonal principal”. (EVARISTO, 2001, p. 107).

    • a. ( ) vetor / matriz / quadrada.
    • b. ( ) colunas / matriz / quadrada.
    • c. (x) linhas / colunas / quadrada.
    • d. ( ) declaração / vetor / quadrada.
    • e. ( ) vetor / matriz / diagonal.
  3. Está correto o que se afirma em:

    I. Com relação à ordenação de elementos de uma matriz de duas dimensões, o processo é o mesmo utilizado para ordenar matrizes de uma dimensão.

    II. Uma matriz bidimensional precisa de dois índices, um que aponte para a linha e outro para a coluna; na interseção da linha com a coluna tem-se o elemento de dado, cujo conteúdo se quer acessar.

    III. Os elementos da matriz correspondem a endereços que só podem ser acessados com o uso de índices.

    • a. ( ) II e III.
    • b. (x) I, II e III.
    • c. ( ) Apenas I.
    • d. ( ) I e II.
    • e. ( ) I e III.
  4. Explique como é a sintaxe que distingue uma variável de tipo de dado de constante quando estamos trabalhando com matriz.

    Sintaxe: a sintaxe de definição de uma matriz é representada da seguinte forma: <identificador> : VETOR [Li1..Lf1, LiN..LfN] de <tipo_de_dado>. O identificador do vetor é o nome que atribuímos a ele. A palavra “VETOR” é a instrução que determina a declaração tanto de um vetor quanto de uma matriz, seguido imediatamente da definição de dimensão da matriz, sendo que é preciso delimitar a quantidade de linhas e de colunas respectivamente. Por fim, a definição do tipo de dado da matriz é estabelecida. Mas, além de variáveis de tipo de dado, o conceito também se aplica para que uma matriz seja declarada e compreendida de acordo com a sintaxe como uma constante. Nesse caso, há a atribuição dos valores dos elementos da matriz em sua declaração. Observe o exemplo:

    • Const Mat_Exemplo2: Array [1..2, 1..5] de real <- ((1.10, 1.5, 1.3, 1.2, 1.1), (2.5, 2.4, 2.3, 2.2, 2.1));
    • indLinha, indCol: inteiro

    Para uma matriz com duas linhas e cinco colunas, temos a atribuição dos valores da primeira linha e da segunda respectivamente, sendo que o número antes do sinal “.” (ponto) refere-se diretamente à coluna e o que vem depois do sinal é o valor atribuído ao elemento.

  5. Cite as possíveis formas de se atribuir valores em matrizes.

    Um elemento de uma matriz pode ser acessado de várias maneiras. Vamos considerar o exemplo de Mat_Notas_Aluno em VisualG:

    • Atribuir valor diretamente: Vet_Notas_Aluno[1,3] := 10. Atribuição realizada para o elemento que está na linha 1, coluna três com o valor para a nota “10”.
    • Atribuição inserida pelo usuário (teclado): Leia(Vet_Notas_Aluno[1,3]). Utilizamos o comando de entrada de dados “Leia”, indicamos a respectiva posição no vetor “[1,3]” e, com isso, realizamos a respectiva atribuição por inserção do dado.
    • Operações com os elementos da matriz: como, por exemplo, atribuir um peso para a nota lançada: Vet_Notas_Aluno[1,3] := Vet_Notas_Aluno[1,3] * 0.6.
    • Atribuição de valor para a posição seguinte ao elemento apontado pelo índice: Vet_Notas_Aluno[indLinha, indCol+1] := 7.5.
  6. Assinale a alternativa que contém uma informação verdadeira sobre operações com matrizes.

    • a. ( ) É aconselhável declarar apenas um índice para manipular os dados em uma matriz.
    • b. ( ) A atribuição dos valores em uma matriz é possível apenas através de inserção pelo usuário.
    • c. ( ) A atribuição de valores em uma matriz é possível apenas no momento da declaração.
    • d. (x) Os índices devem ser declarados para que se possa apontar os elementos de acordo com as suas respectivas posições na matriz.
    • e. ( ) Não é necessário utilizar índices em matriz.
  7. Assinale a alternativa que contém uma das formas de se atribuir valores em matrizes.

    • a. ( ) Int minhaMatriz[ 3 ][ 3 ], i, j;
    • b. ( ) Leia(Vet_Notas_Aluno[1,3])
    • c. (x) Escreva ("Vet_Notas_Aluno[indLinha,indCol]")
    • d. ( ) Escreva(matrizA[i,j])
    • e. ( ) Para Mat_Vet[1,3] := faça

Entradas relacionadas: