ALGORITMOS E ESTRUTURA DE DADOS


Sabendo que a função MOD retorna o resto da divisão entre dois números, qual a alternativa correta para criação de uma condição capaz de definir se um número é par ?


SE (num mod 2) == 0 ENTÃO


SE (mod > 0) == num / 2  ENTÃO


SE (2 mod num) == 0 ENTÃO


SE mod(num, 2) == 0 ENTÃO


SE (num / 2) == mod 0 ENTÃO

ASSINALE A ALTERNATIVA CORRETA. Com relação ao algoritmo, vimos que o mesmo é composto de uma sequência de instruções, que devem ser executadas. Ainda, nele existem comandos entrada e de saída, sendo que o comando (Leia) é responsável por.............


receber do teclado um que o usuário digitou


converter valores em strings


determinar o tamanho da variável


imprimir algo em um dispositivo de saída


converter strings em valores

Sabemos que existem palavras reservadas do algoritmo, tais palavras são reservadas pois possuem determinadas funções dentro do algoritmo, realizando operações ou instruções e não podem ser confundidas com expressões de texto e muito menos com variáveis. Assinale a alternativa que corresponde a uma palavra reservada:


data


cidade


endereço


nome


raiz

Uma lista de ações ou instruções organizadas são denominadas como Linguagem, ou seja, uma forma de se expressar que não deixa dúvidas e que tenha como objetivo a solução de um problema. Conforme os exemplos citados em Introdução à lógica de programação, do Livro "Linguagens e Técnicas de Programação 1" podemos afirmar que a forma mais comum para se fazer compreender tais ações através da lógica computacional é conhecida como:


Algoritmos


Logaritmo


Operadores


Raciocínio Lógico


Variáveis

Observe o código abaixo e assinale a alternativa correta:

algoritmo "uniube"

var
     idade : vetor[1..2, 1..3] de inteiro
     x, y : inteiro
inicio
     x <- 1
     y <- 1
     enquanto (x <= 2) faca
          enquanto (y <= 3) faca

                escreva (idade[x,y])
                 y <- y + 1
          fimenquanto
          y <- 1
          x <- x + 1
      fimenquanto

fimalgoritmo



Todas as posições da matriz serão preenchidas com o número 2 ou então com número 3


todas as posições da matriz serão preenchidas com o valor 1


O algoritmo cria uma matriz de 3 linhas e 2 colunas


O algoritmo cria uma matriz de 2 linhas e 3 colunas


A variável y é responsável em percorrer as linhas da matriz e a variável x em percorrer as colunas.

Em um algoritmo o programador criou dois tipos de estrutura condicional diferentes utilizando a estrutura "PARA" e trabalhando também com vetor chamado "numeros". Conforme o código apresentado as estruturas são diferentes respectivamente porque ?

 

para i de 1 ate 10 faca

       escreva(“Digite um valor :)

       leia(numeros[i]) 

fimpara

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

para i de 1 ate 10 faca

       escreva(“Digite um valor :”)

       leia (i)

       escreva("Digite outro valor:")

       leia(numeros[i]) 

fimpara


No primeiro exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor, enquanto que no segundo exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado.


No primeiro exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado, enquanto que no segundo exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor.  


No segundo exemplo é impossível cometer erros e tentar acrescentar números em posições que não existem no vetor


Os dois vetores realizam a mesma tarefa, no mesmo modo e não proporcionam possibilidade de erros


No primeiro exemplo é possível cometer erros e tentar acrescentar números em posições que não existem no vetor

A estrutura de repetição "PARA" pode ser utilizada conforme alguns intervalos. Assinale a alternativa abaixo onde a estrutura "PARA" representa um intervalo de números sempre saltando alguns números conforme um intervalo pré-definido.


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

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


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

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


para x de 1 ate 20 faca
      escreva (x)
passo 2

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


para x de 1:2:20 faca
      escreva (x)
fimpara

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


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

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

Como sabemos, às propriedades dos triângulos são utilizadas para determinar os tipos existentes: equilátero, quando possui os três lados com medidas iguais - isósceles, quando possui dois lados com medidas iguais e finalmente, escaleno  quando possui os três lados com medidas diferentes. Baseado nestas informações e também sobre o que foi abordado sobre estruturas condicionais, observe o pseudocódigo abaixo, e depois responda a questão.


Algoritmo propriedades do triângulo
Var
    x,y,z:inteiro
Inicio
     escreva (Informe a medida do primeiro lado: )
     leia(x)
     escreva (Informe a medida do segundo lado: )
     leia(y)
     escreva (Informe a medida do terceiro lado: )
    leia(z)
    se((x<>0) e (y<>0) e (z<>0)) entao
          se((x+y>z) e (x+z>y) e (y+z>x)) entao
               se ((x<>y) e (x<>z) e (y<>z)) entao
                          escreva(O triângulo é escaleno)
               senao
                          se((x=y) e (y=z)) entao
                                     escreva(O triângulo é equilátero)
                          senao
                                     escreva(O triângulo é isóceles)
                         fimse
               fimse
     senao
               escreva(Os valores não permitem formar um triângulo)
     fimse
fimse
Fimalgoritmo

I - A estrutura condicional apresentada pelo algoritmo é do tipo composta.
II - A linha 12, representa um teste de condição para verificar se os valores fornecidos permitem a criação de um triângulo
III - Para o triângulo ser considerado escaleno, teremos que inserir na linha 13 a condição:  se ((x<>y) ou (x<>z) ou (y<>z)).
IV - Para o triângulo ser considerado equilátero, teremos que inserir na linha 16 a condição: se((x=y) ou (y=z))

É CORRETO apenas o que se afirma em:

Apenas a sentença IV é falsa.
Apenas a sentença I é falsa.
Apenas a sentença I é verdadeira.
Todas as sentenças são verdadeiras.
Apenas a sentença II é verdadeira.

o código do algoritmo abaixo possui alguns erros que precisam ser corrigidos para que o mesmo possa rodar perfeitamente e quando isso acontecer o algoritmo será capaz de :

 

algoritmo "numeros"

var

   a, b : inteiro

   temp : real

   x : vetor[1..10] de real

inicio

para a de 1 ate 20 faca

   escreva ("Digite o", a, "º numero: ")

   leia(x[a])

fimpara

enquanto a de 1 ate 10

   para b de 1 ate 9 faca

      se x[b] > x[b+1] entao

         temp <- x[b]

         x[b] <- x[b+1]

         x[b+1] <- temp

      fimse

   fimpara

fimpara

para a de 1 ate 10 faca

   escreval(a, "º - ", x[a])

fimpara

fimalgoritmo


Ordenar os números de um vetor de 30 posições em ordem decrescente


Sortear aleatoriamente os números de um vetor de 10 posições 


Ordenar os números de um vetor de 10 posições em ordem decrescente


Ordenar os números de um vetor de 10 posições em ordem crescente


Ordenar os números de um vetor de 20 posições em ordem crescente

Como vimos, em um algoritmo às estruturas condicionais permitem uma tomada de decisão. O algoritimo abaixo, foi feito no aplicativo visualog. O mesmo, tem como objetivo retornar resposta de que o valor digitado é um número ímpar ou par. Com base nesta informação, analise às opções abaixo:


1 Algoritmo terceiro algoritmo

2 Var

3     valor: ______________

4 Inicio

5     escreva(Digite um valor:)

6     leia(valor)

7     se ____________ Entao

8    escreva(O valor digitado é um número ímpar!)

9       __________

10       escreva(O valor digitado é um número par!)

11    fimse

12 Fimalgoritmo

I - Na linha 3 iremos declarar a variável valor como sendo caractere.
II - Na linha 7 substituiremos às interrogações por ((valor mod 2)=2).
III - Na linha 9 substituiremos às interrogações por senao.
IV - A estrutura de seleção utilizada no algoritmo é denominada de seleção simples.

É CORRETO apenas o que se afirma em:

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