Buscar

Resumo - Lógica de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Um algoritmo possui a finalidade de resolver um problema do dia a dia, ou ainda, problemas que podem ser desde fáceis até complexos. O principal é auxiliar a execução de atividades, de forma automatizada. Analise o algoritmo a seguir:
Início
inteiro: salário, percentual, aumento, novosalario;
leia (salário, percentual);
aumento <- salário * percentual/100;
escreva aumento;
novosalario <- salário + aumento;
escreva (“O novo salário é de:”, novosalario);
fimalgoritmo.
Existem várias maneiras de se realizar um mesmo algoritmo, e, no final, o resultado será o mesmo. Considerando o texto, analise as asserções a seguir e a relação proposta entre elas.
I. Um comando de saída é utilizado para mostrar os dados na tela ou na impressora, e os dados podem ser conteúdos de variáveis ou mensagens.
Porque:
II. O comando de saída é representado pela palavra ESCREVA. No código apresentado, temos duas possíveis formas de mostrar os dados.
Está correto o que se afirmar em:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: pois a asserção I é uma proposição verdadeira, pois comandos de saída têm o propósito de realizar a escrita dos dados, podendo ser na tela para o usuário, ou ainda, em uma impressora. A asserção II é uma proposição verdadeira, pois o comando que representa é a palavra ESCREVA. Analisando o código exposto, podemos ver a utilização de duas formas de escrita de dados: uma já inserindo o valor direto da variável, e outra, escrevendo um pequeno texto antes de indicar o valor de uma variável.
Uma variável representa uma posição de memória, possuindo nome e tipo, cujo conteúdo pode variar ao longo do tempo. O tipo de variável diz respeito ao tipo de valor que recebe, a partir da entrada de dados. Esses valores são manipulados por variáveis, que também aceitam determinados tipos de dados.
Caso um tipo de dado não seja do tipo da variável, pode haver um erro no algoritmo, por isso, deve-se ficar sempre atento às suas características.
Considerando as informações, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
I.( ) Um tipo de dado inteiro representa um conjunto de número tanto para valores positivos quanto negativos, não aceitando valores decimais.
II.( ) Para valores que permitem frações, como valores decimais, temos o tipo de dado real, que somente aceita valores positivos.
III.( ) O tipo caractere aceita somente dados do tipo letras e símbolos. Números não são aceitos por esse tipo de dado.
IV.( ) Os dados do tipo lógico, aceitam somente valores do tipo booleano, e podem ter valor lógico verdadeiro ou falso.
Assinale a alternativa que apresenta a sequência correta:
V, F, F, V.
Feedback da resposta: Resposta correta. A afirmativa I é verdadeira, pois um inteiro representa um número no conjunto dos números inteiros, tanto positivos como negativos, não contendo partes fracionárias. A afirmativa II é falsa, pois o real representa números dos conjuntos dos números reais, que permitem frações com a adoção de ponto decimal. A afirmativa III é falsa, pois o caractere representa uma letra, um dígito (numérico) ou um símbolo, enquanto a cadeia de caracteres representa um conjunto de caracteres armazenado na memória. A afirmativa IV é verdadeira, pois os dados lógicos representam valores booleanos, como verdadeiro ou falso.
Um algoritmo do tipo estrutura de repetição possui, em seu código, loops que repetirão um determinado trecho de código durante uma quantidade de vezes, até que seja satisfeita uma condição.
Analisemos o código apresentado:
Início
x <- 1;
y <- 5;
enquanto x < y faça
x<- x + 2;
fimenquanto.
fimalgoritmo.
Considerando o texto, analise as asserções a seguir e a relação proposta entre elas.
I. O laço de repetição no algoritmo será executado somente duas vezes; após isso, o algoritmo será encerrado.
Porque:
II. A variável x está sendo incrementada de dois em dois; por esse motivo, atinge o valor de y mais rápido, necessitando apenas de duas iterações.
Agora, assinale a alternativa correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: pois a asserção I é verdadeira, pois ao executar o algoritmo, será testado o laço de repetição. A partir disso, executaremos o laço até que x seja menor do que y. Fazendo um teste rápido, será executado duas vezes. A asserção II é verdadeira, pois no teste realizado, a variável x precisa somente de duas iterações para que assuma um valor maior do que y, e, dessa forma, o loop seja encerrado.
Leia o excerto a seguir:
O pseudocódigo ou portugol consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para a resolução do problema”.
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C, C++ e Java. 3. ed. São Paulo: Pearson Pratice Hall, 2012. p. 4.
Considere o pseudocódigo a seguir:
Início
Inteiro: num, r;
ler (num);
r <- resto (num/2);
se r = 0 então
escreva (“O número é par”);
senão
escreva (“O número é ímpar”);
fimse.
fimalgoritmo.
O pseudocódigo é uma forma de representação do algoritmo, de forma similar a uma linguagem de programação. Com base no texto, analise as afirmativas:
I .Analisando o pseudocódigo, verificamos a presença de uma estrutura condicional, ou estrutura de seleção composta.
II .Verificamos que o pseudocódigo possui uma estrutura sequencial, com a entrada, processamento e saída dos dados.
III .O pseudocódigo pode ser reaproveitado, e, assim, transformado para as linguagens de programação conhecidas.
IV .O intuito do algoritmo é averiguar se um número lido pela entrada de dados é par ou ímpar, verificando se resto = 0.
É correto o que se afirma em:
I, III e IV, apenas.
Feedback da resposta: já que a afirmativa I está correta, pois analisando o pseudocódigo, verificamos a estrutura condicional, ou de seleção, se...entao...senao...fimse, o que define uma seleção composta. A afirmativa II está incorreta, pois o pseudocódigo se utiliza de uma estrutura condicional e não seqüencial. Verificamos isso com base na presença de uma estrutura condicional no código. A afirmativa III está correta, pois o pseudocódigo pode ser reaproveitado para diversas linguagens. Dessa forma,
As linguagens de programação não surgiram do nada. Por trás de tudo, devemos entender que apareceu para que fosse possível realizar atividades do dia a dia de forma automatizada, e o mais rápido possível. No entanto, a história da programação não possui uma data exata de início.
Podemos destacar que a evolução se iniciou a partir da década de 1930, com os computadores elétricos. Considerando essas informações, analise as afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
I.( ) As primeiras linguagens modernas surgiram na década de 1950, e ficaram conhecidas como linguagens de uso generalizado.
II.( ) Os paradigmas de programação estruturada foram criados nas décadas de 1960 e 1970, com as linguagens Pascal, Prolog e outras.
III.( ) Atualmente, estamos numa era em que a programação está voltada para a programação web , utilizando sistemas distribuídos.
IV.( ) A linguagem C++ surgiu na década de 1960, sendo compatível com a linguagem estruturada e orientada a objetos.
Assinale a alternativa que apresenta a seqüência correta:
V, V, V, F.
Feedback da resposta: Resposta correta. A afirmativa I é verdadeira, pois na década de 1950, surgiram as primeiras linguagens modernas, como FORTRAN, LISP, COBOL e ALGOL 60, que ficaram conhecidas como linguagens de uso generalizado. A afirmativa II é verdadeira, pois nas décadas de 1960 e 1970 foram criados os paradigmas de programação de forma estruturada, por meio das linguagens Simula (Nygaard e Dahl), C (Dennis Ritchie e Ken Thompson), Prolog e Pascal. A afirmativa III é verdadeira, pois, atualmente, existe muita procura pelo uso de linguagens de programação baseadas em plataformas como.NET, bem como linguagens voltadas para a programação web , utilizando sistemas distribuídos, como APIs via Web Services. A afirmativa IV é falsa, pois foi na década de 1980 que surgiram a linguagem C++ (compatível com C e orientada a objetos) e Perl (para trabalhos de sobrecarga grandes). Nos anos 1990, com o crescimento da internet , surgiram as linguagens Java e Javascript, bem como PHP, Visual Basic e Object Pascal.
Um algoritmo que possui uma estrutura condicional significa que se utiliza de comandos que realizam condições para a execução de trechos de códigos. Dentre as estruturas condicionais, podemos citar as de condição simples, compostas, e case, em determinadas linguagens. Um sinal incorreto, ou uma lógica analisada de forma errada pode mudar totalmente o curso de um algoritmos, e isso é um grave problema.
Considerando o texto apresentado, analise as asserções a seguir e a relação proposta entre elas:
I. Podemos adicionar, a uma estrutura de seleção, tanto operadores aritméticos quanto operadores lógicos. Dessa forma, podemos realizar a análise de duas tratativas para, assim, executar um trecho de código.
Porque:
II. Um exemplo simples é o código seguinte, que analisa se um número é maior do que 20 e menor do que 50 para, assim, realizar um trecho de código:
Se (num > 20) E (num < 50) Então
Escreva (“Você tem 30 anos de trabalho”);
fimse.
Agora, assinale a alternativa correta:
Resposta Selecionada:
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
Resposta Correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: A alternativa é falsa, pois a asserção I é verdadeira, pois podemos mesclar a análise de dados com operadores aritméticos e operadores lógicos. Dessa forma, podem-se analisar diversos dados, e, se forem verdadeiros, executar um trecho de código. A asserção II é verdadeira, pois o exemplo citado diz respeito à estrutura condicional, que se utiliza de operadores que comparam algo, junto com operadores lógicos.
\u2022 Pergunta 3
0,25 em 0,25 pontos
Ao elaborar um algoritmo, adicionamos diversos comandos que, ao compilados, são executados e realizam uma determinada tarefa. Dentre esses comandos, podemos, com base em uma verificação lógica, executar um determinado trecho de código ou não.
Essa estrutura é chamada seleção, condicional ou estruturas de desvio.
Considerando essas informações, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
I.( ) Uma estrutura que realiza uma ação baseada em uma condição simples é conhecida como estrutura de seleção simples.
II.( ) A condição se (n >0) então escreva (“Positivo”) senão (“Negativo”) verificará se um valor digitado é positivo ou negativo.
III.( ) Em uma estrutura de seleção composta, as ações podem ser executadas caso a condição seja verdadeira, e outras, caso seja falsa.
IV.( ) Uma estrutura de seleção simples possui como sintaxe a forma: se (numero=0) então <comandos> senão <comandos> fimse.
Com base nas associações feitas, assinale a alternativa que apresenta a sequência correta:
I, II e III, apenas.
Feedback da resposta: Resposta correta. A afirmativa I é verdadeira, pois as estruturas de seleção simples são utilizadas quando uma ação é tomada com base no teste de uma condição. A afirmativa II é verdadeira, pois a condição citada verificará se um número digitado é maior do que zero; se sim, indica que ele é positivo; caso contrário, indica se ele é negativo. A afirmativa III é verdadeira, pois nas estruturas de seleção composta, existem algumas ações que podem ser executadas caso a condição seja verdadeira (então), e outras, caso seja falsa (senão).
Quando queremos escrever um software
para realizar um determinado tipo de processamento de dados, devemos escrever um ou diversos programas interligados. Para que um computador compreenda e execute esse programa, devemos escrevê-lo em uma linguagem de programação.
Há uma linguagem que não necessita de uma compilação pelo computador, chamada linguagem natural. Assinale a alternativa correta acerca do conceito de linguagem natural.
Uma descrição narrativa, que consiste em analisar o problema e escrever os passos a serem seguidos para a resolução.
Feedback da resposta: Escrever algoritmos por meio de símbolos gráficos é um tipo de algoritmo fluxograma. Simular uma linguagem de programação por comandos diz respeito ao algoritmo pseudocódigo. Não existe um tipo de algoritmo que misture símbolos gráficos e comandos para a lógica de programação. Uma linguagem codificada é compilada por computadores, e não entendidos por usuários comuns, não sendo a definição de linguagem natural.
A tabela que construímos com os conectivos lógicos ^, v, ->, <-> e a negação (~) é chamada tabela verdade. Essa tabela pode ser construída para qualquer forma sentencial, sendo a possibilidade combinatória entre todos os valores lógicos.
GERÔNIMO, J. R.; FRANCO, V. S. Fundamentos da Matemática: uma introdução à lógica matemática, teoria de conjuntos, relações e funções. 2. ed. Maringá: Eduem, 2008.
Os valores lógicos, obtidos em uma tabela verdade, podem ser utilizados para a resolução de determinados problemas (lembrando que os operadores lógicos também possuem prioridades de execução).
Com base no texto, analise as afirmativas a seguir:
I -Em uma operação de conjunção, independentemente do valor das proposições, o resultado lógico sempre será verdadeiro.
II -O operador de negação possui a função de negar (inverter) o valor lógico pertencente a uma proposição.
III -Uma combinação de duas proposições, p e q, pode ser expressa como p ^ q, sendo assim uma disjunção.
IV -O valor lógico da operação de disjunção será falsa somente quando as duas proposições envolvidas forem falsas.
É correto o que se afirma em:
II e IV, apenas.
Feedback da resposta: Resposta correta. A afirmativa II está correta, pois um operador de negação nada mais é do que a inversão do valor lógico de uma proposição. A afirmativa IV está correta, pois em uma operação de disjunção, o seu valor lógico será verdadeiro sempre que houver uma proposição verdadeira; caso as duas sejam falsas, seu valor lógico será também falso.
GERÔNIMO, J. R.; FRANCO, V. S. Fundamentos da Matemática: uma introdução à lógica matemática, teoria de conjuntos, relações e funções. 2. ed. Maringá: Eduem, 2008.
pode-se transformá-los em códigos específicos de uma linguagem, como a orientada a objetos. A afirmativa IV está correta, pois analisando o algoritmo, nota-se que possui como propósito analisar um dado digitado pelo usuário; com base nessa análise, indicar se o número é par ou ímpar.
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C, C++ e Java. 3. ed. São Paulo: Pearson Pratice Hall, 2012. p. 4.
Além de operações matemáticas que se utilizam dos operadores básicos da Matemática, existem também, em lógica de programação, as funções matemáticas. Essas funções realizam determinadas operações sem a necessidade de o usuário ter de realizar os cálculos matemáticos.
Considerando as informações apresentadas, analise as funções expostas a seguir e associe-as com suas respectivas definições.
I .SINAL
II .EXP
III .TRUNCA
IV .QUOCIENTE
( ) Esta função destina-se a encontrar o expoente de um número.
( ) Esta função retorna ao valor de um quociente inteiro de uma divisão.
( ) Esta função retornará ao valor -1, +1 ou 0, conforme o valor seja negativo, positivo ou igual a zero.
( ) Esta função retorna à parte inteira de um número fracionário.
Assinale a alternativa que apresenta a sequência correta:
II, IV, I, III.
Feedback da resposta: Resposta correta. A função (I) fornece o valor -1, +1 ou zero, conforme o valor de EA negativo, positivo ou igual a zero. A função (II) fornece o expoente do número “e” (Neper) elevado a EA. A função (III) fornece a parte inteira de um número fracionário. A função (IV) fornece o quociente inteiro da divisãoEAx por EAy.
Para a construção de um algoritmo, é necessário seguir alguns passos, como verificar qual é o seu propósito, como os dados são definidos, como a transformação dos dados ocorre e como o resultado final é gerado para o usuário.
 
Existem comandos que permitem que dados sejam inseridos, passem por uma tratativa específica e gerem um resultado final. Assinale a alternativa correta acerca dos elementos de uma sequência lógica que um algoritmo deve apresentar:
Entrada de dados, processamento de dados e saída de dados.
Feedback da resposta:
 Entrada de comandos e sequência de comando não são elementos essenciais; são necessários dados de entrada para que comandos executam funcionalidades. Análise de dados, codificação de dados, saída de resultados e entrada de código também não são elementos essenciais. Devemos entender que a entrada de dados pelo usuário passará por um processamento que gerará uma saída de dados.
Um algoritmo e, posteriormente, um programa, recebe dados que um usuário digita. Tais dados são armazenados no computador, na memória principal, para serem utilizados no processamento dos programas”.
 
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C, C++ e Java. 3. ed. São Paulo: Pearson Pratice Hall, 2012. p. 9.
 
Com base nesses dados, podemos obter valores diferenciados, ou ainda, os valores permanecerem os mesmos. Considerando o exposto e o conteúdo abordado no texto-base, analise as afirmativas a seguir:
 
I - Variáveis são a representação simbólica de elementos que podem variar ao longo da execução de um algoritmo.
II - Constantes possuem um valor fixo, e que não se alteram ao longo da execução das funcionalidades de um algoritmo.
III - As variáveis podem ser classificadas como numéricas, lógicas e literais, e aceitam símbolos especiais em sua composição.
IV - O número de Euler não é considerado um valor constante, pois possui, como valor aproximado, 2,718281828459045235360287.
 
É correto o que se afirma em:
I e II, apenas.
Feedback da resposta:
Resposta correta. A afirmativa I está correta, pois uma variável representa uma posição de memória, possuindo nome e tipo, cujo conteúdo pode variar ao longo do tempo, durante a execução de um programa. A afirmativa II está correta, pois um dado constante é um valor fixo, ou seja, não se altera ao longo da execução de um algoritmo, tendo o mesmo valor do início ao fim, podendo ser uma constante numérica, lógica ou literal.
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C, C++ e Java. 3. ed. São Paulo: Pearson Pratice Hall, 2012. p. 9.
Os fluxogramas são muito utilizados na lógica de programação. Com esse recurso, é possível visualizar de que modo o fluxo de dados está sendo executado para a realização de determinada ação. Vejamos o fluxograma a seguir:
 
Elaborada pelo autor.
 
Percebemos, pelo fluxograma, a facilidade de visualizar o fluxo dos dados e o entendimento do algoritmo. Assinale a alternativa correta acerca da definição de fluxogramas:
É uma forma padronizada de representar/escrever algoritmos, com o uso de símbolos gráficos predefinidos.
Feedback da resposta:
Resposta correta. Um fluxograma consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, os passos a serem seguidos para a resolução desse problema. Com ele, o entendimento gráfico é mais fácil do que o entendimento de textos.
A complexidade de um algoritmo diz muito sobre o seu propósito. Há algoritmos que possuem diversas linhas e comandos, e que realizam atividades complexas para um usuário realizar. Dessa forma, um algoritmo é codificado dependendo do seu propósito e de sua complexidade.
 
Considerando a informação, analise as asserções a seguir e a relação proposta entre elas:
 
I. Um algoritmo pode, ao mesmo tempo, possuir uma estrutura condicional e uma estrutura de repetição.
 
Porque:
 
II. Não é possível conter uma estrutura condicional dentro de uma estrutura de repetição; cada uma deve ser inserida, independentemente da outra. 
Agora, assinale a alternativa correta:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Feedback da resposta:
Resposta correta. A asserção I é verdadeira, pois é possível, em um algoritmo, haver, em uma mesma estrutura, uma de condição e outra, de repetição. Ainda, podem-se ter diversas estruturas, dependendo da complexidade do algoritmo. A asserção II é falsa, pois é possível ter, em um algoritmo, e ainda, um dentro de outro, estruturas de repetição e condicional. Independentemente se for uma estrutura condicional dentro de uma de repetição, ou vice-versa.
Realizar a análise de um propósito de um algoritmo é essencial para entender a sua funcionalidade. Dessa forma, é importante analisar linha por linha, em busca de possíveis incoerências no código fonte. Analise o código a seguir:
 
Início
             inteiro: num1, num2;
escreva (“Digite o primeiro número:”);
leia (num1);
escreva (“Digite o segundo número:”);
leia (num2);
se (num1 > num2) então
             escreva (“O maior número é:”, num1);
senão
             escreva (“O menor número é:”, num2);
fimse.
se (num1 = num2) então
             escreva (“Os dois números são iguais”);
fimse.
fimalgoritmo.
 
Analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
 
I.( ) O algoritmo tem o intuito de realizar a análise com base em uma estrutura condicional, qual número é maior, menor ou igual.
II.( ) Analisando o código exposto, temos a presença de uma estrutura condicional simples e composta.
III.( ) Ao escrever o código apresentado, não seria possível codificar somente indicando a leitura de dados.
IV.( ) O valor lógico de uma operação de comparação, em uma estrutura condicional composta, é somente verdadeiro.
 
Assinale a alternativa que apresenta a sequência correta:
V, V, F, F.
Feedback da resposta:
 tendo em vista que a afirmativa I é verdadeira, pois analisando o código exposto, verificamos que a funcionalidade do código é averiguar, entre dois números, se um é maior ou menor do que o outro. A afirmativa II é verdadeira, pois analisando o código verificamos a presença de uma estrutura condicional simples e uma composta pelo trecho: se...então...fimse; e se...então...senão...fimse. A afirmativa III é falsa, pois é possível codificar o problema indicando somente a leitura dos dados. No caso, teríamos o código da seguinte forma: leia (num1, num2). A afirmativa IV é falsa, pois o valor lógico de uma estrutura condicional possui dois valores, sendo um verdadeiro e o outro, positivo.
Um algoritmo pode ser composto de diversos comandos, sejam eles destinados à atribuição de valores, à execução de um comando de escrita e leitura, e até aos comandos que realizam o processamento de dados para se chegar a um determinado propósito. Alguns exemplos são os comandos de expressões aritméticas e expressões lógicas.
 
Com base no texto, analise as afirmativas:
 
I .Operadores matemáticos são utilizados para representar, de maneira sintética, uma operação aritmética, para o processamento de cálculos matemáticos.
II . A função quociente retornará ao valor de resto de uma divisão de número inteiros em uma expressão aritmética.
III .Operadores lógicos são representados por conectivos, como conjunção, disjunção e negação, em que o resultado pode ver verdadeiro ou falso.
IV .Diferentemente da Matemática, nos algoritmos as operações matemáticas não obedecem a uma ordem de prioridade; são realizadas conforme aparecem.
 
É correto o que se afirma em:
I e III, apenas.
Feedback da resposta:
Resposta correta. A afirmativa I está correta, pois os operadores matemáticos são utilizados para a resolução de cálculos matemáticos, problemas utilizando expressões aritméticas, como adição, subtração, multiplicação e divisão. A afirmativa II está incorreta, pois o que retorna ao resto, em uma expressão aritmética, é a função de resto; a função quociente retorna ao quocienteinteiro de uma divisão. A afirmativa III está correta, pois os operadores lógicos são representados por conectivos, como conjunção ( e representado, simbolicamente, por ^ ), disjunção ( ou representado, simbolicamente, por v ) e negação ( não ); e possuem um valor final sendo verdadeiro ou falso.
Um fluxograma é utilizado para demonstrar o fluxo de um algoritmo de forma clara. Esse tipo de procedimento é comum, já que, com o fluxograma, é possível verificar o intuito de um algoritmo, para que assim seja possível codificar em qualquer linguagem.
 
Analise o fluxograma a seguir:
 
Elaborada pelo autor.
 
Considerando o texto apresentado e os conteúdos abordados na introdução, analise as asserções a seguir e a relação proposta entre elas.
 
I. O fluxograma possui um uma estrutura condicional, que em código poderia ser exposta por:
se n2 = 0 então
escreva (“Impossível imprimir”);
senão
d = n1/n2;
escreva d;
fimse.
 
Porque:
 
II. A tratativa para os números é indiferente, pois na realização da divisão pode-se dividir por qualquer número.
 
Agora, assinale a alternativa correta:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Feedback da resposta:
 pois a asserção I é uma proposição verdadeira, pois vemos claramente uma estrutura condicional. O mencionado na asserção também está correto, pois realiza a análise dos dados para a possível divisão. A asserção II é falsa, pois em cálculos matemáticos, especificamente em divisão de dados, devemos analisar os valores, para que o número não seja dividido por zero.
Por meio de inúmeras linguagens de programação, podemos trabalhar com a lógica, com o desenvolvimento de soluções e a representação do raciocínio, pela construção de algoritmos. A construção de um algoritmo é importante em razão da necessidade de se especificar uma sequência de ações, do início até o final. A construção de algoritmos possui diversas regras, tipos de comandos a serem utilizados e expressões adotadas. 
 
Sobre os tipos de classificação dos algoritmos, assinale a alternativa correta:
Estruturas sequenciais, estruturas de decisão e estruturas de repetição.
Feedback da resposta:
Resposta correta. Os tipos de classificação dos algoritmos são: estruturas sequenciais .a execução das instruções é direta e imperativa, não havendo condições ou desvios em seu caminho. Estruturas de decisão .a execução da sequência de instruções depende de condições atribuídas a decisões ao longo do caminho.  Estruturas de repetição .a execução das instruções se repete enquanto não for atingida uma condição.
Linguagens de programação trabalham com diversos tipos de dados. Cada dado pode ser inserido pelo usuário ou estar embutido já na programação do algoritmo. Esses dados, dependendo do intuito do programa, são manipulados no processamento do algoritmo, e geram, ao final, um resultado.
 
Dados de entrada e saída são importantes, e devem ser tratados de forma adequada. Considerando o texto, analise as asserções a seguir e a relação proposta entre elas.
 
I. Um comando de entrada é utilizado para receber dados digitados pelo usuário, e esses dados são armazenados em variáveis.
 
Porque:
 
II. O comando de entrada de dados é representado pela palavra reservada LEIA, que sempre que acionada, obterá um dado.
 
Está correto o que se afirma em:
 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta:
Resposta correta. A asserção I é verdadeira, pois os comandos de entrada são utilizados para a interação do programa, permitindo a entrada de dados. No comando de entrada de dados, são realizadas instruções de leitura de dados. A asserção II é verdadeira, e é uma justificativa/complemento da primeira, pois as operações são conhecidas como leitura, e são representadas pela palavra reservada LER ou LEIA.
Quando queremos escrever um software 
para realizar um determinado tipo de processamento de dados, devemos escrever um ou diversos programas interligados. Para que um computador compreenda e execute esse programa, devemos escrevê-lo em uma linguagem de programação.
 
Há uma linguagem que não necessita de uma compilação pelo computador, chamada linguagem natural. Assinale a alternativa correta acerca do conceito de linguagem natural.
Uma descrição narrativa, que consiste em analisar o problema e escrever os passos a serem seguidos para a 
resolução.
Feedback da resposta:
 Escrever algoritmos por meio de símbolos gráficos é um tipo de algoritmo fluxograma. Simular uma linguagem de programação por comandos diz respeito ao algoritmo pseudocódigo. Não existe um tipo de algoritmo que misture símbolos gráficos e comandos para a lógica de programação. Uma linguagem codificada é compilada por computadores, e não entendidos por usuários comuns, não sendo a definição de linguagem natural.
UNIDADE 2
Na construção de algoritmos, também temos as mesmas necessidades de determinar ações diferentes dependendo da avaliação de certas condições. O uso de condições ou comandos de decisão muda o fluxo das instruções de um algoritmo, permitindo que diferentes instruções sejam executadas de acordo com a entrada do programa”.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2. ed. São Paulo: Novatec Editora, 2006. p. 42.
Uma estrutura condicional deve ser analisada adequadamente, para que as tratativas condicionais, com operadores lógicos e aritméticos, estejam adequados. Considerando a citação apresentada e os conteúdos abordados no texto-base, analise as asserções a seguir e a relação proposta entre elas.
I. Quando um bloco de instruções subordinado ao comando se/senão contém outros comandos se/senão, temos o encadeamento de comandos de decisão.
Porque:
II. O comando caso pode ser considerado uma especialização do comando “se”. Foi criado para facilitar um uso particular de comandos “se” encadeados e outros comandos.
A seguir, assinale a alternativa correta:
Correta As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
Feedback da resposta: Resposta correta.
A asserção I é uma proposição verdadeira, pois, em um algoritmo com diversos if (estruturas condicionais), um dentro do outro, possui o nome de estruturas condicionais encadeadas ou aninhadas. A asserção II é uma proposição verdadeira, mas não é uma justificativa da I. A estrutura condicional de múltipla escolha, ou ainda conhecido como caso, possui uma função parecida com o comando SE; assim, podemos dizer que é uma especialização. Dessa forma, pode conter, ainda, comandos encadeados.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2. ed. São Paulo: Novatec Editora, 2006. p. 42.
m algoritmo é uma sequência de instruções que tem a finalidade de resolver um determinado problema. Um algoritmo pode conter diversos tipos de estruturas, que de uma forma ou outra, auxiliam na obtenção do resultado final.
Considerando as informações apresentadas e os conteúdos estudados, analise os tipos de estruturas algorítmicas a seguir e associe-os com suas características.
I) Laço de Repetição.
II) Seleção encadeada.
III) Múltipla escolha.
IV) Seleção simples.
( ) Muda o fluxo de um algoritmo, caso o valor lógico da condição seja verdadeiro.
( ) Quando um conjunto de valores necessitam ser testados e diferentes ações podem ser executadas em função desses valores.
( ) Diversas estruturas de seleção dispostas uma dentro da outra.
( ) Um trecho de código será repetido até que uma condição seja satisfeita.
Com base nas relações feitas, assinale a alternativa que apresenta a sequência correta:
Resposta Selecionada:
Correta IV, III , II, I.
Resposta Correta:
Correta IV, III , II, I.
Feedback da resposta: Resposta correta. A estrutura (I) diz respeito a laços de repetição, que possui, como função, a repetição de trechos de comandos por diversas vezes, até que uma condição de parada seja satisfeita. A estrutura (II) é uma estrutura de seleção encadeada, que possui diversas estruturas de seleção, uma após a outra.A estrutura (III) é uma estrutura de seleção múltipla escolha, que é aplicada quando um conjunto de valores discretos precisa ser testado e, nesse caso, diferentes ações serão executadas em função desses valores, sendo similar a uma estrutura homogênea SE-SENÃO-SE. A estrutura (IV) diz respeito à seleção simples, que mudará o fluxo do código através de uma condição; caso seja verdadeira, o trecho de código será executado.
Estruturas de repetição têm o intuito de repetir determinado trecho de código. Esse tipo de estrutura auxilia programadores no que tange à execução de comandos, por diversas vezes, não sendo necessária a repetição de linhas de código. Com isso, o algoritmo fica mais legível e enxuto.
Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
( ) A estrutura de repetição Enquanto (While) pode ser chamada loop pré-testado, já que a verificação lógica é realizada antes da primeira execução do loop .
( ) A estrutura de repetição Para (For) é parecida com a estrutura Enquanto, porém tem uma diferença crucial, sua verificação condicional é verificada após executar o bloco de comandos.
( ) A escolha entre o Enquanto e o Repita pode ser indiferente, pois executam as mesma funcionalidade; o que ajudará na escolha é sua estrutura e o que deixar o algoritmo mais simples e legível.
( ) O laço Repita executará comandos por X vezes. Serão verificadas uma situação inicial, uma condição inicial e uma ação a ser executada para cada repetição do trecho de código.
Com base nas associações, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
Correta V, F, V, F.
Feedback da resposta: A alternativa não se enquadra, já que a afirmativa I é verdadeira, pois o laço de repetição Enquanto é um laço que, para ser executado, sua condição é testada inicialmente, para, após, executar os comandos pertinentes. A afirmativa II é falsa, pois a estrutura FOR não é parecida com a estrutura enquanto, é uma estrutura contada, com valor pré-definido para o encerramento. A afirmativa III é verdadeira, pois um programador pode tanto escolher um Repita quanto o Enquanto para a solução de um problema, tendo que optar pela estrutura mais simples e legível, realizando ajustes necessários nas condições. A afirmativa IV é falsa, pois o laço repita executará ao menos uma vez o laço, e será encerrado até que uma condição seja satisfeita para o encerramento.
Dos laços de repetição existentes, o Repita tem como característica repetir um trecho de código até que uma condição seja satisfeita. Esse laço será executado ao menos uma vez. Analise o trecho de código a seguir:
Inicio
...
Escreva (“Deseja cadastrar um produto: (S ou N)”);
Leia (opcao);
Se (opcao = “S”) então
Repita
Leia (cod);
Leia (qtd);
Escreva (“Deseja digitar mais alguma coisa: (S ou N)?”);
Até (resp != “N”);
Fimse.
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
( ) O trecho de código possui uma estrutura condicional simples, que se verdadeiro, executará o trecho de código com o laço de repetição.
( ) O laço repita não será executado, independentemente se o usuário digitar a opção S ou N.
( ) O laço de repetição será executado de forma infinita, em razão de um erro de sintaxe de comparação de saída do laço.
( ) Há um erro de sintaxe no laço de repetição: a condição, da forma como está, será encerrada se o usuário digitar qualquer outra letra e não N.
Com base nas associações, assinale a alternativa que apresenta a sequência correta:
Resposta Selecionada:
Incorreta F, V, F, V.
Resposta Correta:
Correta V, F, F, V.
Feedback da resposta: A alternativa não se enquadra, pois a afirmativa I está correta, pois analisando o código vemos uma estrutura condicional simples, na forma se..então. A afirmativa IV é verdadeira, pois há um erro de sintaxe, sendo que a condição deveria ser resp = “N” para o encerramento do looping . A afirmativa II é falsa, pois o laço de repetição não será executado se a resposta para a variável opção for N; caso seja S, será executado ao menos uma vez. A afirmativa III é falsa, pois o laço de repetição não será executado de forma infinita, o laço de repetição, da forma como está, será executado até que a resposta seja diferente de N.
Assim como as estruturas condicionais, os laços de repetição também podem ser encadeados. Podemos, ainda, utilizá-los combinando-os com comandos de decisão. Usualmente, utilizamos laços de repetição para executarmos trechos de códigos por diversas vezes. Um detalhe importante é que devemos sempre analisar adequadamente a condição de parada de um laço de repetição. Considerando a introdução apresentada, analise as asserções a seguir e a relação proposta entre elas.
I. O comando “Repita” será utilizado sempre que temos a certeza da quantidade de vezes que o bloco deve ser executado.
Porque:
II. Estruturas condicionais podem estar dentro de estruturas de repetição e vice-versa.
A seguir, assinale a alternativa correta:
Resposta Correta:
Correta A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Feedback da resposta: Resposta correta. A asserção I é uma proposição falsa, pois o laço “repita” possui, como característica, ser executado ao menos uma vez, possuindo, ao final dos blocos, uma condição a ser testada, que será um ponto de parada do laço, caso for verdadeira. A asserção II é uma proposição verdadeira, pois podemos utilizar laços de repetição encadeados, assim como as estruturas condicionais. Podemos verificar um exemplo disso a respeito da utilização de uma estrutura do tipo matriz.
As estruturas de repetição são essenciais para a construção de algoritmos e resolução de problemas específicos, como a repetição de blocos. É essencial, ainda, o entendimento dos comandos, corretamente. Analise o trecho de código a seguir:
Inicio
...
sal_carlos <- 0;
sal_joao <- 0;
enquanto (sal_joao < sal_carlos) faça
Escreva (“O salário é: “, sal_joão + sal_carlos);
...
Fimenquanto.
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
( ) O laço de repetição enquanto, caso satisfeita a condição de que o salário de João seja menor do que o salário de Carlos, repetirá um trecho de código.
( ) O laço de repetição não será executado; dessa forma, o algoritmo será encerrado com as variáveis sal_carlos e sal_joao com valor 0.
( ) O código possui um erro de sintaxe na comparação do laço de repetição.
( ) O laço será executado, no entanto, em razão do erro de sintaxe de comparação, há um loop infinito.
Com base nas associações, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
Correta V, V, V, F.
Feedback da resposta: Resposta correta.
A afirmativa I é verdadeira, pois caso a condição seja satisfeita, o trecho de código será repetido até que o salário de João seja menor do que o salário de Carlos. A afirmativa II é verdadeira, pois em razão de um erro de sintaxe de comparação, o laço não será executado, e o algoritmo se encerra. A afirmativa III é verdadeira, pois a sintaxe do laço de repetição está incorreta: para que o laço seja executado, deveriam ser utilizados os operadores maior igual. A afirmativa IV é falsa, pois o laço não será executado, e muito menos acarretar em repetições infinitas.
Uma seleção de múltipla escolha é aplicada quando se tem um conjunto de valores prévio, e, a partir desses valores, podemos realizar uma determinada atividade, como a execução de um trecho de código, ou ainda, um simples menu. Analise o trecho de código apresentado na sequência:
Inicio
...
escolha X
caso “+”: Escreva
(“A soma é: “, a+b);
caso “- “: Escreva
(“A subtração é: “, a+b);
caso “*”: Escreva
(“A Multiplicação é: “, a*b); ;
caso “/”: Escreva (“A divisão é: “, a/b); ;
caso contrário:Escreva (“Opção
Incorreta!”);
fimescolha .
...
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Considerando o exposto e o conteúdo apresentado no texto-base, analise as afirmativas a seguir:
I .Na opção de divisão, deveria ter uma tratativa condicional a respeito do valor de b, que deve ser diferente de 0.
II .Na estrutura exposta, serão executados todos os casos, independentemente do que é digitado pelo usuário.
III .Em todos os casos, será realizado somente o cálculo relacionado à opção, sem realizar a impressão na tela.
IV .A opção “Caso Contrário” da estrutura múltipla escolha, é uma tratativa de erro para caso não haja opções digitadas.
É correto o que se afirma em:
Resposta Correta:
Correta I e IV, apenas.
Feedback da resposta: Resposta correta.
A afirmativa I é verdadeira, pois não se pode realizar a divisão direta dos dados; devemos realizar uma tratativa condicional para verificar se o valor de b é igual a zero; se sim, não será realizada a divisão. A afirmativa IV é verdadeira, pois a estrutura de múltipla escolha possui, em sua estrutura, uma tratativa de erros, para que, quando o usuário digite um opção inexistente, seja impresso que não realizou corretamente o procedimento.
Todas as repetições têm uma característica comum: o fato de haver uma verificação de condição que pode ser representada por um valor lógico, para determinar se a repetição prossegue ou não”.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2 ed. São Paulo: Novatec Editora, 2006. p. 60.
Considerando a citação apresentada e os conteúdos abordados no texto-base, analise as asserções a seguir e a relação proposta entre elas.
I. O laço “enquanto” caracteriza-se por uma verificação condicional após o final da execução de um bloco de instruções.
Porque:
II. A estrutura “enquanto” pode conter uma estrutura que indique que alguma instrução será executada quantas vezes forem necessárias.
A seguir, assinale a alternativa correta:
Resposta Selecionada:
Correta A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Resposta Correta:
Correta A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Feedback da resposta: Resposta correta.
A asserção I é falsa, pois a estrutura do laço “enquanto” caracteriza-se por uma verificação condicional antes de se iniciar um looping ou reiniciar uma possível execução dos blocos a serem repetidos. A asserção II é verdadeira, pois o laço “enquanto” pode conter uma estrutura que, por exemplo, realizará a contagem de quantas vezes algo está sendo repetido, e dessa forma, como condição, ao atingir um determinado número de vezes, o laço se encerra.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2 ed. São Paulo: Novatec Editora, 2006. p. 60.
As estruturas condicionais têm por finalidade executar um trecho de código caso uma análise de um dado for verdadeira, ou ainda, outro trecho, caso possuir valor lógico falso. Cada tipo de estrutura condicional possui uma característica que os diferencia.
Considerando as informações apresentadas e os conteúdos estudados, analise os tipos de estruturas condicionais a seguir e associe-os com suas respectivas sintaxes.
I) Estrutura condicional composta.
II) Estrutura condicional encadeada homogênea.
III) Estrutura condicional simples.
IV) Estrutura condicional encadeada heterogênea.
( ) se <condição 1> então
se <condição 2>
então
se <condição 3> então
ação 1;
fimse;
fimse;
fimse;
( ) se <condição 1> então
ação 1;
fimse.
( ) se <condição 1> então
ação 1;
senão
ação 2;
fimse;
( ) se <condição 1> então
se <condição 2>
então
ação 1;
senão
se <condição3>
então
ação 2;
fimse;
fimse;
fimse;
Com base nas relações feitas, assinale a alternativa que apresenta a sequência correta:
Resposta Selecionada:
Correta II, III, I, IV.
Resposta Correta:
Correta II, III, I, IV.
Feedback da resposta: Resposta correta. O comando (I) diz respeito à estrutura condicional composta, e possui sintaxe como: se <condição 1>
então ação 1; senão ação 2; fimse; o comando (II) diz respeito à estrutura condicional encadeada homogênea, e possui sintaxe como: se <condição 1> então se <condição 2> então se <condição 3> então ação 1; fimse; fimse; fimse; o comando (III) diz respeito à estrutura condicional simples, e possui sintaxe como: se <condição 1>
então ação 1; fimse; o comando (IV) diz respeito à estrutura condicional encadeada heterogênea, e possui sintaxe como: se <condição 1>
então se <condição 2>
então ação 1; senão se <condição 3> então ação 2; fimse; fimse; fimse; .
Uma estrutura encadeada pode ajudar em decisões de um algoritmo. Para cada decisão tomada, poderemos ter outras possíveis decisões para que, assim, seja tomada a execução de um bloco de códigos. Analise o trecho de código a seguir:
...
Se (A < B) E (A < C) então
Se (B < A) então
Escreva (“A ordem está correta a ser mostrada é “, A, “-”, B, “-”, C);
Senão
Escreva (“A ordem está correta a ser mostrada é “, A, “-”, C, “-”, B);
Fimse.
...
Fimse.
Fonte: Elaborada pelo autor.
Estruturas condicionais encadeadas, normalmente, são utilizadas para a resolução de problemas com um teor de complexidade maior do que outros. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
( ) Observamos a utilização de uma estrutura encadeada homogênea, utilizando a sintaxe SE-ENTÃO-SE e SE-SENÃO-SE.
( ) Não se podem utilizar duas estruturas de comparação em um mesmo SE, como exposto no exemplo, pois gera um erro de execução.
( ) O trecho de código diz respeito à ordenação de três valores, sendo que é feita a comparação através de operadores aritméticos.
( ) Com base no trecho de código, verificamos que não existe um padrão lógico no encadeamento, caracterizando uma seleção encadeada heterogênea.
Com base nas associações, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
Correta F, F, V, V.
Feedback da resposta: Resposta correta.
A afirmativa III é verdadeira, pois podemos analisar, pelo trecho de código, que se trata de um algoritmo de ordenação de três valores numéricos, feito por meio de operadores lógicos e aritméticos. A afirmativa IV é verdadeira, pois verificamos uma estrutura heterogênea, não seguindo uma lógica na comparação. Utiliza-se, assim, estruturas se...então... se... então... senão.
Um algoritmo possui códigos que podem ser executados sequencialmente, mas também que dependem da análise de uma condição para serem executados. Essas condições são chamadas estruturas condicionais, que podem ser simples, compostas ou encadeadas. A definição correta de estrutura encadeada é:
Resposta Correta:
Correta uma estrutura que possui if aninhados, ou seja, um dentro do outro, possuindo, ainda, valores lógicos verdadeiro ou falso;
Feedback da resposta: As estruturas de seleção encadeada não são laços de repetição. Dessa forma, não repetirão um trecho de código, eliminando-se assim as alternativas que indicam repetição. Possui somente um valor lógico, que indica ser a estrutura condicional simples. Já possuindo somente um valor lógico e um verdadeiro, dizemos que é uma estrutura de seleção composta.
Estruturas de repetição são importantes na implementação de determinadas funções em um algoritmo, visto que um laço repetirá um trecho de código diversas vezes. Podemos dizer, ainda, que com os laços de repetição não temos trechos de código repetidos. Um laço do tipo REPITA pode ser definido como:
Resposta Correta:
Correta um laço que será executado ao menos uma vez, antes de verificar uma condição;
Feedback da resposta: Resposta correta.
A estrutura REPITA-ATÉ é uma estrutura cuja condição é testada no final do laço, sendo verificada após a execução do loop de repetição dos comandos existentes dentro do laço.
Dentre as estruturas condicionais analisadas, temos as condicionais simples, compostas e encadeadas, e também as estruturas de seleção de múltipla escolha, ou ainda conhecido como estrutura CASE em algumas linguagens.Agora, responda: uma estrutura de seleção possui como característica:
Resposta Correta:
Correta Se um comando for executado, os demais não serão.
Feedback da resposta: Resposta correta.
A estrutura de seleção múltipla escolha é aplicada quando um conjunto de valores discretos precisa ser testado e, nesse caso, diferentes ações serão executadas em função desses valores, sendo similar a uma estrutura homogênea SE-SENÃO-SE.
O laço de repetição Para é adequado para casos em que a repetição seja realizada por um número definido de vezes. Essa estrutura possui recursos que facilitam o controle da repetição, possuindo limites fixos. Analise o trecho de código a seguir:
Inicio
...
Leia (n);
Para i de 1 ate n passo 1 faça
fat <- 1;
Para j de 1 ate i passo 1 faça
fat <- fat * j;
Fimpara.
Fimpara;
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Considerando as informações expostas e o conteúdo do texto-base, analise as afirmativas a seguir:
I \u2013 O algoritmo possui duas estruturas de repetição, sendo que a primeira vai até a quantidade “n”, e a segunda até a quantidade do valor de “i”.
II \u2013 O laço Para não será executado adequadamente, já que a sintaxe adicionando a letra “n” está incorreta.
III \u2013 A estrutura do algoritmo será executada infinitamente em razão de um erro lógico, causando travamento do sistema criado.
IV \u2013 No primeiro Para é utilizado uma variável de controle “i”, que recebe um valor inicial “1” e executa loop
de repetições com o incremento de “1” até que o valor final “n” seja atingido.
É correto o que se afirma em:
Resposta Correta:
Correta I e IV, apenas.
Feedback da resposta: Resposta correta.
A afirmativa I é verdadeira, pois existem dois loops de repetição. Pela análise realizada, o primeiro laço se repetirá até o valor de n, e o segundo laço, até o valor de i. A afirmativa IV é verdadeira, pois a sintaxe do laço Para indica que existe uma variável de controle que recebe um valor inicial, e executa repetições com o incremento de um valor, até que o valor final seja atingido.
O comando de decisão faz parte de um bloco de instruções maior, que é o bloco principal do programa. Os blocos podem conter qualquer tipo de instrução, inclusive comandos do programa”.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2 ed. São Paulo: Novatec Editora, 2006. p. 48.
Analise o código a seguir:
Inicio
n1, n2, n3 : inteiro;
Escreva (“Entre como primeiro valor: “);
Leia (n1);
Escreva (“Entre como segundo valor: “);
Leia (n2);
Escreva (“Entre como terceiro valor: “);
Leia (n3);
Se (n1 = n2) e (n2 = n3) então
Escreva (“Os três valores são iguais”);
Senão
Se (n1 <> n2) e (n1 <> n3) e (n2 <> n3) então
Escreva (“Não há valores iguais”);
Senão
Escreva (“Há dois valores iguais e um diferente”);
Fimse;
Fimse;
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Considerando a citação apresentada, o código analisado e os conteúdos abordados no texto-base, analise as asserções a seguir e a relação proposta entre elas.
I. O algoritmo apresenta uma estrutura condicional homogênea, utilizando a estrutura se-senão-se, realizando comparações numéricas.
Porque:
II. Esse tipo de construção é muito útil quando sabemos que em um conjunto de condições apenas uma delas será verdadeira.
A seguir, assinale a alternativa correta:
Resposta Selecionada:
Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Resposta Correta:
Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: Resposta correta.
A asserção I é uma proposição verdadeira, pois analisando o algoritmo percebemos a presença da estrutura condicional encadeada e de forma homogênea, seguindo uma lógica de análise. Percebemos também que o software tem o intuito de verificar se três números são iguais ou não. A asserção II é uma proposição verdadeira, pois a construção de forma encadeada e homogênea é muito útil, pois os comandos só serão executados se uma condição for verdadeira, sendo realizadas as análises uma abaixo da outra.
CESAR, R.; MEDINA, M.; FERTIG, C. Algoritmos e Programação : teoria e prática. 2 ed. São Paulo: Novatec Editora, 2006. p. 48.
Algoritmos são sequências de passos que visam atingir um objetivo específico. Dentre
esses passos, podemos citar aqueles que possuem o objetivo de repetir um determinado
trecho de comandos, chamados laços de repetição. Podemos definir o laço de
repetição ENQUANTO como:
Resposta Correta:
um laço que só será executado se uma condição for
verdadeira;
Feedback da
resposta:
Resposta correta. A estrutura de repetição ENQUANTO-FAÇA é uma
estrutura cujo teste da condição é feito no início do laço, antes de cada
execução dos trechos de código existentes no laço.
É possível, em um algoritmo, utilizar tanto laços de repetições quanto estruturas
condicionais. Ainda, podemos aplicar essas condições dentro dos laços de repetições, a fim
de verificar condições e executar comandos diversas vezes. Analise o trecho de código a
seguir:
Inicio
...
Escreva (\u201cEntre com um número a ser testado\u201d);
Leia (numero);
divisível <- f;
Se (numero resto 2 = 0) e (numero > 2) então
divisível <- v;
Senão
divisível <-3;
fimse;
Enquanto (não(divisivel) e divisor <= numero raiz 2) faça
Se (numero resto divisor = 0) entao
divisivel <- v;
Senão
divisivel <- divisor +2;
fimenquanto;
...
Fimalgoritmo.
Fonte: Elaborada pelo autor.
Tanto laços de repetição quanto estruturas condicionais devem ter sua análise feita de
forma correta, para que possam executar suas funcionalidades com exatidão.
Considerando a introdução apresentada, analise as asserções a seguir e a relação
proposta entre elas.
I. Na utilização do operador lógico \u201ce\u201d, para a execução do trecho de comando é necessário
que o valor lógico dos dois seja verdadeiro.
Porque:
II. O operador \u201cnão\u201d, que compõe a condição do laço de repetição \u201cenquanto\u201d, indica que o
valor não é divisível por nenhum outro número.
A seguir, assinale a alternativa correta:
Resposta
Selecionada:
As asserções I e II são proposições verdadeiras, e a II é
uma justificativa correta da I.
Resposta Correta:
A asserção I é uma proposição verdadeira, e a II é uma
proposição falsa.
Feedback
da resposta:
 A alternativa não se enquadra, já que a asserção
I é verdadeira, pois o operador lógico \u201ce\u201d possui, como característica principal,
a análise de duas condições, e que estas sejam verdadeiras. Dessa forma,
para a execução de um trecho de código que está dentro dessa condicional, é
necessário que o valor lógico de tais análises seja verdadeiro. A asserção II é
falsa, pois o operador \u201cnão\u201d, tem a função de inverter o valor lógico de uma
operação, e não indicar que não é divisível por um determinado número. No
caso do laço de repetição, ele inverterá o valor lógico de divisível.
Podemos representar algoritmos através de fluxogramas, pois facilita o entendimento do
fluxo dos dados de um programa por qualquer pessoa que o observe. Análise o fluxograma
a seguir:
Fonte: Elaborada pelo autor.
Estruturas condicionais, dependendo do seu valor lógico, mudam o fluxo dos dados a
serem executados. Considerando essas informações e o conteúdo estudado, analise as
afirmativas a seguir, e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
( ) Podemos verificar, no fluxograma, a presença de uma estrutura de decisão composta,
sendo que com base em um valor lógico verdadeiro, será executada uma ação, e se falso,
outra ação.
( ) Se for é implementado em uma linguagem específica, o código fonte criado conterá um
erro na sintaxe, pois caso a nota seja igual a sete, o programa será finalizado sem ação.
( ) Observamos, pelo fluxograma, que se trata de um algoritmo que realizará a média de
dois dados, e se o valor for maior do que sete, será impresso aprovado; caso contrário,
será impresso reprovado.
( ) Com a presença de uma estrutura de decisão simples, no fluxograma, verificamos que
será impressa, para o usuário, a situação\u201caprovado\u201d, se M for maior ou igual a 7, e, após
isso, finalizado o algoritmo.
Com base nas associações, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
V, F, V, F.
Feedback
da resposta:
Resposta correta. A afirmativa I é verdadeira, pois podemos visualizar uma
estrutura de decisão composta, que após analisada imprimirá um valor caso
verdade, e outro, caso falso. A afirmativa III é verdadeira, pois o problema
resolvido pelo fluxograma é a leitura de dois dados, feito sua média, e
impresso aprovado ou reprovado, dependendo do valor lógico de
comparação.
Estruturas condicionais são importantes em todo código criado. Normalmente, são
utilizadas em códigos que necessitam de uma análise de um dado para a execução de um
determinado trecho de código. Dentre as estruturas de seleção encadeada, temos:
Resposta Correta:
Estruturas homogênea e heterogênea.
Feedback da
resposta:
 Estruturas simples e compostas são estruturas
condicionais, porém não encadeadas. Estruturas repetitivas e analista não
são tipos de estruturas condicionais.
Para se realizar uma repetição com teste de condição no início, devemos nos utilizar da estrutura enquanto , que permite que um bloco de código seja repetido enquanto uma ação seja verdadeira. Analise o código a seguir:
 
Inicio 
 ... 
 Leia (idade); 
Enquanto (idade > 0) faça 
 Soma <- soma + idade; 
 Qtd <- qtd + 1; 
Leia (idade); 
Fimenquanto. 
... 
Fimalgoritmo. 
 
Fonte: Elaborada pelo autor.
 
Considerando o exposto e o conteúdo apresentado no texto-base, analise as afirmativas a seguir:
 
I – Caso a idade digitada seja 0, o laço de repetição executará ao menos uma vez, em razão da sua característica.
II – Há uma variável contadora, que tem a finalidade de contar quantas idades foram digitadas ao final do laço.
III – O laço de repetição é executado até que o usuário digite uma idade menor do que 0 na entrada de dados.
IV – Dentro do laço de repetição, temos uma operação de soma realizada, sendo que toda idade digitada será somada à variável soma.
 
Resposta Correta:
 
II, III e IV, apenas.
Feedback da resposta:
Resposta correta.
A afirmativa II é verdadeira, pois, analisando o algoritmo, encontramos uma variável que contará quantas idades são digitadas pelo usuário, até o encerramento do laço. A afirmativa III é verdadeira, pois o laço de repetição possui como condição ser executado até que seja digitada uma idade menor do que zero. A afirmativa IV é verdadeira, pois no laço de repetição podemos verificar a presença de uma variável que somará todas as idades digitadas pelo usuário.	
Um algoritmo é uma sequência de instruções que tem a finalidade de resolver um determinado problema. Um algoritmo pode conter diversos tipos de estruturas, que de uma forma ou outra, auxiliam na obtenção do resultado final.
 
Considerando as informações apresentadas e os conteúdos estudados, analise os tipos de estruturas algorítmicas a seguir e associe-os com suas características.
 
I) Laço de Repetição.
II) Seleção encadeada.
III) Múltipla escolha.
IV) Seleção simples.
 
( ) Muda o fluxo de um algoritmo, caso o valor lógico da condição seja verdadeiro.
( ) Quando um conjunto de valores necessitam ser testados e diferentes ações podem ser executadas em função desses valores.
( ) Diversas estruturas de seleção dispostas uma dentro da outra.
( ) Um trecho de código será repetido até que uma condição seja satisfeita.
 
Com base nas relações feitas, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
 
IV, III , II, I.
Feedback da resposta:
 A estrutura (I) diz respeito a laços de repetição, que possui, como função, a repetição de trechos de comandos por diversas vezes, até que uma condição de parada seja satisfeita. A estrutura (II) é uma estrutura de seleção encadeada, que possui diversas estruturas de seleção, uma após a outra. A estrutura (III) é uma estrutura de seleção múltipla escolha, que é aplicada quando um conjunto de valores discretos precisa ser testado e, nesse caso, diferentes ações serão executadas em função desses valores, sendo similar a uma estrutura homogênea SE-SENÃO-SE. A estrutura (IV) diz respeito à seleção simples, que mudará o fluxo do código através de uma condição; caso seja verdadeira, o trecho de código será executado.
Uma vez que uma variável em um vetor possui o mesmo nome, o que as distingue é um índice, que referencia sua localização dentro da estrutura. Desta forma, suponhamos que um vetor X foi definido com 20 posições e o programador tentou fazer a operação X[25] = 1. A alternativa que indica corretamente o que ocorre quando esta atribuição é realizada para uma posição além do tamanho do vetor é:
Resposta Correta:
Correta O algoritmo é compilado, mas quando for executado pode apresentar resultados que não foram previstos ou ainda abortar a execução.
Feedback da resposta: Resposta correta. Ao ser executado o algoritmo irá realizar a compilação normalmente, porém quando for executado pode apresentar resultados imprevistos ou ainda o programa é abortado de forma repetida.
Uma variável possui como definição poder armazenar somente um valor por vez de um tipo determinado. Quando trabalhamos com vetores, estendemos o armazenamento de um valor, para uma quantidade determinada de valores, no entanto continuam a ser do mesmo tipo.
Assim, um vetor é considerado uma variável multidimensional sendo indexada. Considerando a citação apresentada e os conteúdos estudados, analise as asserções a seguir e a relação proposta entre elas:
I. Um vetor sempre deve ser declarado utilizando uma estrutura determinada, sendo pelo nome, seu tamanho e por fim seu tipo de dados.
Porque
II. Ao atribuirmos valores em um vetor, devemos proceder adicionando elemento por elemento, alterando-se sempre o índice do vetor.
A seguir, assinale a alternativa correta:
Resposta Correta:
Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: A asserção I é uma proposição correta, pois sempre que formos declarar um vetor em um algoritmo, devemos determinar o seu limite, ou seja, a quantidade de posições que ele deve ter. Ainda, na declaração, devemos impor um nome a este vetor e o tipo de dados que ele irá aceitar. A asserção II é uma proposição verdadeira, sendo que ao atribuirmos um valor ao vetor, devemos indicar em qual índice ele irá pertencer. Devemos proceder adicionando elemento por elemento, alternando-se o índice a cada inserção.
Até agora, todas as variáveis com que trabalhamos eram unitárias. Porém, esta abordagem nem sempre é adequada para solucionar determinados problemas, principalmente quando precisamos lidar com muitos valores simultâneos. Variáveis mantêm valores, mas também podem manter estados. Imagine termos que criarmos 2000 variáveis para representar todas as notas dos alunos de uma escola, isso tornaria um algoritmo inviável, para isso temos os vetores, que possui como definição:
Resposta Correta:
Correta Ser uma variável composta homogênea unidimensional formada por uma seqüência de variáveis, todas do mesmo tipo, com o mesmo nome, e alocadas seqüencialmente na memória.
Feedback da resposta: A resposta está incorreta, pois diz respeito à definição de subrotinas, definição de registros, definição de matrizes e definição de arquivos.
Algoritmos possuem estruturas, como vetores, que armazenam valores que são utilizados para a resolução de determinados problemas. Para verificar se os dados e a lógica utilizada está de acordo com o problema, devemos realizar o teste de mesa, analisando assim linha por linha do nosso código.
Considere o algoritmo em pseudocódigo a seguir:
Inicio
tipo A = vetor [1..4] de inteiro <- {3, 5, 7};
tipo B = vetor [1..5] de inteiro <- {4, 6, 10, 18, 20};
tipo C = vetor [1..9] de inteiro;
inteiro: Ia <- 1, Ib <- 1, Ic <- 1;
inteiro: Na <-3, Nb <- 5, cont <- 0, i;
enquanto (Ia <= Na) e (Ib <=Nb) faça
se (A[Ia] <= B[Ib]) então
c[Ic] <- A[Ia];
Ia <- Ia +1;
senão
c[Ic] <- B[Ib];
Ib <- Ib +1;
Fimse;Ic <- Ic +1;
cont <- cont +1;
fimenquanto;
para I de Ia ate Na passo 1 faça
c[Ic] <- A[i];
Ic <- Ic +1;
fimpara;
Fimalgoritmo.
Analisando as informações e o algoritmo apresentado, é correto afirmar que:
Resposta Correta:
Correta o vetor C resultante intercala os elementos dos vetores A e B, ordenando-os.
Feedback da resposta: Resposta correta. O algoritmo irá realizar a análise dos números dos vetores, intercalando-os e ordenando-os.
Existem certas estruturas que não podem ser representadas pelos vetores. Desta forma, há a existência de uma outra estrutura que possui maior complexidade e auxilia na resolução de problemas específicos. Estamos falando da estrutura conhecida como Matriz, que possui a definição:
Resposta Correta:
Correta Ser uma variável composta homogênea bidimensional formada por uma seqüência de variáveis, todas do mesmo tipo, com o mesmo nome, e alocadas seqüencialmente na memória.
Feedback da resposta: Resposta correta. Uma matriz é uma variável composta bidimensional, sendo assim possui pelo menos uma dimensão a mais que os vetores. Essas estruturas precisam de dois parâmetros para identificá-la e podem ser representadas por meio de matrizes.
Rafael está estudando a disciplina de lógica de programação e seu professor lhe passou um exercício no qual ele deveria analisar um algoritmo a fim de encontrar possíveis erros e encontrar a sua funcionalidade. O algoritmo passado foi:
Inicio
tipo X = vetor [1..10] de inteiros;
Inteiro: i, j, aux;
Para 1 até 10 passo 1 faça
Leia X[i];
Fimpara;
Para i até 10 passo 1 faça
Para j até 9 passo 1 faça
Se (X[j] < X[I]) então
aux <- X[j];
X[j] <- X[j + 1];
X[j + 1] <- aux;
Fimse;
Fimpara;
Fimpara;
Para i até 10 passo 1 faça
Escreva (x[i]);
Fimpara;
Fimalgoritmo.
Considerando o algoritmo apresentado e o conteúdo estudado, analise as afirmativas a seguir:
I. O algoritmo irá ler um vetor de 10 números inteiros e irá apresentar o vetor em ordem decrescente.
II. São utilizados 2 laços de repetição na estrutura, sendo um para ordenar e outro para mostrar os resultados.
III. Temos no algoritmo a presença de laços de repetição encadeados, ou seja, um laço dentro do outro.
IV. Há um erro de sintaxe na comparação dos números para a ordenação dos dados.
É correto o que se afirma em:
Resposta Correta:
Correta I e III, apenas.
Feedback da resposta: A afirmativa II está incorreta, pois temos a presença de três laços de repetição e não dois. A afirmativa IV está incorreta, pois a sintaxe está correta, o laço de repetição possui um bloco de códigos que será analisado qual valor é maior e menor, e assim ordená-los em ordem decrescente.
Uma matriz é uma variável composta, ou seja, ela possui uma coleção de variáveis que devem possuir o mesmo tipo de dados e são acessadas pelo mesmo nome. A diferença entre uma matriz e um vetor, é que a matriz é n-dimensional e um vetor é unidimensional.
O acesso aos dados, tanto de matrizes quanto vetores, se dão através de índices números. Considerando a citação apresentada e os conteúdos estudados, analise as asserções a seguir e a relação proposta entre elas:
I \u2013 Caso seja necessário guardar a média final de diversos alunos em várias disciplinas, podemos utilizar uma matriz. No entanto, precisamos definir o tipo de matriz com seus índices de linhas e colunas e especificar o tipo de dado necessário.
Porque
II \u2013 Para declarar tal matriz, podemos seguir tal sintaxe: tipo X = matriz [2..10] de reais; sendo que a matriz possui o nome X, com valores reais, sendo uma matriz de 2 linhas e 10 colunas.
A seguir, assinale a alternativa correta:
Resposta Correta:
Correta A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Feedback da resposta: Resposta correta. A asserção I é uma proposição correta, pois podemos nos utilizar deste conceito para guardar informações de notas de média de alunos. Para isso, devemos declarar uma matriz especificando seu nome, o tipo de dados e seus índices de linha e coluna.
Em se tratando de algoritmos, sabemos que são conjuntos de instruções usadas para resolver determinados problemas. Dentro dos algoritmos temos diversas estruturas, e podemos dizer assim, vetores e matrizes mudam o conceito de simples de variável.
Vetores e Matrizes são variáveis compostas e homogêneas, sendo a primeira unidimensional e a segunda n-dimensional. Considerando a citação apresentada e os conteúdos estudados, analise as asserções a seguir e a relação proposta entre elas.
I. As variáveis possuem o mesmo tipo, mesmo nome e o que distingue cada elemento é um índice, que é a sua localização dentro da estrutura.
Porque
II. O número da posição de um elemento que está entre colchetes [], damos o nome de índice, que deve ser sempre um valor inteiro.
A seguir, assinale a alternativa correta:
Resposta Correta:
Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Feedback da resposta: Resposta correta. A asserção I é uma proposição correta, pois em um vetor, ou array, as variáveis possuem o mesmo tipo de dados, ou seja, uma variável X sendo um vetor com tamanho 10, poderá armazenar 10 dados, sendo que cada dado deve possuir o mesmo tipo, inteiro por exemplo. A asserção II é uma proposição correta, pois para cada variável do tipo vetor, possuirá o mesmo tipo de dados e o mesmo nome. Para acessarmos cada elemento de um vetor, devemos nos utilizar de índices, que é o que irá distinguir cada elemento, sendo encontrado entre colchetes, e o índice sempre sendo um valor inteiro.
Pergunta 9
0 em 0,25 pontos
Vetores também são conhecidos como Arrays e são considerados estruturas que possuem o mesmo tipo de dados, o mesmo nome e possuem o mesmo tamanho durante a execução do algoritmo
O número da posição em colchetes é chamado de índice e deve ser um número inteiro. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
I. ( ) Os Vetores podem ser declarados para conter a maioria dos tipos de dados existentes nas linguagens de programação.
II. ( ) Em um Vetor cujo tipo de dados é primitivo, nem todo elemento precisa conter um valor do tipo que foi declarado no vetor.
III. ( ) Uma variável controladora pode ser declarada e inicializada em uma mesma instrução no algoritmo.
IV. ( ) Em um vetor, quando é feita uma referência a um valor inexistente, ocorre uma exceção referente ao índice de saída.
A partir das associações feitas anteriormente, assinale a alternativa que apresenta a seqüência correta:
Resposta Correta:
Correta V, F, V, F.
Feedback da resposta: A afirmativa II está incorreta, pois sempre que inserido um elemento, deve conter um valor do mesmo tipo que foi declarado. A afirmativa IV está incorreta, pois quando se faz uma referência de um valor inexistente, o algoritmo irá ser executado, e realizado instruções não previstas, ou ainda, ser encerrado o executável.
Matrizes são consideradas variáveis compostas, já que podemos adicionar diversos dados utilizando uma variável com o mesmo nome. As informações devem seguir o mesmo tipo de dados e indexados para diferenciá-los.
A indexação deve indicar para qual linha e qual coluna pertence tal dado. Considerando o exposto e o conteúdo estudado, analise as afirmativas a seguir:
I. É possível o uso de matrizes com mais que duas dimensões (multidimensional).
II. Uma matriz de duas dimensões (bidimensional) é composta por dois índices, que representam linhas e colunas.
III. O carregamento de matrizes pode ser facilitada através do uso de laços de repetição.
IV. O processo de leitura e apresentação de uma matriz pode ser feita sem estruturas de repetição.
É correto o que se afirma em:
Resposta Selecionada:
Correta I, II, III e IV.
Resposta Correta:
Correta I, II, III e IV.
Feedback da resposta: Resposta correta. A afirmativa I está correta, pois podemos criar matrizes com mais de duas dimensões, chamadas assim de multidimensional. A afirmativa II está correta, bidimensional significa que a matriz possuidois índices indicando linhas e colunas. A afirmativa III está correta, pois laços de repetição auxiliam no carregamento dos dados de uma matriz. A afirmativa IV está correta, podemos realizar a leitura e apresentação de dados de uma matriz sem nos utilizarmos de uma estrutura de repetição, no entanto, o trabalho vai ser dobrado, já que podemos ter uma matriz com diversas linhas e colunas.
Estruturas como vetores e matrizes são muito utilizadas na resolução de problemas complexos, em que devemos armazenar diversas informações, porém, sem a necessidade de criar diversas variáveis para o armazenamento. 
  
Esse tipo de estrutura deixa assim o algoritmo mais legível e mais fácil de realizar uma manutenção, já que não precisamos criar muitas variáveis. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s): 
  
I. (   ) O preenchimento de cada elemento de um vetor pode ser feito por meio de uma indexação. 
II. (  ) A leitura dos elementos de um vetor pode sem a necessidade de indicar para qual índice está referenciando. 
III. (  ) É muito comum utilizar estruturas de repetição para carregar dados em um vetor, principalmente quando há uma lógica para os valores a serem atribuídos. 
IV. (    ) A inicialização do vetor pode ser feita para todos ou alguns elementos. 
  
A partir das associações feitas anteriormente, assinale a alternativa que apresenta a seqüência correta:
Resposta Correta: I, III e IV, apenas.
Matrizes são estruturas compostas homogêneas que podem possuir n-
dimensões. No entanto, usualmente são chamadas de matrizes
bidimensionais. Uma matriz ainda possui informações todas do mesmo tipo,
como mesmo nome e alocados em memória.
Considerando as informações expostas e o conteúdo estudado, analise as
afirmações a seguir:
I. Uma matriz que possui o tamanho de linhas e y colunas irá conter (x * y)
dados.
II. A soma dos dados de uma matriz pode ser realizada utilizando-se de dois
laços e repetição aninhados, um indicando as linhas e o outro indicandoas
colunas.
III. A soma de duas matrizes sendo representado por linhas e y colunas
resultará em uma matriz do tipo 2*x em termos de linhas e 2*y em termos de
colunas.
IV. O multiplicação de duas matrizes de tamanho representado por x linhas
e y colunas irá resultar em uma matriz em termos de n linhas e n colunas.
É correto o que se afirma em:
Resposta Correta:
I, II e IV, apenas.
Feedback da
resposta:
 A afirmativa III está incorreta, pois
a soma de duas matrizes de m linhas e n colunas resulta de um
matriz ainda de m linhas e n colunas.
As estruturas de Vetor e Matriz sempre utilizam laços de repetição para
adicionar e percorrer seus índices. Os índices servem para identificar a
posição de cada elemento das estruturas, sendo que em cada laço, deve-se
sempre incrementar a posição do índice para o acesso.
É importante uma análise correta em relação aos índices, para que assim
não ocorra problemas ao executar os algoritmos. Considerando o exposto e
o conteúdo estudado, analise as afirmativas a seguir:
I. É possível a partir da leitura de um Vetor de 18 posições, distribuir todos
os seus elementos em uma matriz de 3 linhas e 6 colunas.
II. Para adicionar os valores de um Vetor em uma matriz, deve-se adicionar
os valores analisando a parada em relação ao número de colunas da matriz,
ao atingir, muda-se a linha e continua a inserção dos valores.
III. Ao declarar o vetor e a matriz para o problema, deve-se ser feito da
seguinte forma: tipo X = vetor [1..3, 1..6] de inteiros; tipo X = matriz [1..18]
de inteiros.
IV. Para a inserção dos valores do vetor na matriz, utilizamos somente laços
de repetição.
É correto o que se afirma em:
Resposta Correta:
I e II, apenas.
Feedback
da resposta:
 A afirmativa III está incorreta, pois a
declaração correta dos vetores e matrizes devem ser a sintaxe
seguinte: tipo X = vetor [1..3, 1..6] de inteiros; tipo X = matriz
[1..18] de inteiros. A afirmativa IV está incorreta, pois além de
laços de repetição, devemos também nos utilizar de estruturas
condicionais para a análise e conversão.
Podemos armazenar diversas informações tanto em uma variável do tipo
vetor quanto em uma variável do tipo matriz, o que devemos ter atenção é
como estas informações deverão ser armazenadas.
Sempre que formos trabalhar com essas estruturas, devemos nos utilizar de
laços de repetição. Considerando a citação apresentada e os conteúdos
estudados, analise as asserções a seguir e a relação proposta entre elas.
I. Tanto num vetor quanto numa matriz, o acesso a um dado em uma
posição específica deve ser por meio do número de seu índice.
Porque
II. Sempre que formos utilizar uma estrutura do tipo vetor ou matriz,
devemos evitar que o conjunto de informações que possuem o mesmo tipo
de dado sejam guardados em uma destas estruturas.
A seguir, assinale a alternativa correta:
Resposta Correta:
A asserção I é uma proposição verdadeira, e a II é uma
proposição falsa.
Feedback
da resposta:
 A asserção II é uma proposição
incorreta, pois é justamente o contrário que diz na afirmativa,
sempre que formos nos utilizar de vetores ou matrizes, o que
devemos armazenar são valores que possuem o mesmo tipo de
dado.
Vetores são destinados a realização de diversos tipos de problemas. Cada
problema, no entanto, deve possuir as características de armazenar
informações do mesmo tipo de dados. Desta forma, analise o trecho de
código a seguir:
Inicio
tipo X = vetor [1..10] de inteiros;
tipo Y = vetor [1..10] de inteiros;
tipo Z = vetor [1..20] de inteiros;
Inteiro: i, j;
j <-1;
i <-1;
Para i de ate 10 passo 1 faça
leia (X[i]);
Z[j] <- X[i];
j <- j + 1;
leia (Y[i]);
Z[j] <- Y[i];
j <- j + 1;
Fimpara;
Para i de ate 20 passo 1 faça
Escreva (Z[i]);
Fimpara;
Fimalgoritmo.
Considerando o texto, o algoritmo exposto e o conteúdo estudado, analise
as afirmativas a seguir:
I \u2013 O algoritmo apresentado irá solicitar para do usuário a leitura de dados
para 3 vetores diferentes.
II \u2013 É utilizado 2 laços de repetições, sendo que o primeiro se repete até
atingir o valor 10 e o segundo até 20.
III \u2013 Os valores lidos do vetor X são inseridos no vetor Z intercalando com os
valores lidos do vetor Y.
IV \u2013 Há um erro de sintaxe na elaboração do segundo laço de repetição,
que deveria ser encerrado quando se atingisse o valor 10.
É correto o que se afirma em:
Resposta Correta:
II e III, apenas.
Feedback
da resposta:
 A afirmativa I está incorreta, pois o
algoritmo solicita a leitura dos dados pelo usuário somente dos
vetores X e Y. O vetor Z não é realizado a leitura, somente é
inserido os valores de X e Y nele. A afirmativa IV está incorreta,
pois não há erro de sintaxe no último laço de repetição, como o
seu tamanho é 20, o laço deve se encerrar em 20.
Em se tratando de vetores e matrizes, devemos sempre adicionar o
tamanho fixo de nossa estrutura, para quando executarmos nosso algoritmo,
sabermos até em que momento podemos adicionar dados. Analise o código
fonte a seguir:
Inicio
constante TAM = 6;
tipo X = vetor [1..TAM] de inteiros;
inteiro: i, j;
para i de 1 ate TAM passo 1 faça
Escreva (\u201cEntre com os valores para o vetor: \u201d);
Leia (X[i]);
Fimpara;
para j de 1 ate TAM passo 1 faça
Escreva (X[j]);
Fimpara;
Fimalgoritmo.
Considerando as informações, o código fonte exposto e o conteúdo
estudado, analise as afirmativas a seguir:
I. Em nosso Algoritmo temos uma constante que irá definir o tamanho do
vetor.
II. As variáveis \u201ci\u201d e \u201cj\u201d servem para o controle dos laços de repetição.
III. Na estrutura do laço de repetição, o comando \u201cpasso\u201d irá incrementar em
1 a variável \u201ci\u201d cada iteração.
IV. Temos a existência de dois laços de repetição, uma para a leitura dos
dados e outro para a apresentação dos dados.
É correto o que se afirma em:
Resposta Correta:
I, II, III e IV.
Feedback
da
resposta:
Resposta correta. A afirmativa I está correta, pois em um
algoritmo podemos nos utilizar de constantes para indicar o

Continue navegando