ALGORITMOS E ESTRUTURA DE DADOS


Observe o trecho de algoritmo abaixo e assinale a alternativa que o descreve corretamente:

enquanto (x <= 10) faca

         escreva (x)

         enquanto (y <= 5) faca

                  escreva (y)

                  y <- y + 1

        fimenquanto

        y <- 1

        x <- x + 1

fimenquanto


A variável Y será acrescentada em 1 até alcançar o valor 10 e a variável X será acrescida 1 a 1 até 5 para cada valor de Y exibido.


A variável X será acrescentada em 1 até alcançar o valor 10 e a variável Y será acrescida 1 a 1 até 5 para cada valor de X exibido.


A variável X será exibida 10 vezes sempre com o mesmo valor e a variável Y será exibida 5 vezes sempre com os valores de X


A variável X será exibida 10 vezes sempre com o mesmo valor até que a variável Y alcance o valor 5


A variável Y será exibida 10 vezes sempre com o mesmo valor até que a variável X alcance o valor 5

A utilização de vetores e matrizes em algoritmos é bastante comum e a representação de linha e coluna em uma variável do tipo matriz segue a seguinte forma:


nome_da_matriz[coluna,linha]


nome_da_matriz{linha - coluna}


nome_da_matriz[linha,coluna]


[coluna,linha]nome_da_matriz


nome_da_matriz[coluna : linha]

Assinale a alternativa abaixo onde o trecho de um algoritmo é descrito de forma correta para declarar uma variável do tipo matriz que seja capaz de armazenar números inteiros e em seguida preencher essa matriz com 50 números aleatórios inferiores a 100:


algoritmo "veta"
var
     x, i, conta : inteiro
     vet1: vetor [1..50, 1..50] de inteiro
inicio
     i <- 1
     x <- 1
     para x de 1 ate 50 faca
             vet1[x,i] <- randi(100)
             i <- i + 1
             x <- x + 1
     fimpara

fimalgoritmo

======================================================


algoritmo "veta"
var
     x, i, conta : inteiro
     vet1: vetor [1..50, 1..50] de inteiro
inicio
     i <- 1
     x <- 1
     para x de 1 ate 50 faca
          para i de 1 ate 50 faca
                vet1[x,i] <- randi(100)
          fimpara
          i <- 1
          x <- x + 1
     fimpara

fimalgoritmo

======================================================


algoritmo "veta"
var
     x, i, conta : inteiro
     vet1: vetor [1..10, 1..5] de inteiro
inicio
     i <- 1
     x <- 1
     para x de 1 ate 10 faca
          para i de 1 ate 5 faca
                vet1[x,i] <- randi(100)
          fimpara
          i <- 1
          x <- x + 1
     fimpara

fimalgoritmo

======================================================


algoritmo "veta"
var
     x, i, conta : inteiro
     vet1: vetor [1..10, 1..5] de inteiro
inicio
     i <- 1
     x <- 1
     para x de 1 ate 10 faca
          para i de 1 ate 5 faca
                vet1[x,i] <- randi(100)
                i <- 1
                x <- x + 1
         fimpara
     fimpara

fimalgoritmo

======================================================


algoritmo "veta"
var
     x, i, conta : inteiro
     vet1: vetor [1..50, 1..50] de inteiro
inicio
     i <- 1
     x <- 1
     para x de 1 ate 10 faca
          para i de 1 ate 50 faca
                vet1[x,i] <- randi(100)
                i <- 1
                x <- x + 1
         fimpara
     fimpara

fimalgoritmo

======================================================

Um determinado algoritmo solicita que o usuário informe dois valores distintos e inteiros que serão armazenados nas variáveis A e B consecutivamente. Assinale a alternativa abaixo que contenha o trecho de algoritmo capaz de inverter os valores atribuídos às variáveis, ou seja, realizar a troca de valores entre A e B.


c <- a
c <- b
b <- a

======================================


c <- b
a <- b
b <- c

======================================


c <- a
a <- c
b <- a

======================================


c <- a
a <- b
b <- c

======================================


b <- a
a <- b

======================================

As variáveis podem armazenar diversos tipos de informação, sendo que, para armazenar valores fracionários o tipo de variável correto é:


array


real


lógica


decimal


dízima

Considerando as operações realizadas por um algoritmo assinale a alternativa que apresenta tais operações por prioridade de execução.


parênteses, funções, multiplicação e divisão, adição e subtração, operadores lógicos


parênteses, funções, operadores lógicos, multiplicação e divisão, adição e subtração


parênteses, funções, adição e subtração, multiplicação e divisão, operadores lógicos


operadores lógicos, funções, parênteses, multiplicação e divisão, adição e subtração


funções, parênteses, multiplicação e divisão, adição e subtração, operadores lógicos

Assinale a alternativa correta que contém a declaração de uma variável do tipo matriz de 2 linhas e 3 colunas.


vetor : mat[1..2, 1..3] de inteiro


vetor [1..2, 1..3] mat : inteiro 


mat : vetor [1..2, 1..3] de inteiro


vetor : inteiro mat [1..2, 1..3]


inteiro: mat  vetor [1..2, 1..3]

Observe as estruturas abaixo e assinale a que está escrita de forma correta.


enquanto (x <= 10) entao

       se (x mod 2 = 0) faca

               n <- n * y

               x <- y + x

       senao

              x <- x + 1

        fimse

fimenquanto

---------------------------------------------------------------------------


repita (x de 1 ate 10) faca

       se (x  <>  2) entao

               n <- n * y

               x <- y + x

       senao

              x <- x + 1

        fimse

fimrepita

---------------------------------------------------------------------------


para (x <= 10) faca

       se (x mod 2 = 0) entao

               n <- n * y

               x <- y + x

       senao

              x <- x + 1

        fimse

fimenquanto

---------------------------------------------------------------------------


enquanto (x <= 10) faca

       se (x mod 2 = 0) entao

               n <- n * y

               x <- y + x

       senao

              x <- x + 1

        fimse

fimenquanto

---------------------------------------------------------------------------


se (x <= 10) faca

       y <- y + x

       x <- x + 1

fimse

---------------------------------------------------------------------------

Observe o algoritmo abaixo é assinale a alternativa correspondente ao resultado gerado pelo algoritmo caso o usuário informe o valor 20.

algoritmo "teste"
var
    x, i : inteiro
inicio 
    escreva ("Digite o valor de x = ")
    leia (x)
    para i de 0 ate x passo 5 faca
         escreva (i)
    fimpara
fimalgoritmo 


5 10 15 20


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20


0 5 10 15


0 5 10 15 20


5 10 15

Dentre as estruturas condicionais, já realizamos vários exercícios e conhecemos alguns exemplos onde as instruções SE, SENÃO, FIMSE foram utilizadas para validar condições, mas existe outra ferramenta também utilizada como estrutura condicional. Assinale a alternativa abaixo que contém a forma correta de outra estrutura condicional. 


selecione opção

   caso 1

        escreva ("Olá")

   caso 2

        escreva ("tchau")

   outrocaso

         escreva ("erro")

fimselecione

===============================================


escolha opção

   caso 1

        escreva ("Olá")

   senao

           caso 2

                  escreva ("tchau")

           outrocaso

   fimse

         escreva ("erro")

fimescolha

===============================================


escolha opção

   caso 1

        escreva ("Olá")

   caso 2

        escreva ("tchau")

   outrocaso

         escreva ("erro")

fimescolha

===============================================


escolha opção

   caso 1 senão

        escreva ("Olá")

   caso 2 senão

        escreva ("tchau")

   outrocaso

         escreva ("erro")

fimescolha

===============================================


Opção opção

   caso 1

        escreva ("Olá")

   caso 2

        escreva ("tchau")

   outrocaso

         escreva ("erro")

fimopcao

===============================================