Buscar

ALGORITMOS E PROGRAMAÇÃO - SG

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 18 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 18 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 18 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

Imagine que você precisa fazer um avião de papel e propõe para um 
amigo que cada um escreva um algoritmo para realizar essa tarefa. 
Cada um escreve o seu; vocês constatam que eles são diferentes 
tanto na quantidade de passos como na própria descrição dos passos. 
Depois dessa fase, vocês trocam os algoritmos: você faz o avião com 
o algoritmo escrito pelo seu amigo e vice-versa. Seguindo cada passo, 
os dois conseguem fazer um avião de papel. 
O que é possível afirmar sobre seus algoritmos? 
c. Os algoritmos escritos estão funcionando bem, visto que atingiram o objetivo: fazer um avião de papel 
 
Um programa pode ser executado de duas formas: na primeira, o código-fonte é traduzido para 
a linguagem máquina e logo em seguida executado; na segunda, cada uma das instruções é 
executada de forma direta, sem a necessidade de tradução completa do código-fonte. 
Em qual das alternativas estão essas duas formas de execução, 
respectivamente? 
c. Compilação e interpretação. 
 
Imagine um jogo de adivinhação de número. O número deve ser sorteado aleatoriamente, e o 
usuário adivinha um valor; se ele acertar, ganha o jogo. Caso contrário, o jogo avisa se você 
adivinhou um número muito grande ou muito pequeno. Um possível algoritmo para esse jogo 
pode ser visto a seguir: 
Passo 1 – sortear um número; 
Passo 2 – perguntar ao usuário qual número ele adivinhou; 
Passo 3 – se for igual ao número sorteado, informar ao usuário que 
ele ganhou; 
Passo 4 – ? 
Passo 5 – ? 
Escolha a opção que completa o algoritmo com os passos 4 e 5. 
e. Passo 4 – se o número adivinhado for maior que o número sorteado, dar a dica para o usuário adivinhar um número 
menor;Passo 5 – se o número adivinhado for menor que o número sorteado, dar a dica para o usuário adivinhar um número maior 
 
Ao comparar o tempo de execução de uma tarefa por um programa de computador escrito em linguagem compilada com outro em 
linguagem interpretada, é possível afirmar que: 
b. os programas compilados são mais rápidos que os programas interpretados. 
 
Uma variável é uma região de memória que serve para armazenar ________ que estão 
envolvidos(as) num programa. As variáveis são definidas com um ________ e um ________. 
Qual opção completa de forma correta essa afirmação? 
e. Dados, nome e tipo. 
 
O fluxo de execução de um algoritmo consiste em estruturas. Quais são essas estruturas? 
d. Sequencial, Seleção e Repetição 
As expressões são fórmulas matemáticas que auxiliam a obter um resultado numérico. Normalmente, são utilizadas para obter um 
resultado numérico para números inteiros e reais, ou para condições, ou para conjunções, disjunções e negações. Quais são 
essas expressões? 
e. Aritméticas, Relacionais, Lógicas ou Booleanas. 
 
O que são algoritmos? 
c. Algoritmo é um conjunto finito de regras, bem definidas, que nos leva à solução de um problema em um tempo finito. 
 
Analise o seguinte trecho: 
 
 
algoritmo "Modelo" 
var 
n: inteiro 
 
 
inicio 
 
 
escreval("Insira um número inteiro: ") 
leia(n) 
n = n * n; 
escreval("O ................... é : ",n) 
 
 
fimalgoritmo 
 
 
O que o irá acontecer com o valor lido, o que será mostrado como resultado? 
d. O resultado é o QUADRADO do valor lido. 
 
Existem alguns tipos de dados primitivos que podem ser números negativos, positivos ou nulos com e sem decimais, que 
apresentam letras e que apresentam valores de V ou F ou valores binários 0 ou 1. Quais são esses tipos primitivos de dados? 
d. Dados de números inteiros, reais, compostos, booleanos. 
 
O seguinte programa está escrito em linguagem C. Qual a função da linha 1? 
c. Acrescentar a biblioteca padrão da linguagem C para que se possa fazer entrada e saída de dados. 
 
Utilizando o editor e o compilador, quais os passos para que se tenha um programa em C pronto para execução? 
Escrever o programa em um arquivo, salvar o arquivo com extensão c e compilar com a seguinte linha de comando: gcc 
nomedoprograma.c -o nomedoexecutavel. 
Sobre a linguagem C, é correto afirmar que: 
c. é uma das linguagens indicadas para se começar a estudar programação, pois é considerada simples e bem-estruturada. 
 
A linguagem C é uma linguagem: 
d. de alto nível e compilada. 
 
O que é uma linguagem de programação? 
 a linguagem utilizada para escrever programas de computadores. 
Ao declarar uma variável que armazena um caractere, você escreveu a seguinte linha de código: char -
nome; Ao compilar o programa, verificou que essa declaração gerou um erro de sintaxe. Qual a 
alternativa que indica esse erro? 
b. Variáveis não devem começar com caracteres especiais como o hífen utilizado na declaração. 
 
Você precisa declarar uma variável do tipo inteiro. Qual a maneira correta de fazer isso em C? 
b. int idade; 
 
Por que, em alguns casos, é interessante inicializar uma variável em C? 
a. Para não corrermos o risco de utilizar um valor armazenado anteriormente por outro programa naquele espaço de memória. 
 
Qual a maneira correta de declarar uma variável em C? 
 
a. A declaração é feita primeiro colocando-se o tipo da variável, seguido do nome da variável e finalizando a instrução com ponto e 
vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. 
 
você precisa armazenar os seguintes dados: 
 
 
- Salário bruto; 
- Sexo, que será representado por F (Feminino), M (Masculino) ou N (prefiro não declarar); 
- Idade, em anos. 
 
 
Quais são os tipos dessas variáveis? 
d. double, char e int 
 
 
O que está faltando na linha 9 para que seja mostrado o seguinte texto: Soma:, 
seguido do valor da soma dos dois números digitados pelo usuário. 
a. soma. 
 
 
Qual a definição de uma função em linguagem de programação? 
 
Escolha uma opção: 
a. Uma função é um conjunto de instruções organizadas em forma de bloco e que têm um nome para 
que assim sejam utilizadas em um código-fonte. 
 
Qual o valor da variável após a execução do seguinte código: 
b. 16 
ara que servem as funções printf e scanf? 
c. A função printf mostra um valor na tela do computador e a função scanf serve para armazenar valores dentro 
de uma variável. 
 
Considerando o seguinte código, qual o valor das variáveis x e y no final da 
execução? 
b. X é 25 e y é 17 
 
 
Qual é a função dos operadores ++ e -- na linguagem C, respectivamente? 
c. São operadores de incremento e decremento. 
 
Avalie o seguinte código, e diga qual é o resultado que será impresso. 
b. 20.10. 
 
 
Assinale a opção que indica a diferença entre os operadores = e ==, ambos utilizados na linguagem C. 
a. = é um operando de atribuição, e == é um operando relacional que avalia se duas variáveis são iguais. 
Considerando o trecho de código, qual é o valor que será impresso na tela ao final 
da execução? 
c. 7.00 
Considerando o trecho de código escrito na linguagem C, qual é o valor da variável 
resultado1? 
e. 56 
 
Como você pode reescrever o código a seguir, usando a estrutura de seleção ternária? Ou seja, se 
substituirmos as linhas 9 a 14, como deve estar escrita uma nova linha, usando o operador ternário para 
termos a mesma saída? 
#include 
int main(){ 
int numero1,numero2,maior; 
printf("Digite um numero: "); 
scanf("%d",&numero1); 
printf("Digite outro numero: "); 
scanf("%d",&numero2); 
if(numero1>numero2){ 
maior=numero1; 
} 
else{ 
maior=numero2; 
} 
printf("Maior: %dn",maior); 
return 0; 
} 
d. maior=numero1>numero2?numero1::numero2; 
Qual estrutura está representada na imagem a seguir? 
e. Estrutura de seleção composta 
 
O seguinte programa deve receber um número e apresentar um texto indicando se esse 
número é par ou ímpar. 
#include 
int main(){ 
int numero; 
printf("Digite um numero: "); 
scanf("%d",&numero); 
if(numero%2==0){ 
****** 
} 
else{ 
***** 
} 
return 0; 
} 
O que deve ser escrito nas linhas 7 e 10 para que a saída seja de 
acordo com as imagens de saída de execução? 
b. Na linha 7: printf("Onumero %d eh parn",numero); na linha 10: printf("O numero %d eh imparn",numero); 
 
A seguir, vemos a sintaxe da estrutura switch: 
switch (expressao){ 
case valor1: 
comandos; 
comandos; 
break; 
case valor2: 
comandos; 
comandos; 
break; 
case valor3: 
comandos; 
comandos; 
break; 
default: 
comandos; 
comandos; 
} 
c. Somente um dos cases é executado por vez. 
 
Qual a diferença entre uma estrutura de seleção simples e uma composta na linguagem C? 
d. A estrutura simples só tem if, ou seja, só se executa operações se o teste for verdadeiro. Já a estrutura composta tem if-else. 
Em que ocasião podemos substituir a while pela for? 
e. Somente quando se sabe quantas vezes a estrutura de repetição será executada. 
 
Em que ocasião podemos substituir a while pela for? 
a. Somente quando se sabe quantas vezes a estrutura de repetição será executada. 
 
Em que ocasião ocorre um loop infinito? 
f. Quando a estrutura de repetição fica executando para sempre. 
 
Qual a diferença entre a estrutura while e a do-while? 
d. Na estrutura de repetição while, o teste condicional é feito no início do loop; já na estrutura do-while, o 
teste é feito no fim. 
 
Como podemos reescrever o seguinte trecho de código, utilizando como estrutura de repetição o for? 
 
 
 
 
#include 
 
 
int main(){ 
 
 
int qtd,contador; 
 
 
float valor,soma; 
 
 
soma=0; 
 
 
contador=1; 
 
 
printf(" Lista de Compras n"); 
 
 
while(contador<6)<>> 
 
 
{ 
 
 
printf("Digite a qtd: "); 
 
 
scanf("%d",&qtd); 
 
 
printf("Digite o valor por unidade: "); 
 
 
scanf("%f",&valor); 
 
 
valor=valor*qtd; 
 
 
soma=soma+valor; 
 
 
contador=contador+1; 
 
 
} 
 
 
printf("Valor total da compra: R$ %.2fn",soma); 
 
 
return 0; 
 
 
} 
 
#include 
 
 
int main(){ 
 
 
int qtd,contador; 
 
 
float valor,soma; 
 
 
soma=0; 
 
 
printf(" Lista de Compras n"); 
 
 
for (int i = 0; i <5;i++)<>> 
 
 
{ 
 
 
printf("Digite a qtd: "); 
 
 
scanf("%d",&qt; 
 
 
printf("Digite o valor por unidade: "); 
 
 
scanf("%f",&valor); 
 
 
valor=valor*qtd; 
 
 
soma=soma+valor; 
 
 
} 
 
 
printf("Valor total da compra: R$ %.2fn",som; 
 
 
return 0; 
 
 
} 
 
Qual alternativa apresenta a sintaxe correta da declaração de uma matriz de strings? 
a. matriz: vetor [0..7,0..7] de caracter 
 
Qual a principal diferença entre variáveis, vetores e matrizes? 
a. Variáveis armazenam apenas um valor; vetores e matrizes armazenam mais de um valor 
simultaneamente, sendo em vetores lado a lado e em matrizes, separado por linha e coluna. 
 
Para fins de apresentação de resultados, é necessário programar para que seja "quebrada" uma linha em 
um determinado momento da leitura de uma matriz, para que ela seja apresentada com as dimensões 
corretas. Dada uma matriz de 8x8, qual alternativa apresenta o código correto para exibição dos 
resultados com a quebra de linha ao final de cada linha da matriz? 
 
b. para linha de 0 ate 7 passo 1 faca 
 
 
 
 
para coluna de 0 ate 7 passo 1 faca 
 
 
 
 
escreva(tabuleiro[linha,coluna]," ") 
 
 
 
 
fimpara 
 
 
 
 
escreval(" ") 
 
 
 
 
fimpara 
 
Qual alternativa descreve corretamente o processo de atribuição de valores para todos os elementos de uma 
matriz com 5 linhas e 7 colunas? 
 
para a de 1 ate 5 passo 1 faca 
 
 
 
 
para b de 1 ate 7 passo 1 faca 
 
 
 
 
matriz[a,b] <- x<>> 
fimpara 
 
 
 
 
fimpara 
 
Qual alternativa NÃO é uma afirmação verdadeira sobre as estruturas de dados homogêneas? 
c. Ao adicionar um valor para uma variável, este valor está sendo salvo temporariamente no banco de 
dados. 
 
Dado o seguinte algoritmo escrito na linguagem MATLAB, indique a alternativa que representa 
o objetivo correto. 
a= -5; 
b= 5; 
n= (b - a) * rand(1, 10) + a; 
disp(round(n)) 
d. Gerar 10 números aleatórios entre -5 e 5. 
 
Indique a alternativa que representa corretamente a declaração de um vetor de linha que contém 
os elementos ímpares entre 0 e 10 no MATLAB. 
b. v= [1:2:10]; 
 
Considerando os dois vetores lineares v e w, declarados a seguir, marque a alternativa que 
representa corretamente a operação de multiplicação de elementos na linguagem MATLAB, de 
modo que o conteúdo do vetor z seja 2, 12 e 30: 
v= [1 3 5]; 
w= [2 4 6]; 
c. z= v .* w; 
 
Analise o seguinte algoritmo baseado na linguagem MATLAB e marque a alternativa que representa 
o conteúdo do vetor w: 
v= [1:10] * 3; 
w= []; 
for i= 1 : length(v) 
if mod(v(i), 2) ~= 0 
w= [w v(i)]; 
end 
end 
b. 3, 9, 15, 21, 27. 
 
Considerando os dois vetores v e w, declarados abaixo, indique a alternativa que apresenta o 
resultado correto da concatenação desses vetores em um vetor linear z, cujo conteúdo é: 1, 3, 
5, 2, 4 e 6. 
v= [1 3 5]; 
w= [2 4 6]; 
c. z= [v w]; 
 
O que é um erro sintático em programação? 
d. Um erros sintático é um erro que causa a não compilação de um código em C e são caracterizados por um erro na 
formação das estruturas básicas da linguagem, falta de uma pontuação, não declaração de variáveis. 
 
Quais são os marcadores para comentário de única linha de de múltiplas linhas em C? 
b. Para única linha: / / para múltipla linha: /* */ 
 
Com relação ao código em anexo, é correto afirmar que: 
#include <stdio.h> 
int main(){ 
int a,b; 
a=10; 
b=15; 
printf("a= %d, b=%d\n",a,b); 
temp=b; 
b=a; 
a=temp; 
printf("a= %d, b=%d\n",a,b); 
return 0; 
} 
a. O código possui um erro sintático, por esse motivo não irá rodar e o erro aparecerá no momento da compilação. 
 
Do que se trata o processo de depuração em programação de computadores? 
a. É o processo de encontrar erros (bugs) em um código fonte. 
 
O seguinte código não será executado pois: 
#include <stdio.h> 
int main(){ 
numero=10; 
//tete condicional 
if(numero<50){ 
printf("numero menor que 50"); 
} 
else{ 
printf("numero maior que 50"); 
} 
return 0; 
} 
c. A variável numero não está declarada. 
 
Os comandos de entrada e saída utilizam periféricos para introduzir os dados para serem 
processados e visualizar os dados após serem processados. Os periféricos de entrada enviam 
a informação para o computador, e os periféricos de saída transmitem a informação do 
computador para o usuário. Para isso, temos vários dispositivos-padrão utilizados como 
periféricos de entrada e de saída, e até mesmo periféricos que servem tanto para entrada 
como para saída (discos de armazenamento). 
Selecione o periférico básico que é considerado periférico de saída. 
d. Impressora. 
 
Uma empresa necessita calcular o salário reajustado do funcionário. 
Para isso, analise os algoritmos abaixo, e assinale o que traz as 
diretrizes solicitadas pela empresa listadas abaixo: - 
O valor do salário bruto será informado pelo usuário. 
- Todos os funcionários recebem um bônus de 20% sobre o valor do 
salário bruto como presente de final de ano. 
- Após o acréscimo do bônus, deverá ser descontado o imposto de 7% 
do salário reajustado. Ao término do algoritmo, deverá ser impresso na 
tela o valor final do salário com o bônus e depois o valor reajustado do 
salário do funcionário. 
e. Apenas a alternativa I. 
 
São dados os seguintes blocos aplicados na representação em fluxograma: 
a. Figuras 2, 5 e 6. 
 
Uma empresa da indústria automotiva recebeu como doação um forno para moldar ponteiras 
de eixo por calor, um equipamento importado muito antigo, que foi desenvolvido pelos 
funcionários de uma empresa americana. Esse equipamento utiliza um termômetro com a 
medida em Fahrenheit. 
Em função da dificuldade encontrada pelos operadores em realizar a 
conversão que não faz parte da medida utilizada no Brasil, a empresa 
está buscando um programador para desenvolver um algoritmo que 
receba a temperatura do operador em graus Celsius, converta-a em 
Fahrenheit e exiba a informação em Fahrenheit para o operador do 
equipamento. 
b. Entrada: Leia(Celsius) Saída: Escreva(Fahrenheit)22) Considerando-se os comandos de entrada, comandos de saída e atribuição, analise as 
sentenças apresentadas abaixo. 
I. O comando de saída é utilizado para mostrar os dados na tela ou na 
impressora. 
II. O comando de entrada é utilizado para receber dados digitados 
pelo usuário, que serão armazenados em variáveis. 
III. O comando de entrada é representado pela palavra reservada Leia 
ou Ler, e o comando de saída é representado por Escreva ou Imprima. 
É INCORRETO apenas o que se afirma em: 
c. Nenhuma alternativa. 
 
Sobre a organização das informações em um arquivo, é correto afirmar que: 
 Arquivos são semelhantes aos vetores, pois cada registro do arquivo é semelhante a uma posição de um vetor. 
 
Analise as alternativas a seguir e selecione aquela que NÃO se refere diretamente a arquivos. 
d. Comparar 
A manipulação de dados em arquivos difere um pouco conforme o tipo de arquivo. Diante dessa afirmação, 
assinale a alternativa falsa. 
e. Arquivos do tipo binário podem ser utilizados para compartilhar informações entre sistemas desenvolvidos em diferentes 
linguagens de programação 
 
Os arquivos são objetos gerenciados pelo sistema operacional nos dispositivos de 
armazenamento de dados, exemplificados a seguir. 
 
b. Ordenação é uma operação básica de manipulação de arquivos. 
 
 
Sobre as operações de leitura e escrita de informações em arquivos, é correto afirmar que: 
 
b-Utilizam os mesmos comandos usados para fazer essas operações na entrada e saída padrão. 
 
 
Os métodos de ordenação de dados, cada um com suas peculiaridades, possuem um objetivo 
simples e único: ordenar os dados de uma estrutura de dados. Em relação aos algoritmos de 
ordenação de dados, classifique como verdadeiras (V) ou falsas (F) cada uma das afirmativas 
abaixo e, a seguir, selecione a resposta com a sequência correta. I - O algoritmo de ordenação 
por intercalação (Merge sort) é o algoritmo que possui o melhor desempenho e, por isso, 
ordena os dados de forma mais rápida. 
II - O algoritmo de ordenação por bolha é o mais simples de ser implementado e, por isso, 
possui em sua estrutura quatro laços de repetição do tipo for. 
 
 
III - O algoritmo de ordenação Quick sort é o mais eficiente entre todos os algoritmos, uma vez 
que ele necessita de menos iterações para ordenar a estrutura de dados. 
 
 
IV - O algoritmo de ordenação por seleção tem esse nome porque seleciona um elemento da 
estrutura e percorre todo o vetor até o final, verificando se algum valor no vetor é maior que o 
valor selecionado. 
e. F - F - V - V 
 
 
Várias são as derivações do método bolha como: ordenar em ordem 
crescente, decrescente, da direta para esquerda, da esquerda para a 
direita do vetor, formas mais simples e outras mais complexas. A empresa 
Tabajara Comunicações precisa de auxílio para ordenar os 150 ramais 
telefônicos de sua empresa. Para simplificar o problema, realize o teste de 
mesa para as duas opções propostas para a ordenação do vetor ramais, 
considerando para o teste de mesa a quantidade de ramais como sendo a 
variável maximo =5 e não como 150, e o vetor ramais = . O vetor ramais 
foi considerado como variável global em função do Visualg não passar 
vetor como referência, por isto ele não foi passado para a função 
ORDENA, somente a variável maximo, que representa o tamanho do 
vetor. 
 
f. Nenhuma das alternativas está correta 
 
Um professor de uma universidade possui uma turma de 25 alunos na disciplina de Física I e 
necessita, para análise, de um relatório de todas as notas dos alunos em ordem crescente. 
Sabendo-se que a nota para aprovação da disciplina é 7.0, o professor deseja saber quantos 
destes alunos tiveram aprovação e quantos tiveram reprovação na disciplina de Física I. 
Analise a proposta de implementação de ordenação das notas apresentada a seguir. 
// O vetor Notas é uma variável global no problema a seguir. 
algoritmo "Ordena_notas" 
var 
notas: vetor[1..26] de inteiro 
// Módulo para efetuar o cadastro de notas dos 25 alunos 
procedimento ler_notas(num:inteiro) 
var 
indice:inteiro 
inicio 
escreval("*** DIGITE AS NOTAS DOS ALUNOS DE FÍSICA I PARA 
SEREM ORDENADOS ***") 
para indice de 2 ate num passo 1 faca 
escreva("Nota do aluno (",indice-1,"): ") 
leia(notas[indice]) 
fimpara 
fimprocedimento 
// módulo que ordena as notas dos alunos 
procedimento ordena_notas (num:inteiro) 
var 
h, indice: inteiro 
sentinela: inteiro 
inicio 
indice <- 3<>> 
enquanto ( indice <=num)faca<>> 
sentinela <- notas[indice]<>> 
h <- indice -1<>> 
notas[1] <- sentinela<>> 
enquanto (sentinela < notas[h]) faca<>> 
notas[h+1] <- notas[h]<>> 
h <- h-1<>> 
fimenquanto 
notas[h+1]<- sentinela<>> 
indice <- indice+1<>> 
fimenquanto 
fimprocedimento 
// Módulo para efetuar o cálculo de quantos aprovaram e quantos 
reprovaram 
procedimento calculo_notas(num:inteiro) 
var 
indice,totrep,totapr:inteiro 
inicio 
totrep <-0<>> 
totapr<-0<>> 
para indice de 2 ate num passo 1 faca 
se (notas[indice] <7) entao<>> 
totrep <- totrep +1<>> 
senao 
totapr <- totapr +1<>> 
fimse 
fimpara 
escreval("") 
escreval("***Total alunos aprovados em Física I : ", totapr) 
escreval("***Total alunos reprovados em Física I: ", totrep) 
fimprocedimento 
// Módulo para efetuar a impressão das notas ordenadas 
procedimento imprime_notas(num:inteiro) 
var 
indice:inteiro 
inicio 
escreval("") 
escreval("***Relatório das notas dos alunos de Física I - Ordenados*** 
") 
para indice de 2 ate num passo 1 faca 
escreval("Notas ordenados(" , indice-1,"):",notas[indice]) 
fimpara 
fimprocedimento 
//corpo principal do algoritmo 
inicio 
ler_notas(26) //chama o módulo ler_codigos 
ordena_notas(26) //chama o módulo ordena_codigos 
imprime_notas(26) //chama o módulo imprime_codigos 
calculo_notas(26) 
fimalgoritmo 
Selecione a alternativa que representa o método de ordenação 
utilizado para ordenar as notas na proposta de implementação 
descrita anteriormente. 
 
e. Método de inserção 
 
Analise o simulado do método de ordenação de um vetor de sete elementos 
inteiros apresentado na imagem a seguir. 
a. O elemento pivô utilizado é o primeiro elemento do vetor. 
Os métodos simples de ordenação direta estudados na unidade de aprendizagem 
são mais utilizados para ordenar pequenos volumes de dados. Avalie as três 
alternativas de propostas de implementação de ordenação dos métodos de 
ordenação bolha, método por inserção e método por seleção. 
b. O método de inserção realiza menos comparações para a ordenação dos elementos. 
 
A cola não autorizada é um problema existente em muitas salas de aula, e a pessoa mais 
prejudicada nesse processo é o aluno. Com a cola, os dados para a análise do professor são 
distorcidos, pois ele verifica, com base nos dados da avaliação, onde estão os pontos ainda 
não desenvolvidos pela turma, para, assim, preparar estratégias que desenvolvam as 
habilidades que ainda apresentaram dificuldades. 
 
 
Considere o problema da cola representado nas sentenças abaixo: 
 
 
a) Colar é proibido, mas muitos alunos colam. 
b) Colar não é proibido e faz bem ao aprendizado. 
 
 
As sentenças acima podem ser representadas através de proposições e conectivos lógicos. 
Considere também que m, x e n representem as proposições listadas na tabela a seguir: 
 
 
 
 
Com base nas proposições acima, os conectivos estudados e considerando a notação 
introduzida na Unidade de Aprendizagem, analise e julgue as alternativas apresentadas abaixo: 
 
 
I - A sentença aa pode ser corretamente representada por m ^ (~ n). 
II - A sentença b pode ser corretamente representada por (~ m) ^ (~ x). 
III - A sentença a pode ser corretamente representada por m ^ n. 
IV - A sentença b pode ser corretamente representada por (~ m) v ( x). 
 
c. II e III. 
 
A tabela verdade é uma forma de representarmos e avaliarmos expressões lógicas, as quais 
são utilizadas na programação de algoritmos para avaliar sentenças.Conforme o resultado, 
poderá ser tomada uma decisão, e, assim, um comando ou um conjunto de comandos 
diferentes podem ser executados em situações nas quais a expressão é verdadeira ou falsa. 
Para a avaliação das expressões, deve-se observar os parênteses apresentados na expressão, 
priorizando a sua resolução. 
 
 
Considerando a tabela verdade dos conectivos e, ou e não, resolva as seguintes expressões 
lógicas: 
a. V, V, V. 
 
A construção da tabela verdade é muito importante, pois permite representar e avaliar as 
proposições com a aplicação dos seus conectivos lógicos, verificando se a proposição é 
verdadeira ou é falsa. 
 
 
Considere para o problema as letras w, x, f e g que representam as proposições, e os símbolos 
~(não), ^(e) e v(ou) como operadores lógicos. Avalie as alternativas apresentadas a seguir. 
 
 
I. Dado falso para a proposição w e x, pode-se dizer que a proposição (~ w) v ((~ x) v w) 
também é F - falsa. 
II. Dado verdadeiro para a proposição f e g, pode-se dizer que a proposição (~f) ^ (~ g) ^ f é F - 
falsa. 
III. Dado verdadeiro para a proposição w e falso para a proposição g e x, pode-se dizer que a 
proposição ( w v x ) ^ ( ( g v w ) ^ (~ x) ) é F - falsa. 
e. II 
 
A proposição é submetida a uma avaliação e tem por objetivo modelar o raciocínio humano. As 
sentenças a serem avaliadas podem ser consideradas como exclamativas, interrogativas ou 
imperativas, mas a lógica proposicional utiliza somente as frases ou sentenças declarativas, 
denominadas de proposição, que podem afirmar ou negar alguma coisa; a proposição possui um 
valor de verdade, que pode assumir como verdadeiro ou falso. As proposições podem ser simples ou 
compostas, necessitando, nas compostas, dos conectivos lógicos (e, ou, não) para serem avaliadas. 
Considerando os conceitos apresentados acima, assinale a alternativa que contempla uma 
proposição. 
 
d. Joana é professora de nível superior 
 
Para a construção da tabela verdade, devemos calcular o número de linhas 
necessárias para a construção da tabela em questão. O número de linhas é calculado 
pela representação e 2 na base n (2n), em que n representa o número de preposições 
do problema. 
 
 
A proposição a ser avaliada será ( p ^ q ) v (~r ); assim, teremos três preposições: p, q 
e r. Aplicando 2n, teremos 23, que é representado por 2 x 2 x 2 = 8, ou seja, 8 linhas 
são necessárias para a construção da tabela verdade para a proposição ( p ^ q ) v (~r ). 
 
 
Para facilitar a resolução da expressão, a tabela construída abaixo normalmente é 
necessária. Considerando os conectivos lógicos usuais ~, ^ e v e as proposições 
lógicas p, q e r, analise e preencha a tabela apresentada para 23 proposições, nas 
quais a coluna correspondente à proposição (p ^ q) v (~r ) conterá somente os valores 
V para Verdadeiro e F para Falso. 
 
 
Para auxiliar e facilitar a avaliação da expressão, quebre em partes; primeiro, deverão 
ser resolvidas as expressões entre os parênteses mais internos. A ordem para o 
problema proposto será: 
 
 
Análise 1 – resolva (p ^q) 
Análise 2 – resolva (~r) 
Análise 3 – resolva Resultado Análise 1 V Resultado da Análise 2. Assim, teremos o 
resultado da expressão (p ^ q) v (~r) que será preenchido na tabela a seguir. 
b. V-V-F-V-F-V-F-V. 
 
 
Realize o teste de mesa com os seguintes valores de entrada: 
 
Valor = 2.500,00 
Taxa_mes = 22% 
Dias = 12 
c. 2.720,00 
 
Considere os seguintes valores iniciais para as variáveis: a = 3, b = 2, c = 
2 e d = 4. Realize o teste de mesa e obtenha o valor da variável inteira x 
dos trechos de programa a seguir. 
 
24, 3 e 0. 
 
Realize o teste de mesa e identifique que valores serão escritos como 
saída para as variáveis a e i sendo lido 12 para a variável m? 
 
d. a = 1 e i = 1. 
 
A aplicação do teste de mesa nos permite validar o algoritmo desenvolvido e, conforme os erros que 
vão se apresentando, podemos corrigir e testar novamente com novos valores. Considerando o 
conceito e as características do teste de mesa , assim como os tipos de erros de sintaxe e semântica 
encontrados nos algoritmos, analise as sentenças a seguir. I – O ____________ tem por objetivo 
verificar a corretude do algoritmo. 
II – O erro de _________ representa erros de escrita de comandos. 
 
 
III – O erro de ____________ pode exibir comportamentos inadequados dos programas. 
 
 
IV – O erro de _________ impede a execução do algoritmo. 
 
 
V – O erro de _________ representa erros lógicos. 
 
 
Complete as sentenças conforme as alternativas apresentadas abaixo. É correta a ordem 
apresentada apenas em: 
d. Teste de mesa – sintaxe – semântica – sintaxe - semântica. 
 
Analise as alternativas de construção do teste de mesa para calcular 
a área de um quadrado. 
 
b. Todas as alternativas.

Outros materiais

Outros materiais