Buscar

GABARITOS OFICIAIS Linguagem de Programação (MAIS DE 100 DISCURSIVAS, OBJETIVAS, APOL E ATIVIDADES PRATICAS JUNTAS PARA FACILITAR NA HORA DE RESOLVER SUAS APOL E PROVAS) PODE CURTIR ALAN DIEK

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

Usando a linguagem de programação C/C++ escreva um programa que preenche um vetor de inteiros com 20 posições 
de números maiores ou iguais a 10 e menores que 100, e imprima o maior número armazenado neste vetor. Observe 
que, sempre que o usuário digitar um número fora do intervalo permitido o programa deverá solicitar outro número até 
que o vetor esteja preenchido. Observe também que o seu programa deverá imprimir, além do maior número 
armazenado, o vetor contendo os números digitados.
Page 1 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
main(){ 
 int vetor[20], i, maior = 0; 
 for(i=0;i<20;i++){ 
 printf("\n Informe o valor da posicao %d do vetor: ", i+1); 
 scanf("%d", &vetor[i]); 

Page 2 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
 if( (vetor[i] < 10 || vetor[i] >= 100) ){ 
 printf("\n Valor invalido para a posicao %d! \n", i+1); 
 i--; 
 }else{ 
 if(vetor[i] > maior){ 
 maior = vetor[i]; 
 } 
 } 
} 
 printf("\n Vetor digitado"); 
 for(i=0;i<20;i++){ 
 printf("\n Vetor[%d]:%d", i, vetor[i]); 
 } 
 printf("\n \n Maior valor digitado: %d", maior); 
}
Usando a linguagem de programação C/C++ escreva um programa que contenha uma função que retorna o seguinte: A 
função recebe 3 valores float e retorna o quadrado do 1º mais a soma dos outros dois. Observe que esta função deverá 
retornar um tipo float. O seu programa deverá ter esta função, permitir a digitação dos números, e imprimir tanto os 
números digitados quanto o resultado da função. 
Page 3 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
//funcão que recebe 3 valores float e retorna o quadrado do primeiro mais a soma dos outros dois 
float formula(float n1, float n2, float n3){ 
 return (n1*n2)+n2+n3; 
} 
main(){ 
float v1, v2, v3; 
printf("\n Informe o primeiro numero: "); 
scanf("%f", &v1); 
printf("\n Informe o segundo numero: "); 
scanf("%f", &v2); 
printf("\n Informe o terceiro numero"); 
scan("%f", &v3); 
printf("\n\n Os numeros digitados foram: %.2f, %.2f, %.2f", v1, v2, v3); 
printf("\n O resultado da formula: %.2f", formula(v1, v2, v3) ); 
}
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e 
imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco 

Page 4 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função 
para identificar se um caractere é vogal ou não.
Page 5 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 

Page 6 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Utilizando a linguagem de programação C/C++ o aluno deverá escrever um programa que receba uma matriz 3X3 e 
imprima tanto a matriz digitada quanto a sua inversa em uma janela de console.
Page 7 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/

Page 8 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
Utilizando a linguagem de programação C/C++, o aluno deverá escrever um programa que receba uma matriz 3X3 de 
números inteiros e imprima, na tela do console, tanto a matriz digitada quanto a diagonal principal da mesma.
Page 9 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 

Page 10 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Usando a linguagem de programação C/C++, escreva um programa que receba uma string de até 20 caracteres, conte o 
número de vogais existentes nesta string e imprima o número total de caracteres da string, o número de vogais nesta 
string e o percentual de vogais em relação ao comprimento da string.
Page 1 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
Usando a linguagem de programação C/C++ escreva um programa que armazene em um vetor de até 5 posições as 
informações de nome, idade e sexo. Sabendo que nome é uma string de até 50 caracteres, idade é um inteiro e sexo é 
um caractere e que estes dados devem ser armazenados em uma struct.

Page 2 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
struct pessoas{ 
char nome[50]; 
char sexo[1]; 
int idade; 
}cad; 
int main(){ 
struct cadastro pessoa; 
printf("Digite um nome:\n"); 
gets(cad.nome); 
printf("Digite um sexo (m/f):\n"); 
scanf("%c", &cad.sexo); 
printf("Digite uma idade:\n"); 
scanf("%c", &cad.idade); 
system("cls"); 

Page 3 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
printf("\nNome: %s", cad.nome); 
printf("\nIdade: %s", cad.idade); 
printf("\nSexo: %d", cad.sexo); 
system("pause"); 
return 0; 
}//final main
Utilizando a linguagem de programação C/C++, o aluno deverá escrever um programa que receba uma matriz 3X3 de 
números inteiros e imprima, na tela do console, tanto a matriz digitada quanto a diagonal principal da mesma.
Page 4 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
Utilizando a linguagem de programação C/C++ faça um programa que receba duas matrizes 3x3 e imprima, as duas 
matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas.

Page 5 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/

Page 6 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Page 7 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e 
imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco 
últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função 
para identificar se um caractere é vogal ou não.
Page 8 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 

Page 9 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Page 10 of 10AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Atividade Prática
 Nota: 96 
Disciplina(s):
Linguagem de Programação
Data de início:
Prazo máximo entrega:
Data de entrega:
Questão 1/5
Utilizando a linguagem de programação C/C++ faça um programa que receba duas matrizes 3x3 e imprima, as duas 
matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas.
Nota: 20.0
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
1 de 14 25/11/2016 18:24

AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
2 de 14 25/11/2016 18:24
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int matriz1[3][3] = {0}, matriz2[3][3]= {0}, diagonal[3][3] = {0};
int i, j, k;
printf("\n\nDigite os valores da matriz 01: ");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
printf("\nMatriz 01 Linha [%d] Coluna [%d]: ", i, j);
scanf_s("%d", &matriz1[i][j]);
}
}
printf("\n\nDigite os valores da matriz 02: ");
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
3 de 14 25/11/2016 18:24
for (i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
printf("\nMatriz 02 Linha [%d] Coluna [%d]: ", i, j);
scanf_s("%d", &matriz2[i][j]);
}
}
for (i=0; i<3; i++)
for (j=0; j<3; j++)
{
diagonal[i][j] = 0;
for (k=0; k<3; k++)
diagonal[i][j] = diagonal[i][j] + matriz1[i][k] * matriz2[k][j];
}
system("cls");
printf("\n\nDados da Matriz 01:\n\n");
for (i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
printf("[%d] ", matriz1[i][j]);
}
printf("\n");
}
printf("\n\nDados da Matriz 02:\n\n");
for (i=0; i<3; i++)
{
for (j=0; j < 3; j++)
{
printf("[%d] ", matriz2[i][j]);
}
printf("\n");
}
printf("\n\nResultado - Diagonal Principal:\n\n");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
if (i==j)
printf("\t[%d] ", diagonal[i][j]);
else
printf("\t[****]");
}
printf("\n");
}
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
4 de 14 25/11/2016 18:24
system("PAUSE");
return (0);
}
Questão 2/5
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e 
imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as 
cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter 
uma função para identificar se um caractere é vogal ou não.
Nota: 20.0
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
5 de 14 25/11/2016 18:24
Resposta:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
6 de 14 25/11/2016 18:24
int main(){
char texto[20];
char consoante[5];
char vogais[5] = { 'a', 'e', 'i', 'o', 'u' };
char 
int contVogal = 0;
int contConso = 0;
int tam, i;
printf("Digite uma frase: ");
gets_s(texto);
tam = srtlen(texto);
for(i=0; i < tam; i++){
if(texto[i] == vogais[1])
contVogal++;
else 
if(texto[i] == vogais[2])
contVogal++;
else
if(texto[i] == vogais[3])
contVogal++;
else
if(texto[i] == vogais[4])
contVogal++;
else
if(texto[i] == vogais[5])
contVogal++;
else
contConso++;
consoante[i] = texto[i];
}
printf("\nFrase Digitada: ", texto);
printf("\nQuantidade de Vogal: ", contVogal);
printf("\nVogais -> ", vogais);
printf("\nQuantidade de Consoante: ",contConso);
printf("\nConsoantes -> ", consoante);
}
Questão 3/5
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 50 caracteres, um 
carctere específico e devolve o número de ocorrências deste caractere na string digitada. Não esqueça que o 
programa deverá imprimir a string, o carctere e o número de ocorrências.
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
7 de 14 25/11/2016 18:24
Nota: 20.0
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
8 de 14 25/11/2016 18:24
Resposta:
#include <stdio.h>
main()
{
char texto[50], c;
int i, ocor;
printf("Informe uma string de ate 50 caracteres");
gets(texto);
printf("\nInforme o caractere para pesquisar:");
scanf("%c",&c);
ocor=0;
for(i=0;i<50;i++)
{
if (texto[i]==c)
{
ocor++;
}
}

AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
9 de 14 25/11/2016 18:24
printf("\nString digitada: %s", texto);
printf("\nCaractere digitado: %c", c);
printf("\nNumero de ocorrencias do caractere na string: %d", ocor);
}
Questão 4/5
Usando a linguagem de programação C/C++ escreva um programa que contenha uma função que retorna o 
seguinte: A função recebe 3 valores float e retorna o quadrado do 1º mais a soma dos outros dois. Observe que esta 
função deverá retornar um tipo float. O seu programa deverá ter esta função, permitir a digitação dos números, e 
imprimir tanto os números digitados quanto o resultado da função. 
Nota: 20.0
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
10 de 14 25/11/2016 18:24
Resposta:
#include <stdio.h>
main() {
float formula(float n1, float n2, float n3)
{
return (n1*n1)+n2+n3;
}
float v1,v2,v3;
printf("\nInforme o prim. numero: ");
scanf("%f", &v1);
printf("\nInforme o seg. numero: ");
scanf("%f", &v2);
printf("\nInforme o terc. numero: ");
scanf("%f", &v3);
printf("\n\nOs numeros digitados foram: %.2f, %.2f, %.2f",v1,v2,v3);
printf("\nResultado da formula: %.2f",formula(v1,v2,v3));

AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
11 de 14 25/11/2016 18:24
}
Questão 5/5
Utilizando a linguagem de programação C/C++, o aluno deverá escrever um programa que receba uma matriz 3X3 
 de números inteiros e imprima, na tela do console, tanto a matriz digitada quanto a diagonal principal da mesma.
Nota: 16.0
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
12 de 14 25/11/2016 18:24
Resposta:
#include <stdio.h>
#include <stdlib.h>
void main(){
int minhaMatriz[3][3];
int linha, coluna;
for(linha=0; linha<3; linha++)
{

AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
13 de 14 25/11/2016 18:24
for(coluna=0; coluna<3; coluna++)
{
printf("Linha e Coluna: [%d][%d]", linha, coluna);
scanf("%d", &minhaMatriz[linha][coluna]);
}
}
printf("\n\n");
printf("------------------------------\n");
printf("Diagonal Principal digitada: \n");
printf("------------------------------\n");
for(linha=0; linha<3; linha++)
{
for(coluna=0; coluna<3; coluna++)
{
if(coluna==linha)
{
printf("%5d", minhaMatriz[linha][coluna]);
}
}
}
printf("\n\n");
printf("------------------------------\n");
system("PAUSE");
}
AVA UNIVIRTUS http://univirtus-277877701.sa-east-1.elb.amazo...
14 de 14 25/11/2016 18:24
Usando a linguagem de programação C/C++ escreva um programa que recebe o nome, com até 50 caracteres de um 
aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo no seu disco. Observe que a nota deverá 
estar entre zero e dez e números reais são permitidos.
Page 1 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Alan Diek Guimarães
Caixa de texto
Alan Diek Guimarães
Caixa de texto
Alan Diek Guimarães
Caixa de texto
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
void limpaTela(void) 
{ 
 system("cls"); 
 return; 
} 
struct turma 

Page 2 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
{ 
 char nome[51]; 
 float nota; 
}; 
int main() 
{ 
int numAlunos = 0, i; 
struct turma A[50]; 
INICIO: 
printf("\n\nQual a quantidade de alunos (max. 50): "); 
scanf_s("%d", &numAlunos); 
getchar(); 
if (numAlunos < 50) 
{ 
limpaTela(); 
printf("\n\nPor favor, insira um numero menor do que 50: "); 
goto INICIO; 
} 
limpaTela(); 
printf("\n\nA Turma A tem %d alunos.", numAlunos); 
for (i = 0; i < numAlunos; i++) 
{ 
printf("\n\nInforme o primeiro nome do aluno[%d]: ",i + 1); 
gets_s(A[i].nome); 
printf("\nInforme a nota de %s: ", A[i].nome); 
scanf_s("%f", &A[i].nota); 
getchar(); 
while (A[i].nota < 0 || A[i].nota > 10) 
{ 
printf("\n\tATENCAO: \n\tA nota deve estar entre 0 e 10\n\n"); 
printf("\n\tInforme uma nova nota para %s", A[i].nome); 
scanf_s("%f", &A[i].nota); 
getchar(); 
} 
} 
FILE *boletim; 
fopen_s(&boletim, "boletim.txt", "w"); 
if (!boletim) 
{ 
printf("Erro ao criar o arquivo boletim.txt"); 
system("PAUSE"); 
exit(0); 
} 
fprintf(boletim, "\n\n*****BOLETIM DA TURMA A*****"); 
fprintf(boletim,"\n\nAluno \tNota"); 
for(i = 0; i < numAlunos; i++) 
{ 
fprintf(boletim, "\n%s", A[i].nome); 
fprintf(boletim, "\t$.1f", A[i].nota); 
} 
fclose(boletim); 
Page 3 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
limpaTela(); 
printf("BOLETIM DA TURMA A"); 
printf("\n\nAluno \tNota"); 
for (i = 0; i < numAlunos; i++) 
{ 
printf("\n%s", A[i].nome); 
printf("\t%.1f", A[i].nota); 
} 
printf("\n\nArquivo Salvo em \"boletim.txt\" \n\n"); 
system("PAUSE"); 
return 0; 
}
Utilizando a linguagem de programação C/C++ faça um programa que receba duas matrizes 3x3 e imprima, as duas 
matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas.
Page 4 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/

Page 5 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Page 6 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
1#include <stdio.h> 
#include <stdlib . h> 
1/ "' 
* Não está definido no enunciado se o aluno deve usar inteiros ou reais . 
* A forma que o aluno usar para recolher os valores da matriz e para imprimir estes valores 
* Não é relevante para esta questão. 
* / 
1int main () 
i nt a [3] [3] { O }, b [3] [3 ] = { O }, mult[3 ) [3) { o } ; 
i nt i , j, k; 
system ( "els" ) ; / / apenas para limpar a tela, 
//Digitação da primeira matriz, o aluno pode usar a forma que quiser 
printf ( "Digite os e l ementos da p r imeira matriz \ n" ) ; 
for (i = O; i < 3; i ++ ) { 
for (j = O; j < 3; j++ } 
printf ( " \ nDigite o elemento a [%d) [%d]: " i , ) ; 
scanf_ s ( "%d" , &a[i )( j) ) ; 
//Digitação da Segunda matriz, o aluno pode usar a forma que quiser 
printf ( "Digite os e l ementos da segunda matriz : \ n" ) ; 
for (i = O; i < 3; i ++ ) { 
for (j = O; j < 3; j++) 
printf ( " \ n Digite o elemento b[%d) ( %d ] : " i, ) ; 
:,canf _ :, ( "'!.d" , &b ( i J ( j J ) ; 
//Impressão da primeira matriz, o aluno pode usar a forma que quiser 
printf ( " \ n \ n A Primeira matriz digitada foi : \ n" ) ; 
for (i = O; i < 3; i ++ ) { 
for (j = O; j < 3; j++) 
printf ( "%d\ t" , a[i ) ( j) ) ; 
printf ( " \ n" ) ; 
//Impressão da segunda matriz, o aluno pode usar a forma que quiser 
printf ( " \ n \ nA segunda matriz d igitada foi: \ n" ) ; 
for (i = O; i < 3; i ++ ) { 
for (j = O; j < 3; j++) 
printf ( "%d\ t" , b[ i J ( j) ); 
printf ( " \ n" ) ; 
/ / vale 101 
/ / vale 101 
/ / vale 151 
/ / vale 151 
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
float m1[3][3] = {0}, m2[3][3] = {0}, mr[3][3] = {0}; 
int i, j, k; 
printf("\nInforme os valores da primeira matriz: "); 
for (i = 0; i < 3; i++) 
{ 
for (j = 0; j < 3; j++) 
{ 
printf("\nMatriz[%d][%d]: ", i, j); 
scanf_s("%f", &m1[i][j]); 
} 
} 
system("cls"); 
printf("\nInforme os valores da segunda matriz: "); 
for (i = 0; i <3; i++) 
{ 
Page 7 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
for (j = 0; j < 3; j++) 
{ 
printf("\nMatriz[%d][%d]: "); 
scanfs_s("%f", &m2[i][j]); 
} 
} 
for (i = 0; i < 3; i++) 
for (j = 0; j < 3; j++) 
{ 
mr[i][j] = 0; 
for (k = 0; k <3; k++) 
mr[i][j] = mr[i][j] + m1[i][k] * m2[k][j]; 
} 
system("cls"); 
printf("\nResultado"); 
printf("\n\nPRIMEIRA MATRIZ M1:\N\N"); 
for (i = 0; i < 3; i++) 
{ 
for (j = 0; j < 3; j++) 
{ 
printf("[%.1f", m1[i][j]); 
} 
printf("\n"); 
} 
printf("\n\nSEGUNDA MATRIZ M2\n\n"); 
for(i = 0; i < 3; i++) 
{ 
for(j = 0; j < 3; j++) 
{ 
printf("[%.1f", m2[i][j]); 
} 
printf("\n"); 
} 
printf("\n\nDIAGONAL PRINCIPAL RESULTANTE DO PRODUTO ENTRE M1 E M2: \n\n"); 
for (i = 0; i < 3; i++) 
{ 
for (j = 0; j < 3; j++) 
{ 
if (i == j) 
printf("\t%.1f", mr[i][j]); 
else 
printf("\t[####]"); 
} 
printf("\n"); 
} 
system("PAUSE"); 
return 0; 
}
Page 8 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Usando a linguagem de programação C/C++ escreva um programa que armazene em um vetor de até 5 posições as 
informações de nome, idade e sexo. Sabendo que nome é uma string de até 50 caracteres, idade é um inteiro e sexo é 
um caractere e que estes dados devem ser armazenados em uma struct.
Page 9 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
struct cadastro 
{ 
char nome [50]; 
float idade; 
char sexo; 
}; 
int main() 
{ 
struct cadastro A[5]; 
int i; 
for (i = 0; i < 5; i ++) 
{ 
printf("\n\nCADASTRO NUMERO: %d", i +1); 
printf("\n\nNOME: "); 
gets_s(A[i].nome); 
printf("\nIDADE: "); 

Page 10 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
scanf_s("%d", &A[i].idade); 
getchar(); 
printf("\nSEXO: "); 
scanf_s("%c", &A[i].sexo); 
getchar(); 
} 
system("cls"); 
printf("\n\n\nPESSOAS CADASTRADAS"); 
for (i = 0; i < 5; i++) 
{ 
printf("\n\nCadastro numero: %d", i + 1); 
printf("\nNOME: %s", A[i].nome); 
printf("\nIDADE: %d", A[i].idade); 
printf("\nSEXO: %c\n\n", A[i].sexo); 
} 
system("PAUSE"); 
return 0; 
} 
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e 
imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco 
últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função 
para identificar se um caractere é vogal ou não.
Page 11 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 

Page 12 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
int ehVogal( char letra) 
{ 
if ( 
letra == 'a' || letra == 'A' || 
letra == 'e' || letra == 'E' || 
letra == 'i' || letra == 'I' || 
letra == 'o' || letra == 'O' || 
letra == 'u' || letra == 'U') 
return 1; 
else 
return 0; 
} 
int main() 
{ 
char frase[21], vogalInicio[6]; vogalFinal[6]; 
int tamFrase, cont = 0, i; 
printf("\n\nEscreva uma palavra ou frase (MAX de 20 letras): "); 
gets_s(frase); 
tamFrase = strlen(frase); 
for (i = 0; (cont < 5) && (i < tamFrase); i++) 
{ 
if (ehVogal(frase[i]) == 1) 
{ 
vogalInicio[cont] = frase[i]; 
cont++; 
} 
} 
vogalInicio[cont] = '\0'; 
cont = 0; 
for (i = tamFrase; (cont < 5) && (i >=0); i--) 
{ 
if (ehVogal(frase[i]) == 1) 
{ 
vogalFinal[cont] = frase[i]; 
cont++; 
} 
} 
vogalFinal[cont] = '\0'; 
system("cls"); 
printf("\n\n\nRESULTADO"); 
printf("\n\n\nVogais no inicio da frase %s: ", frase); 
for(i = 0; vogalInicio[i] != NULL; i++) 
printf("%c ", vogalInicio[i]); 
printf("\n\n\nVogais no final da frase: "); 
for(i = 0; vogalFinal[i] != NULL; i++) 
printf("%c ", vogalFinal[i]); 
printf("\n\n"); 
Page 13 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
system("PAUSE"); 
return 0; 
}
Usando a linguagem de programação C/C++, escreva um programa que receba uma string de até 20 caracteres e 
imprima a string digitada e esta mesma string em odem inversa com todas as vogais substituidas pelo caractere @.
Page 14 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
void limpaTela(void) 
{ 
system("cls"); 
return; 
} 
int ehVogal(char letra) 
{ 
if (letra == 'a' || letra == 'A' || 
letra == 'e' || letra== 'E' || 
letra == 'i' || letra == 'I' || 
letra == 'o' || letra == 'O' || 
letra == 'u' || letra == 'U') 
return 1; 
else 
return 0; 
} 

Page 15 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
int main() 
{ 
char string[21], stringInversa[21]; 
int i, tamStrin, reg; 
printf("\n\nDigite uma palavra ou frase (Max 20 caracteres): "); 
gets_s(string); 
tamString = strlen(string) - 1; 
reg = 0; 
for (i = tamString; i >=0; i--) 
{ 
if (ehVogal(strint[i]) == 1) 
{ 
stringInversa[reg] = '@'; 
reg++; 
} 
else 
{ 
stringInversa[reg] = string[i]; 
reg++; 
} 
} 
stringInversa[reg] = '\0'; 
limpaTela(); 
printf("\n\nSTRING ORIGINAL: \n%s", string); 
printf("\n\nString Invertida e com as vogais alteradas:\n%s", stringInversa); 
system("PAUSE"); 
return 0; 
}
Page 16 of 16AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Usando a linguagem de programação C/C++ escreva um programa de imprima a soma dos 10 primeiros números pares 
entre 1 e 100. Observe que seu programa deverá ter uma função para indicar se um número é par, imprimir os números 
selecionados e a soma solicitada.
Page 1 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Alan Diek Guimarães
Caixa de texto
Alan Diek Guimarães
Caixa de texto
Alan Diek Guimarães
Caixa de texto
Resposta: 
#include <stdio.h> 
main() { 
 int sel[10], i, j, k; 
 //função para indica se um número é par 
 int eh_par(int n) { 
 if ( (n%2) == 0 ) 
 return 1; 
 else 
 return 0; 
 } 
 //função para imprimir os números selecionados 
 void imprime_sel() { 
 printf("Numeros selecionados:\n"); 
 for (i = 0; i<10; i++) 
 printf("%i\n",sel[i]); 
 } 
 //função para imprimir a soma solicitada 
 void imprime_soma_sel() { 
 int soma = 0; 
 printf("Soma dos numeros selecionados:\n"); 
 for (i=0; i<10; i++) 
 soma = soma + sel[i]; 
 printf("%i\n", soma); 

Page 2 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
 } 
 k=0; 
 for(j=1;j<=100;j++) { 
 if (eh_par(j) == 1) { 
 sel[k] = j; 
 k++; 
 if (k==10) 
 break; 
 } 
 } 
 imprime_sel(); 
 printf("\n"); 
 imprime_soma_sel(); 
}
Usando a linguagem de programação C/C++ escreva um programa que contenha uma função que retorna o seguinte: A 
função recebe 3 valores float e retorna o quadrado do 1º mais a soma dos outros dois. Observe que esta função deverá 
retornar um tipo float. O seu programa deverá ter esta função, permitir a digitação dos números, e imprimir tanto os 
números digitados quanto o resultado da função. 
Page 3 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
main() { 
 //função que recebe 3 valores float e retorna o quadrado do 1º mais a soma dos outros dois. 
 float formula(float n1, float n2, float n3) { 
 return (n1*n1)+n2+n3; 
 } 
 float v1, v2. v3; 
 printf("\nInforme o primeiro numero:"); 
 scanf("%f",&v1); 
 printf("\nInforme o segundo numero:"); 
 scanf("%f",&v2); 
 printf("\nInforme o terceiro numero:"); 
 scanf("%f",&v3); 
 printf("\n\nOs numeros digitados foram: %.2f , %.2f , %.2f", v1, v2, v3); 
 printf("\nResultado da formula: %.2f", formula(v1,v2,v3) ); 
}
Utilizando a linguagem de programação C/C++ o aluno deverá escrever um programa que receba uma matriz 3X3 e 
imprima tanto a matriz digitada quanto a sua inversa em uma janela de console.

Page 4 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/

Page 5 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
main() { 
 int i,j,k,l,m,n; 
 float det; 
 int m1[3][3], m2[3][3], aux[2][2]; 
 printf("Informe a matriz 3x3:\n"); 
 for (i=0;i<3;i++) { 
 for (j=0;j<3;j++) { 
 printf("linha %d - coluna %d : ",i+1,j+1); 
 scanf("%d",&m1[i][j]); 
 } 
 } 
 printf("\nMatriz informada: \n"); 
 for (i=0;i<3;i++) { 
 for (j=0;j<3;j++) { 
 printf("%d ",m1[i][j]); 
 } 
 printf("\n"); 
 } 
 //calcula a matriz inversa usando matriz adjunta 
 //Passo1: calculo do determinante por Regra de Sarrus 
Page 6 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
 det = (m1[0][0]*m1[1][1]*m1[2][2] + m1[0][1]*m1[1][2]*m1[2][0] + m1[0][2]*m1[1][0]*m1[2][1]); 
 det = det - (m1[0][2]*m1[1][1]*m1[2][0]+m1[0][0]*m1[1][2]*m1[2][1]+m1[0][1]*m1[1][0]*m1[2][2]); 
 if (det == 0 ) { 
 printf("\nO determinante desta matriz e zero, entao a matriz nao pode ser invertida"); 
 } 
 else { 
 //Passo2: matriz de cofatores 
 for (i=0;i<3;i++) { 
 for (j=0;j<3;j++) { 
 m=0; 
 for (k=0;k<3;k++) { 
 n=0; 
 for(l=0;l<3;l++) { 
 if ((k!=i)&&(l!=j)) { 
 aux[m][n] = m1[k][l]; 
 n++; 
 } 
 } 
 if (k!=i) 
 m++; 
 } 
 m2[i][j] = ((aux[0][0]*aux[1][1]) - (aux[1][0]*aux[0][1])); 
 if ((i+1j+1)%2!=0 
 m2[i][j] = -1 * m2[i][j]; 
 } 
 } 
 printf("\nMatriz Inversa: \n"); 
 for(i=0;i<3;i++) { 
 for (j=0;j<3;j++) { 
 printf("%.2f ", (1/det)*m2[i][j]); 
 } 
 printf("\n"); 
 } 
 } 
}
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 50 caracteres, um 
carctere específico e devolve o número de ocorrências deste caractere na string digitada. Não esqueça que o programa 
deverá imprimir a string, o carctere e o número de ocorrências.
Page 7 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
main { 
 char texto[50], c; 
 int i, ocor; 
 printf("Informe uma string de ate 50 caracteres: "); 
 gets(texto); 
 printf("\nInforme o caracter para pesquisar: "); 
 scanf("%c",&c); 
 ocor = 0; 
 for (i=0;i<50;i++) { 
 if (texto[i] == c) { 
 ocor++; 
 } 
 } 
 printf("\nString digitada: %s", texto); 
 printf("\nCaracter digitado: %c", c); 
 printf("\nNumero de ocorrencias do caracter na string: %d", ocor); 
}

Page 8 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Usando a linguagem de programação C/C++ escreva um programa que preenche um vetor de inteiros com 20 posições 
de números maiores ou iguais a 10 e menores que 100, e imprima o maior número armazenado neste vetor. Observe 
que, sempre que o usuário digitar um número fora do intervalo permitido o programa deverá solicitar outro número até 
que o vetor esteja preenchido. Observe também que o seu programa deverá imprimir, além do maior número 
armazenado, o vetor contendo os números digitados.
Page 9 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
#include <stdio.h> 
main() { 
 int vetor[20], i, maior = 0; 
 for (i=0; i<20; i++) { 
 printf("\nInforme o valor da posicao %d do vetor: ",i+1);scanf("%d",&vetor[i]); 
 if ((vetor[i] <10) || (vetor[i] >= 100)) { 

Page 10 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
 printf("\nValor Invalido para a posicao %d !\n",i+1); 
 i--; 
 } 
 else { 
 if (vetor[i] >maior) { 
 maior = vetor[i]; 
 } 
 } 
 } 
 printf("\nVetor digitado:"); 
 for(i=0;i<20;i++) { 
 printf("\nvetor[%d]:%d",i,vetor[i]); 
 } 
 printf("\n\nMaior valor digitado: %d", maior); 
}
Page 11 of 11AVA UNIVIRTUS
25/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Considerando o código a seguir, o que será impresso na tela se o seu nome completo for digitado como entrada:
Para conseguir completar esta questão você deverá escrever tudo que será impresso na tela do console do Windows se 
seu nome completo for usado como entrada.
Resposta: 
otnemicsaN aneS onnurB
O código a seguir deveria permitir a entrada de um vetor de inteiros com até 8 posições e um número inteiro como 
argumento de busca. Em seguida, o programa construido com este código deveria dizer em que posição do vetor este 
O aluno deverá digitar o próprio nome na ordem correta, o próprio nome com os caracteres em ordem inversa e a frase: 
Pressione qualquer tecla para sair... 
A linha de entrada de dados é irrelevante para a nota.

Page 1 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
número se encontra e em que ordem este número foi digitado. Mas, por alguma razão, este código não funciona. 
Para cumprir esta tarefa você deverá escrever a linha de código corrigida para que o programa construido com este 
código funcione como esperado.
Page 2 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
Você foi encarregado de fazer um programa que gere números aleatórios, para simular um dado durante 20 jogadas. O 
seu programa deverá mostrar os números sorteados e a frequência com que apareceram. Depois de muito pesquisar 
sem grandes resultados, um dos seus colegas de tabalho lhe enviou o seguinte código: 
O aluno deverá escrever apenas a linha correta marcada com comentário, no código a seguir: 
Page 3 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Infelizmente falta uma parte deste código.
Você deverá escrever as linhas que faltam para que o programa funcione.
Page 4 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Resposta: 
switch(x){ 
case 1: c1++; break; 
case 2: c2++; break; 
case 3: c3++; break; 
case 4: c4++; break; 
case 5: c5++; break; 
case 6: c6++; break; 
}

Page 5 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Considerando o programa a seguir:
Digite qual será a saída na tela do console se a entrada for 1, 2. 3, 4.
Resposta: 
Linha: 1 13 
Linha: 2 24 
Linha: 1 412 
Linha: 2 816
Você foi encarregado de fazer um programa que receberá quantos números o usuário quiser digitar e devolverá o maior e 
o menor entre eles. Para isso você recebeu o seguinte código: 
O aluno pode optar por não escrever as quatro linhas referentes a entrada dos dados.
A formatação não é relevante para a nota, o texto, por outro lado é relevante 
Linha 1: 1 3
Linha 2: 2 4
Linha 1: 4 12
Linha 2: 8 16
Pressione qualquer tecla para continuar. . .

Page 6 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Sel alterar o código indicado, digite as linhas que faltam para cumprir a tarefa.
Resposta: 
for(x=1; x<=numero; x++){ 
}

Page 7 of 7AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Conforme abordado nas aulas, a palavra reservada struct indica ao compilador que está sendo criada uma estrutura.
Neste contexto, assinale a alternativa que corresponde a forma correta para declarar uma variável chamada var de um 
struct denominado str:
A str var;
B struct str var;
C var str;
D str struct var;
E str var struct.
Conforme abordado nas aulas, a palavra reservada struct indica ao compilador que está sendo criada uma estrutura.
Neste contexto, assinale a alternativa correta, que corresponde ao local do programa em que uma estrutura deve ser 
declarada:
A Dentro da função main;
B Após a função main;
C Dentro de uma função do tipo struct;
D Após a inclusão das bibliotecas e antes da função main;
E Dentro de um função que retorne um dado do tipo struct.
Você acertou!
Conteúdo apresentado no slide 12/21 da Aula 05.

Você acertou!
Conteúdo apresentado no slide 09/21 da Aula 05.

Page 1 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Conforme abordado nas aulas, a palavra reservada struct indica ao compilador que está sendo criada uma estrutura.
Neste contexto, analise atentamente a instrução apresentada abaixo:
struct endereco{
 char nome[30];
char rua[40];
long int cep;
};
gets(end.nome);
Assinale a alternativa que corresponde ao resultado obtido após a execução do fragmento de código contendo a 
instrução gets apresentada acima, tendo end como uma variável da struct endereco, considerando que este fragmento de 
código está em um programa que funciona sem nenhum problema.
A Será lido os dados da variável nome da struct endereco;
B Será removido os dados da variável nome da struct endereco;
C Será adicionada a variável nome na struct endereco;
D Será copiado os dados variável nome da struct endereco;
E Será adicionado os dados informados pelo usuário na variável nome da struct endereco.
Além das expressões de controle, também é possível utilizar na sintaxe da função printf() códigos especiais que permitem 
a melhor visualização na tela do usuário.
Análise os códigos especiais que podem ser utilizados na sintaxe da função printf() apresentados abaixo.
I. \n
II. \t
III. \b
IV.\”
V. \0
Relacione os códigos apresentados acima com a sua descrição na coluna abaixo.
( ) Retrocesso;
( )Tabulação;
( ) Nulo;
( ) Nova linha;
( ) Aspas.
Assinale a alternativa que contém a sequência correta:
Você acertou!
Conteúdo apresentado no slide 14/21 da Aula 05.

Page 2 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
A III, II, V, I, IV;
B V, II, IV, I, III;
C II, I, IV, V, III;
D I, II, III, IV, V;
E IV, III, I, V, II.
Dentre os métodos de implementação de tradução do código-fonte em linguagem de máquina para execução estão a 
compilação, interpretação pura e híbrido.
Com relação aos métodos de implementação de linguagem de programação, assinale a alternativa correta que 
corresponde ao método de interpretação pura:
A Combina tanto a execução eficiente quanto a portabilidade de programas pela aplicação combinada dos 
métodos de compilação e interpretação;
B Efetua em seu processo a tradução integral do programa fonte para o código de máquina;
C Processa todos os códigos na memória e armazena os resultados em um computador virtual;
D Destina-se a simular um computador virtual capaz de entender as instruções da linguagem de 
programação;
E Todas as alternativas estão corretas.
Na linguagem C, um arquivo é entendido como um conceito que pode ser aplicado a arquivos em disco, terminais, 
modens, etc... Um fluxo é associado a um arquivo através da realização de uma operação de abertura. Uma vez aberto, 
informações podem ser trocadas entre o arquivo e o programa. Um arquivo é dissociado de um fluxo através de uma 
operação de fechamento de arquivo.
Com relação aesta definição, assinale a alternativa correta que corresponde a definição das funções fread e fwrite 
respectivamente:
A Finaliza um arquivo e inicializa um arquivo;
Você acertou!
Conforme abordado na página 02 da Rota de Aprendizagem da Aula 02, a alternativa correta é a alternativa A.

Você acertou!
Conforme apresentado na página 05 da Rota de Aprendizagem da Aula 01, o método de interpretação pura 
destina-se a simular um computador virtual capaz de entender as instruções da linguagem de programação.

Page 3 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
B Lê um bloco e dados e escreve em um bloco de dados;
C Verifica se está no início de um arquivo e verifica se o arquivo chegou ao fim;
D Insere os dados lidos do teclado em um arquivo e remove os dados de um arquivo;
E Cria um novo arquivo e remove um arquivo existente.
Como paradigmas de linguagem de programação chamamos um conjunto de características que serve para classificar 
um grupo de linguagens. Várias são as classificações dos paradigmas de linguagem de programação, porém a mais 
conhecida é a que divide estes em imperativo, estruturado, orientado a objetos, funcional e lógico.
Com base nos paradigmas de linguagem de programação, assinale a alternativa correta que corresponde a definição do 
paradigma orientado a objetos:
A As linguagens de programação se caracterizam por operarem apenas sobre funções, as quais recebem listas 
de valores e retornam um determinado valor;
B Vários processos executam simultaneamente e concorrem por recursos;
C É totalmente baseado em linguagens lógicas que são baseadas em subconjuntos do cálculo de predicados;
D Engloba os conceitos fundamentados na computação como um processo que realiza mudanças de estados;
E O principal objetivo é utilizar os conceitos de objetos no desenvolvimento dos programas para torná-
los mais rápidos e confiáveis.
As Strings podem ser definidas como vetores de chars. Desta forma, as strings são o uso mais comum para os vetores, 
tendo a biblioteca padrão do C diversas funções que as manipulam.
Com relação as funções de Strings, analise atentamente o fragmento de código referente a função main na linguagem C 
apresentado abaixo:
Você acertou!
Conteúdo apresentado na página 07 da Rota de Aprendizagem da Aula 06.

Você acertou!
Conforme apresentado na página 08 da Rota de Aprendizagem da Aula 01, no paradigma orientado a objetos, o 
principal objetivo é utilizar os conceitos de objetos no desenvolvimento dos programas para torná-los mais rápidos 
e confiáveis.

Page 4 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Com base no código apresentado acima, assinale a alternativa que apresenta a saída correta deste programa:
A Entre com uma string
B Veja o que está impresso: 
C Veja o que está impresso: Uma string desconhecida
D Uma string desconhecida
E Veja o que está impresso: "e a string que você digitou"
De acordo com a definição de matrizes e vetores abordado nas aulas, analise atentamente o código fonte apresentado 
abaixo:
#include <stdio.h>
int main()
{
 int mtrx[20][10];
 int i, j, count;
 count = 1;
 for(i=0; i<20; i++)
 for(j=0; j<10; j++)
 {
 mtrx[i][j]=count;
 count++;
 }
 return(0);
}
Com base no código fonte apresentado acima, assinale a alternativa correta que corresponde ao resultado após a 
execução desse código fonte:
A É removido da matriz mtrx todos os dados existentes;
B A matriz mtrx é preenchida, sequencialmente por linhas, com os números de 1 a 20;
C A matriz mtrx é preenchida, sequencialmente por linhas, com os números de 1 a 200;
D A matriz mtrx é preenchida, sequencialmente por colunas, com os números de 1 a 200;
E A matriz mtrx é preenchida, sequencialmente por colunas, com os números de 1 a 20.
Você acertou!
Conforme apresentado na página 03 da Rota de Aprendizagem da Aula 04, a String Entre com uma string: é 
armazenada na variável str1, será copiada a variável str2, em seguida a String Você digitou a string é copiada 
para a variável str3, e finalmente primeiro é impresso o conteúdo da variável str3 para em seguida ser impresso 
da variável str2. Portanto a resposta correta é a alternativa C.

Você acertou!
Conforme apresentado na página 07 da Rota de Aprendizagem da Aula 03, a alternativa correta é a alternativa C.

Page 5 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
Conforme abordado nas aulas, a palavra reservada struct indica ao compilador que está sendo criada uma estrutura.
Neste contexto, analise atentamente a definição da struct abaixo:
struct endereco{
 char nome[30];
char rua[40];
long int cep;
};
Assinale a alternativa que corresponde a forma correta para inicializar o CEP da variável end, que é uma variável da 
struct endereço com o valor 12345:
A end.cep = 12345;
B cep.end = 12345;
C struct end.cep = 12345;
D struct cep.end = 12345;
E end.cep struct [12345].
Você acertou!
Conteúdo apresentado no slide 13/21 da Aula 05.

Page 6 of 6AVA UNIVIRTUS
26/11/2016http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/
20/10/2016 AVA UNIVIRTUS 
 
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/99305/novo/1 1/3 
APOL 1 
 Nota: 100 
Disciplina(s): 
Linguagem de Programação 
Data de início: 23/09/2016 11:18 
Prazo máximo entrega: - 
Data de entrega: 23/09/2016 11:27 
 
Questão 1/5 
Conforme abordado na Aula 1, todo e qualquer código, independente da linguagem de programação em que esteja escrito, 
necessita ser traduzido para uma linguagem de máquina para que possa ser executado. Para isso, faz-se necessário o 
uso de um conjunto de programas que recebe o código-fonte escrito em uma linguagem de programação e o traduz para 
código de execução, escrito em uma linguagem de máquina. 
Com base no que foi exposto no enunciado da questão, assinale a alternativa correta que corresponde à como são 
definidos os métodos de translação da linguagem de programação em linguagem de máquina: 
A Estruturado, compilado e híbrido; 
B Compilação, interpretação pura e híbrido; 
Você acertou! 
Conforme abordado na Rota de Aprendizagem e Slides 16/42 e 17/42 da Aula 1, dentre os métodos de 
implementação de tradução do código-fonte em linguagem de máquina para execução estão a compilação, 
interpretação pura e híbrido. 
C Híbrido, estruturado e orientado a objetos; 
D Estruturado, Orientado a Objetos e Híbrido; 
E Concorrente, funcional e interpretação pura. 
 
Questão 2/5 
De acordo com o conteúdo abordado na Aula 2, a instrução while (também conhecida como laço while) executa uma 
instrução ou bloco de instruções sempre testando a validade da condição no início do bloco. 
Com base nos conceitos apresentados acima, assinale a alternativa que apresenta os conceitos corretos em relação a 
instrução while: 
 
B Se o resultado da avaliação for verdadeiro o laço é executado; 
Você acertou! 
Conforme apresentado na Rota de Aprendizagem e slide 30/38 da Aula 2, a instrução while realiza o teste no início 
da estrutura de bloco e, os comandos internos ao while somente serão executados se o teste for verdadeiro e 
enquanto o teste for verdadeiro. 
C A condição será avaliada, ou não, dependendo do conteúdo do bloco while; 
D A condição só será avaliada se o resultado da condição for verdadeiro; 
A S e o r e s u l t a d o d a a v a l i a ç ã o f o r f a l s o o l a ç o é e x e c u t a d o ; 
20/10/2016 AVA UNIVIRTUS 
 
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/99305/novo/1 2/3 
E Emlaços while, a condição é executada pelo menos uma única vez. 
 
Questão 3/5 
De acordo com o exposto no conteúdo da Aula 1, Independentemente de como é seguido o processo de desenvolvimento 
de software, é interessante que as linguagens de progrmação apresentem um conjunto de 
características interessantes e desejáveis: legibilidade, redigibilidade, confiabilidade, eficiência, facilidade de aprendizado, 
ortogonalidade, reusabilidade, modificabilidade e portabilidade. 
Com base na definição apresentada no enunciado da questão, assinale a alternativa correta que corresponde as 
características da propriedade de legibilidade de uma linguagem de programação. 
A Caracteriza a facilidade de leitura e entendimento de um determinado código; 
Você acertou! 
Conforme apresentado na Rota de Aprendizagem e Slide 09/42 da Aula 1, legibilidade trata da facilidade para se 
ler e entender um determinado programa. Quanto mais fácil for entender e seguir suas instruções, mais fácil será 
de entender o que está sendo feito, bem como de descobrir possíveis erros de programação. 
Exemplo: media = (nota1 
+ nota 2)/2; 
No exemplo é possível entender que a instrução se trata de calcular a média com base na soma de duas notas 
(1 e 2). Desta forma, pode-se dizer que este trecho do código apresenta uma boa legibilidade. 
B Característica da linguagem de programação que indica se o processo de aprendizado da linguagem é 
simples e fácil; 
C Possibilita ao programador combinar os conceitos básicos da linguagem de programação sem que sejam 
produzidos efeitos distorcidos resultantes desta combinação; 
D Possibilita reutilizar o mesmo código para a solução de diversos problemas; 
E Possibilita ao programador se dedicar aos aspectos mais relevantes da solução do problema. 
 
Questão 4/5 
Em códigos escritos em C, podemos utilizar laços de repetição e funções específicas para entrada e saída, como vimos 
na Rota de Aprendizado 2. Considerando o código a seguir: 
 
Determine o que será impresso na tela do terminal caso este código seja compilado e executado em uma máquina rodando 
Windows. 
20/10/2016 AVA UNIVIRTUS 
 
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/99305/novo/1 3/3 
 
De acordo com o conteúdo abordado na Aula 1, em um código escrito na Linguagem de Programação C/C++, as variáveis 
precisam ser declaradas antes de serem utilizadas. Muitas vezes, por questões de organização, definimos estas variáveis 
no início do código. 
Com base nesta definição apresentada no enunciado da questão, assinale a alternativa correta que apresenta a 
declaração correta de variáveis: 
 
B a, b, c; 
C integer x; 
D y int; 
E float a, b, c; 
Você acertou! 
Conforme conteúdo apresentado nos Slides 30/42 ao 38/42 da Aula 1, a declaração de uma variável é realizada 
primeiramente definindo o seu tipo de dado e em seguida o nome da variável, ou variáveis separadas por vírgula. 
 
A a , b , c f l o a t ; 
Linguagem de programação define-se como
A Uma ferramenta que permite ao programador ou usuário de computação escrever programas.
B Conjunto de instruções a serem seguidos pelo computador para realizar um determinado processo.
C Sequência de passos que são utilizados para a resolução de um determinado problema em especifico.
D Um algoritmo com um conjunto lógico a ser seguido.
Dentre os benefícios de se estudar linguagem de programação destacam-se:
A Capacidade de resolver problemas para soluções computacionais, habilidade de usar novas 
linguagens, escolher linguagens de programação, aprender e projetar novas linguagens.
B Capacidade de testar linguagens, aprender novas linguagens e projetar novas soluções.
C Capacidade de escolher novas linguagens e de programar novas soluções computacionais.
D Capacidade de usar e projetar novas linguagens.
A propriedade de legibilidade de uma linguagem de programação se caracteriza por:
A Possibilitar ao programador se dedicar aos aspectos mais relevantes da implementação.
B Tratar da facilidade para se ler e entender um determinado programa.
C Capacidade de o programador aprender a linguagem com facilidade.
D Possibilitar ao programador combinar seus conceitos básicos sem que se produzam efeitos distorcidos nessa 
combinação.
Você acertou!
Você acertou!
Você acertou!
Os métodos de compilação de uma linguagem de programação pode ser definidos como:
A Híbrido, estruturado e orientado a objetos.
B Concorrente, funcional e interpretação pura.
C Compilação, interpretação pura e híbrido.
D Estruturado, compilado e híbrido.
A endentação facilita o processo de:
A Compilação
B Linkagem
C Execução
D Programação
Indique quais das seguintes declarações de variáveis estão corretas:
A y int;
B integer x;
C Iit;
D float a, b, c;
Um programa em linguagem C, que tenha comentários no seu código, é, em relação a outro que não tenha:
A Mais rápido para executar.
B Mais lento para executar.
C Executado praticamente a mesma velocidade, pois os comentários exigem uma utilização ínfima da CPU.
D Executado a mesma velocidade, pois os comentários são simplesmente ignorados pelo compilador, 
não havendo qualquer reflexo deles no tempo de execução.
Você acertou!
Você acertou!
Você acertou!
Você acertou!
Em relação a linguagem de programação C é incorreto afirmar:
A Um programa em linguagem de programação C começa com uma função main.
B C faz distinção entre letras maiúsculas e minúsculas, ou seja, chama-se a linguagem de case sensitive.
C As strings em C são delimitadas pelo caractere colchete [ ].
D Cada instrução deve ser seguida de um ponto e vírgula.
Na instrução while é correto afirmar:
A A condição é avaliada somente se o resultado da condição for verdadeiro.
B A condição é executada pelo menos uma única vez.
C Se o resultado da avaliação for verdadeira o laço é executado.
D A condição é avaliada se for falsa.
Qual o valor lógico apresentado pela expressão if (10 ==5)
A Verdadeiro
B Falso
C 10
D 5
Você acertou!
Você acertou!
Você acertou!
Qual o valor lógico apresentado pela expressão if (10 ==5)
A Verdadeiro
B Falso
C 10
D 5
Dada a sintaxe da função printf() a saída correta é:
printf( “Salário: %f\n”, 700,35);
A Salário: %f
B n
C 25
D Salário: 700,35
Qual o valor lógico apresentado pela expressão if (10 !=5)
A Verdadeiro
B Falso
C 10
D 5
Você acertou!
Você acertou!
Você acertou!
Sendo A=5, B=3 e C=7, análise as operações a seguir e marque a opção correta. (V é verdadeiro e F é falso)
1. A+B = C
2. B+C < A
3. C < A*B
4. B+C = 2*A
5. C div B > A
A F – F – V – V – V
B V – F – V – V – F
C F – F – V – V – F
D F – V – V – V – F
Como serão as saídas do algoritmo em C, respectivamente?
#include <stdio.h>
int main()
{ 
printf(“Valor: %f”,13.75649); 
printf(“Valor: %.3f”,12.34598);
printf(“Valor: %.1f”,13.75649);
return 0; 
 }
A 13.75649, 12.34598 e 13.75649
B 13.75, 12.348 e 13
C 13.7564, 12.348 e 13.75649
D 13.75649, 12.345 e 13.7
Você acertou!
Como serão as saídas do algoritmo em C, respectivamente?
#include <stdio.h>
int main()
{ 
printf(“Valor: %f”,153.7); 
printf(“Valor: %.2f”,12.34598);
printf(“Valor: %.4f”,13.75649);
return 0; 
 }
A 13.75649, 12.34598 e 13.75649
B 153.7, 12.34 e 13.7564
C 13.7564, 12.348 e 13.75649
D 13.75649, 12.345 e 13.7
Observe o algoritmo em C a seguir, qual deve ser sua condição de teste do “if” e qual deve ser a variável (ou expressão) 
do “printf”, para ocorrer a saída “Aprovado com 60.00”, para as entradas “60” e “60”, e o algoritmo continue funcionando 
para quaisquer valores das variáveis de entrada. 
#include <stdio.h>#include <stdib.h>
int main() 
{ 
float nota1, nota2;
printf ("Digite a primeira nota: ");
scanf ("%f", &nota1); 
printf ("Digite a segunda nota: "); 
scanf ("%f", &nota2); 
Você acertou!
if (????????????????) 
printf ("Aprovado com %.2f",??????????????); 
else 
printf ("Reprovado com %.2f", (?????????????); 
return 0; 
} 
A (nota1+nota2 >= 60)
 (nota1+nota2)
B ((nota1+nota2)/2 >= 60)
nota1
C ((nota1+nota2)/2 > 60)
((nota1+nota2)/2)
D ((nota1+nota2)/2 >= 60)
((nota1+nota2)/2)
Foi pedido a um aluno que escrevesse um trecho de código no qual, dado um número inteiro positivo X, 
imprimisse Yes caso este fosse múltiplo, simultaneamente, de 3 e de 5. Dos trechos abaixo, qual deles representa um 
código válido em C que satisfaz o pedido?
A if ( x % 3==0 || X % 5==0 )
{
 printf (“ Yes”); 
}
B if ( x / 3 ==0 && x / 5 == 0 )
{
 printf (“ Yes”); 
}
Você acertou!
C if ( x % 15 == 0)
{
 printf (“ Yes”); 
}
D if ( 5 / x == 0 && 3 / x == 0 )
{
 printf (“ Yes”); 
}
Qual(is) alternativa(s) apresenta(m) um comando válido, em linguagem C, para uma testar se uma variável inteira de 
nome x pode valer 1, 2, 3 ou 4? Assinale todas as corretas.
1. if( x == 1, x == 2, x == 3, x == 4 )
2. if( 1 <= x <= 4 )
3. if( x = 1 || 2 || 3 || 4 )
4. if( x >= 1 && x <= 4 )
5. if( 1 <= x, x <= 4 )
6. if( x > 0 && x < 5 )
7. if( x >= 1 || x <= 4 )
8. if( x = 1 || x = 2 || x = 3 || x = 4 )
A Estão corretas a 4 e a 6;
B Estão corretas a 2 e a 4;
C Estão corretas a 3 e a 6;
D Estão corretas a 2 e a 8;
Sendo A=4, B=2 e C=6, análise as operações a seguir e marque a opção correta. (V é verdadeiro e F é falso)
a) A+B = C
b) B+C < A
Você acertou!
Você acertou!
c) C < A*B
d) B+C != 2*B
A V – F – V – V
B V – F – V – F
C F – F – V – V
D F – V – V – V
Em relação a vetores é incorreto afirmar
A Os elementos de um vetor são sempre armazenados em posições contíguas de memoria.
B O índice do primeiro elemento do vetor é sempre 0(zero).
C Não se pode declarar vetores sem dimensão.
D Um vetor pode conter elementos de qualquer tipo de dados e podem ser de qualquer tipo de dados.
Dado o seguinte trecho de código, assinale a alternativa referente ao valor armazenada em vetor[3].
vetor[0] = 55;
vetor [3] = vetor [0] * 3
A 165
B 155
C 110
D 95
Dado o seguinte trecho de código, assinale a alternativa referente ao valor armazenado em vetor[3].
vetor[0] = 15;
vetor[1] = 25;
Você acertou!
Você acertou!
vetor[2] = 1;
vetor [3] = vetor [0]+ vetor [1]+ vetor [2]
A 42
B 41
C 50
D 31
Marque a alternativa correta referente a inserção de 10 elementos em um vetor.
A for (i:=0; i<10; i++)
 vetor[i] = i +1;
B for (i:=0; i>=10; i++)
vetor[i] = i +1;
C for (i:=0; i>10; i++)
vetor[i] = i +1;
D 1. for (i:=0; i<=10; i++)
vetor[i] = i +1;
A posição ocupada por um elemento de um vetor também é chamada de:
A campo
B índice
C vetor
D nenhuma das alternativas acima
Como leitura de dados numa matriz é correto o seguinte trecho de código.
Você acertou!
Você acertou!
Você acertou!
A for ( i = 0 ; i < 4; i++ )
 for ( j = 0; j < 40; j++)
B for ( i ; i < 4; i++ )
 for ( j = 0 j < 40; j++)
C for ( i = 0 ; i < 4; i++ )
 for (i = 0; j < 40; j++)
D for ( j = 0 ; i < 4; i++ )
 for ( j = 0; j < 40; j++)
A sintaxe correta para inicialização de dados em um vetor é:
A vetor =1;
B int vetor[0] = 1;
C vetor [0] == 1;
D int vetor [0] := 1;
Em relação a matriz é incorreto afirmar
A Matriz é a uma estrutura de dados do tipo vetor com duas ou mais dimensões.
B Os itens de uma matriz tem que ser todos do mesmo tipo de dado.
C Na prática, as matrizes formam tabelas na memória.
D Nenhuma das alternativas acima.
Quando tratamos de matrizes é correto afirmar que:
A O índice da esquerda indexa as linhas e o da direita indexa as colunas.
B O índice da esquerda indexa as linhas e o da esquerda indexa as linhas.
C O índice da esquerda indexa as colunas e o da direita indexa as linhas.
Você acertou!
Você acertou!
Você acertou!
Você acertou!
D O índice da direita indexa as colunas e o da esquerda indexa as colunas.
Dado as declarações de matrizes para notas decimais de alunos, assinale a correta:
A char notas [10] [10];
B float notas [10];
C int notas {10 10};
D float notas [10] [10];
Você acertou!
Em relação a função Strlen é correto afirmar:
A Devolve o comprimento da String
B Copia uma String para outra
C Concatena duas strings
D Procura um caractere numa String
Em relação a função Strcpy é correto afirmar:
A Converte todos os caracteres de uma String para maiúsculas.
B Copia uma String para outra.
C Concatena duas strings.
D Procura uma String dentro da outra.
Em relação a função Strcmp é correto afirmar:
A Devolve o comprimento da String.
B Comparação alfabética de String.
C Converte todos os caracteres de uma String para minúsculas.
D Comparação de strings com ignore case.
Dados as afirmativas referentes a funções, marque a alternativa incorreta:
Você acertou!
Você acertou!
Você acertou!
A O nome de um função não deve ter mais do que 6 letras.
B O nome de uma função não pode ser uma palavra reservada do C.
C Sempre que for necessário devem ser utilizadas variáveis locais.
D Em C, um procedimento não é mais do que uma função que “retorna void”.
Dados as funções Ping e Pong
void Ping (int i)
{
 switch (i)
 {
 case 1:
 case 2:
 case 3: while (i--)
 printf(“\n%d”, --i);
 break;
 case 25: Pong(3);
 break;
 default: printf(“\nJá Passei em C”);
 Pong(123);
 }
}
void Pong (int x)
{
 int j=0;
 switch (x)
 {
 case 1:
 case 2: Ping(x);
 case 3: j =5;
 j++;
 return;
 default: printf(“Olá”);
 return;
 }
 printf(“Vou Sair”);
}
Qual a saída da chamada Pong(3):
A Sem qualquer saída
B 0
C -1
D Já passei em C
Dados as funções Ping e Pong
void Ping (int i)
{
 switch (i)
 {
 case 1:
Você acertou!
 case 2:
 case 3: while (i--)
 printf(“\n%d”, --i);
 break;
 case 25: Pong(3);
 break;
 default: printf(“\nJá Passei em C”);
 Pong(123);
 }
}
void Pong (int x)
{
 int j=0;
 switch (x)
 {
 case 1:
 case 2: Ping(x);
 case 3: j =5;
 j++;
 return;
 default: printf(“Olá”);
 return;
 }
 printf(“VouSair”);
}
Ainda considerando as funções acima, qual a saída para a chamada Ping(-4):
A Sem qualquer saída
B Já passei em C
Olá
C -1
D 0
Dados as funções Ping e Pong
void Ping (int i)
{
 switch (i)
 {
 case 1:
 case 2:
 case 3: while (i--)
 printf(“\n%d”, --i);
 break;
 case 25: Pong(3);
 break;
 default: printf(“\nJá Passei em C”);
 Pong(123);
 }
}
void Pong (int x)
Você acertou!
{
 int j=0;
 switch (x)
 {
 case 1:
 case 2: Ping(x);
 case 3: j =5;
 j++;
 return;
 default: printf(“Olá”);
 return;
 }
 printf(“Vou Sair”);
}
Ainda considerando as funções acima, qual a saída para a chamada Ping(24):
A -1
B Olá
C Sem qualquer saída
D 0
Dados as funções Ping e Pong
void Ping (int i)
{
 switch (i)
Você acertou!
 {
 case 1:
 case 2:
 case 3: while (i--)
 printf(“\n%d”, --i);
 break;
 case 25: Pong(3);
 break;
 default: printf(“\nJá Passei em C”);
 Pong(123);
 }
}
void Pong (int x)
{
 int j=0;
 switch (x)
 {
 case 1:
 case 2: Ping(x);
 case 3: j =5;
 j++;
 return;
 default: printf(“Olá”);
 return;
 }
 printf(“Vou Sair”);
}
Ainda considerando as funções acima, qual a saída para a chamada Pong(1):
A Sem qualquer saída
B Já passei em C
C 0
D -1
-3
-5
(laço infinito com os números ímpares)
Em relação a Funções é incorreto afirmar:
A Uma função que não devolve qualquer valor é, habitualmente, designada por Procedimentos.
B As funções são uma ferramenta essencial ao desenvolvimento estruturado de aplicações.
C O código de uma função só é executado quando esta é invocada, em alguma parte do programa a que esta 
de algum modo ligada.
D Nenhuma das alternativas acima.
Considerando o código na linguagem C abaixo, indique qual alternativa representa o que será impresso ao executar esse 
código. 
#include <stdio.h>
#include <stdlib.h>
void p1(int x){
 if (x<10){
 x++;
 p1(x);
 x++;
Você acertou!
Você acertou!
 printf("(%d)",x);
 }
}
int main(){
 p1(-1);
 system("pause");
}
A (10)(9)(8)(7)(6)(5)(4)(3)(2)(1)(0)
B (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)
C (1)(3)(5)(7)(9)(11)(13)(15)(17)(19)(21)
D (11)(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)
Em relação ao conceito de struct é correto afirmar
A Tipo de dado estruturado heterogêneo, isto é, uma coleção de variáveis referenciadas sobre um 
mesmo nome.
B Tipo de dado estruturado homogêneo.
C É um vetor que permite referenciar variável de todos os tipos
D Todas estão corretas.
Pode-ser ver struct como um tipo de dado. Marque a alternativa referente a declaração de uma variável como sendo do 
tipo de dado struct.
A struct Funcionario;
B struct Funcionario chefe;
C struct Funcionario chefe empregado;
D Nenhuma das alternativas está correta.
Marque a alternativa correta referente ao acesso de um campo da struct.
A nome_variável.nome_campo
B nome_campo
C nome_struct.nome_campo
D Nenhuma das alternativas está correta
Você acertou!
Você acertou!
Você acertou!
O conceito de campo ou membro de uma struct
A Conjunto de elementos relacionados
B Conjunto de variáveis
C Conjunto de caracteres com o mesmo significado.
D Todas as alternativas estão incorretas.
O conceito de struct é:
A Conjunto de elementos relacionados
B Conjunto de variáveis
C Conjunto de caracteres com o mesmo significado.
D Todas as alternativas estão incorretas.
Em relação ao uso mais comum de structs para a definição de elementos de dados destaca-se seu emprego para a 
definição de:
A Vetores
B Matrizes
C Fluxos de controle
D Entrada e saída
Marque a alternativa correta para a declaração de vetores de structs:
A struct cadastro Nome[28];
B struct cadastro[28];
C struct Nome[28]
Você acertou!
Você acertou!
Você acertou!
Você acertou!
D Todas as alternativas estão corretas.
Marque a sintaxe correta para manipulação dos dados do vetor usando vetores de structs:
A Nome[1].P1 = 2;
B cadastro.Nome[1].P1 = 2;
C Nome[1]= 2;
D Todas as alternativas estão incorretas.
Qual o significado da palavra reservada struct na linguagem de programação C:
A Indica ao compilador que esta sendo criada uma estrutura.
B Indica que é uma variável
C Indica que será possível criar um fluxo de controle
D Indica ao interpretador que é uma variável
Uma estrutura deve ser declarada em qual posição do programa:
A Dentro do programa main
B Antes das bibliotecas
C Após as bibliotecas e antes do main
D Depois das bibliotecas
Você acertou!
Você acertou!
Você acertou!
12/07/2016 AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/73627/novo/1 1/6
APOL 1
PROTOCOLO: 20160606123361891E59AJOHANDERSON MARINHO DE OLIVEIRA - RU: 1233618 Nota: 100
Disciplina(s):
Linguagem de Programação
Linguagem de Programação
Linguagem de Programação
Linguagem de Programação
Data de início: 06/06/2016 10:56
Prazo máximo entrega: - 
Data de entrega: 09/06/2016 17:14
Questão 1/10
Conforme abordado na Aula 1,  todo e qualquer programa  independente da  linguagem de programação em que esteja 
escrito,  necessita  ser  traduzido  para  uma  linguagem  de  máquina  para  que  possa  ser  executado.  Para  isso,  faz-se 
necessário o uso de um conjunto de programas que recebe o código-fonte do programa a ser traduzido e gera o código 
traduzido na linguagem de máquina.
Com base no que foi exposto no enunciado da questão, assinale a alternativa correta que corresponde à como são 
definidos os métodos de compilação de uma linguagem de programação:
A Estruturado, compilado e híbrido;
B Compilação, interpretação pura e híbrido;
C Híbrido, estruturado e orientado a objetos;
D Estruturado, Orientado a Objetos e Híbrido;
E Concorrente, funcional e interpretação pura.
Questão 2/10
Conforme o conteúdo abordado na Aula 1, várias são as linguagens de programação existentes no mercado, tais como C, 
Java, PHP, entre outras, porém para cada linguagem faz-se necessário que o programador ou usuário saiba os símbolos 
e sintaxes definidas por esta, no intuito de combiná-los para produzir um programa válido.
Com base neste contexto, assinale a alternativa correta que corresponde aos benefícios que se destacam ao estudar 
linguagem de programação:
Você acertou!
Conforme  abordado  na  Rota  de  Aprendizagem  e  Slides  16/42  e  17/42  da  Aula  1,  dentre  os  métodos  de
implementação  de  tradução  do  código-fonte  em  linguagem  de  máquina  para  execução  estão  a  compilação,
interpretação pura e híbrido.
12/07/2016 AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/73627/novo/1 2/6
A Capacidade de testar linguagens, aprender novas linguagens e projetar novas soluções; 
B Capacidade de testar programas e projetar novas linguagens e soluções;
C Capacidade de usar e projetar novas linguagens;
D Capacidade de resolver problemas e desenvolver soluções computacionais, habilidade de usar novas
linguagens, escolher linguagens de programação, aprender e projetar novas linguagens;
E Capacidade de escolher novas linguagens e de programar novas soluções computacionais.
Questão 3/10
De  acordo  com  o  exposto  no  conteúdo  da  Aula  1,  Independentemente  de  como  é  seguido  o  processo  de 
desenvolvimento de software, é necessário que as  linguagens de programação apresentem as seguintes propriedades 
desejáveis, a saber: Legibilidade, Redigibilidade, Confiabilidade, Eficiência, Facilidade de aprendizado, Ortogonalidade, 
Reusabilidade, Modificabilidade e Portabilidade.
Com  base  na  definição  apresentada  no  enunciado  da  questão,  assinale  a  alternativa  correta  que  corresponde  as 
características da propriedade de legibilidade de uma linguagem de programação:
A Trata da facilidade para se ler e entender um determinado programa;
Você acertou!
Conforme apresentado na Rota de Aprendizagem e Slides 07/42 e 08/42 da Aula 1, dentre os benefícios de se
estudar linguagens de programação, podemos destacar (Varejão, 2004):
- Maior capacidade de desenvolver soluções computacionais para problemas, ou seja, quanto maior a compreensão
sobre os conceitos de linguagens de programação maior a habilidade do programador em como pensar e resolver
problemas;
- Maior habilidade ao usar uma nova linguagem de programação. À medida que o programador vai agregando
conhecimento de outras linguagens, mais fácil do programador entender as modificações entre as linguagens, bem
como a utiliza-las de forma mais inteligente e otimizada;
- Maior capacidade para escolher linguagens de programação apropriadas, isto é, quanto maior o domínio sobre as
linguagens maior a capacidade de determinar qual linguagem melhor se adequa na resolução dos problemas;
- Maior habilidade para aprender novas linguagens de programação. Por exemplo, programadores que sabem os
conceitos de orientação a objetos possuem maior facilidade em aprender linguagem que utilizem destes paradigmas;
- Maior habilidade para projetar novas linguagens de programação.

Você acertou!
Conforme apresentado na Rota de Aprendizagem e Slide 09/42 da Aula 1, legibilidade trata da facilidade para se ler e
entender um determinado programa. Quanto mais fácil for entender e seguir suas instruções, mais fácil será de
entender o que está sendo feito, bem como de descobrir possíveis erros de programação.
Exemplo:
media = (nota1 + nota 2)/2;
No exemplo é possível entender que a instrução se trata de calcular a média com base na soma de duas notas (1 e
2). Desta forma, pode-se dizer que este trecho do código apresenta uma boa legibilidade.

12/07/2016 AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/73627/novo/1 3/6
B Capacidade de o programador aprender a linguagem com facilidade;
C Possibilita ao programador combinar seus conceitos básicos sem que se produzam efeitos distorcidos nessa
combinação;
D Possibilita reutilizar o mesmo código pra diversas aplicações;
E Possibilita ao programador se dedicar aos aspectos mais relevantes da implementação.
Questão 4/10
De acordo com o conteúdo exposto na Aula 1, como paradigmas de linguagem de programação chamamos um conjunto 
de características que serve para classificar um grupo de  linguagens. Várias são as classificações dos paradigmas de 
linguagem de programação.
Com  base  nos  conceitos  expostos  no  enunciado  da  questão,  assinale  a  alternativa  correta  que  corresponde  as 
subdivisões do paradigma Imperativo:
A Concorrente, Funcional, Lógico;
B Estruturado, Orientado a Objetos, Lógico;
C Lógico, Funcional, Declarativo;
D Estruturado, Concorrente, Orientado a Objetos;
Questão 5/10
Conforme  apresentado  na  Aula  2,  os  comandos  de  controle  na  linguagem  de  programação  C,  são  divididos  em 
condicional simples, condicional composto e case.
Com base nesta definição, assinale a alternativa correta que corresponde ao valor lógico retornado após a execução da 
Você acertou!
Conforme imagem apresentada no Slide 18/42 da Aula 1.

12/07/2016 AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/73627/novo/1 4/6
expressão de condicional simples apresentada abaixo: 
if (10 == 5)
A 10;
B Verdadeiro;
C Falso;
D 5;
E 2.
Questão 6/10
Conforme o conteúdo abordado na Aula 1, várias são as linguagens de programação existentes no mercado, tais como C, 
Java, PHP, entre outras, porém para cada linguagem faz-se necessário que o programador ou usuário saiba os símbolos 
e sintaxes definidas por esta, no intuito de combiná-los para produzir um programa válido.
Com base neste contexto, assinale a alternativa correta que define o que é linguagem de programação:
A Conjunto de instruções a serem seguidos pelo computador para realizar um determinado processo;
B Um algoritmo com um conjunto lógico a ser seguido;
C Uma ferramenta que permite ao programador ou usuário de computação escrever programas;
D Sequência de passos que são utilizados para a resolução de um determinado problema em especifico;
E Solução computacional para resolução de problemas.
Questão 7/10
De acordo com o conteúdo abordado na Aula 1, em um programa escrito na Linguagem de Programação C, as variáveis 
precisam ser declaradas no início do programa antes de serem utilizadas.
Com  base  nesta  definição  apresentada  no  enunciado  da  questão,  assinale  a  alternativa  correta  que  apresenta  a 
declaração correta de variáveis:
A a, b, c float;
Você acertou!
Conforme  conteúdo  apresentado  na  Rota  de  Aprendizagem  e  slide  14/38  da  Aula  2,  o  comando  if  somente  é
executado se a sua condição for verdadeira, portanto, como 10 não é igual a 5 o retorno será falso.

Você acertou!
Conforme apresentado na Rota de Aprendizagem da Aula 1, linguagem de programação é uma ferramenta que
permite ao programador ou usuário de computação escrever programas.

12/07/2016 AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/73627/novo/1 5/6
B a, b, c;
C integer x;
D y int;
E float a, b, c;
Questão 8/10
De acordo com o uso de comentários em um programa escrito na Linguagem de Programação C, conforme abordado na 
Aula 1, os comentários podem ser escritos em qualquer  lugar do texto e fim de facilitar o entendimento do programa e, 
para ser entendido como um comentário, o texto deve estar escrito entre os símbolos /* e */.
De acordo com estes conceitos apresentados no enunciado da questão, assinale a alternativa correta que define o uso 
de comentários em um programa escrito na Linguagem de Programação C, em relação a outro que não tenha:
A Um programa em C com comentários é mais lento para executar do que um programa em C sem
comentários;
B Um programa em C com ou sem comentários é executado praticamente a mesma velocidade, pois os
comentários exigem uma utilização ínfima da CPU;
C Um programa em C com ou sem comentários é executado a mesma velocidade, pois os comentários
são simplesmente ignorados pelo compilador, não havendo qualquer reflexo deles no tempo de
execução;
D Um programa em C sem comentários é muito mais fácil de compreender o seu código fonte do que que um
programa em C com comentários;
E Um programa em C com comentários é mais rápido para executar do que

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes