ALGORITMOS E ESTRUTURA DE DADOS


No software ViSUALG que utilizamos para rodar nossos algoritmos, existem várias funções, Qual função retorna quadrado do valor armazenado em uma variável ?


quad (num)


quadrado (num)


dobro(num)


mod (num)


Mult (num)

Um aluno realizou 4 provas durante o semestre escolar, sendo que, para ser aprovado é necessário que a média das notas obtidas seja igual ou maior que 7 (sete). Observe o algoritmo abaixo e assinale a alternativa correta para substituir o trecho  ##### CODIGO. #### dentro do algoritmo.

 

algoritmo notas

var

     n1, n2, n3, n4, md : real

inicio

     mostre ("informe a nota:")
     leia(n1)

     mostre ("informe a nota:")
     leia(n2)

     mostre ("informe a nota:")
     leia(n3)

     mostre ("informe a nota:")
     leia(n4)

     md <- (n1 + n2 + n3 + n4) / 4

##    CODIGO ##

fim algoritmo


se (md >= 7) ou (md = 7)
     mostre ("Aprovado")
senão
     mostre ("Reprovado")
fimse


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


se (md >= 7) então
     mostre ("Reprovado")
senão
     mostre ("Aprovado")
fimse


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


se (md >= 7) ou (md < 7) então
     mostre ("Aprovado")
fimse


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


se ("Aprovado") então
     mostre (md >=7)
senão
     mostre (md fimse


se (md >= 7) então
     mostre ("Aprovado")
senão
     mostre ("Reprovado")
fimse


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

ASSINALE A ALTERNATIVA CORRETA. Como vimos, algoritmo nada mais é do que uma sequência de passos a serem seguidos para se alcançar um determinado objetivo. Foi visto também, que existem três tipos mais comuns de algorítimos e que o fluxograma é um tipo de algoritmo que utiliza gráficos predefinidos os passos para a resolução. Observe o símbolo abaixo e assinale a alternativa a que se refere este símbolo.

 


fluxograma_inicio_fim.JPG


Indica fim ou início do fluxograma


Indica uma tomada de decisão com duas opções lógicas


Indica operações matemáticas e manipulação de textos, palavras ou letras


Representa entrada manula de dados (digitação)


Representa entrada de dados (que não sejam digitados)

Como vimos, algoritmo nada mais é do que uma sequência de passos a serem seguidos para se alcançar um determinado objetivo. Foi visto também, que existem três tipos mais comuns de algorítimos. Com base nesta informação, veja às afirmações abaixo:

I - O algoritmo Descrição Narrativa consiste em analisar o problema e escrever, utilizando uma linguagem natural, os passos para sua resolução.
II - O algoritmo Fluxograma consiste em analisar o problema e escrever, utilizando símbolos gráficos predefinido, os passos para sua resolução.
III - O algoritmo Pseudocódigo também conhecido como portugol, consiste em analisar o problema e escrever, utilizando símbolos gráficos predefinido, os passos para sua resolução.
IV - O algoritmo Pseudocódigo também conhecido como portugol, temos a vantagem de poder passá-lo para qualquer linguagem de programação quase que imediata.

É CORRETO apenas o que se afirma em:

Apenas as sentenças II e III são verdadeiras.
Apenas a sentença III é falsa.
Apenas a sentença IV é falsa.
Apenas a sentença II é falsa.
Apenas as sentenças III e IV são verdadeiras.

Observe o código abaixo e assinale a alternativa que contém o resultado do algoritmo após sua execução

algoritmo "semnome"

var
     x : vetor[1..5] de inteiro
     i : inteiro
inicio
     i <- 1
     enquanto (i <= 5) faca
          escreva (x[i])
          i <- i + 1
     fimenquanto

fimalgoritmo


1 1 1 1 1 


5 5 5 5 5


0 0 0 0 0 


1 0 2 0 3


1 2 3 4 5

Considerando que um vetor "V1" está na posição "i" e o algoritmo deseja acessar uma informação na posição seguinte, a instrução correta seria:


v1[i]+1


v1[i] <- i + 1


v1[i]++


v1[i+1]


v1+1[i]

Considerando a estrutura de repetição "PARA". Assinale a alternativa cuja a estrutura foi escrita corretamente.


para x=1: 20 faca
       escreva (x)
fimpara

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


para x de 1 ate 20 entao
      escreva (x)
fimpara

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


para x de 1 faca
        escreva (x)
ate x = 20

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


para x de 1 ate 20 faca
      escreva (x)

      x <- x + 1
fimpara

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


para x de 1 ate 20 faca
      escreva (x)
fimpara

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

Considerando as estruturas de repetição podemos afirmar que:


A estrutura de repetição "enquanto" é melhor que a estrutura de repetição "repita" uma vez que ela testa a condição antes de executar o bloco de instruções


Não existe uma estrutura mais adequada que a outra, tudo depende da situação problema cujo qual o algoritmo deve resolver.


A estrutura de repetição "para" é melhor que a estrutura de repetição "repita" uma vez que ela testa a condição antes de executar o bloco de instruções


A estrutura "repita" é melhor que todas as outras pois não necessita de testes, sempre executará o bloco de instruções ao menos uma vez


Dentre as estruturas de repetição a melhor delas é a estrutura "SE" que avalia a condição a qualquer momento no algoritmo

Observe a declaração das variáveis abaixo e assinale a alternativa correta:

Vx : vetor [1..10] de caracter

V2 : vetor [1..10, 1..5] de real

 

I - A variável vetor possui duas colunas Vx e V2

II - O vetor Vx armazena dados do tipo caracter e a matriz V2 armazena dados numéricos e com casas decimais

III - Os dois vetores possuem 10 linhas cada

IV - O vetor Vx armazena 50 elementos e a matriz V2 armazena 10 elementos


Somente as alternativa I e III estão corretas


Somente as alternativa II e III estão corretas


Somente as alternativa I e IV estão corretas


Somente as alternativa II e IV estão corretas


Somente as alternativa I e II estão corretas

Observe o trecho de um algoritmo abaixo e assinale a alternativa que contém um trecho de instrução que pode ser substituido no algoritmo na linha ?????????????????????????? de forma que o algoritmo possa funcionar perfeitamente somando dois vetores e armazenando em um terceiro vetor

enquanto (x < 10) faca

        vetor[x] <- v1[x] + v2[x]

        ??????????????????????

fimenquanto


vetor[x] <- 1


vetor[x,y] <- v1[x] + v2[x]


vetor[x] <- soma(v1[x], v2[x])


vetor[x] <- v1[x,y] + v2[x,y]


x <- x + 1