Prévia do material em texto
AV1
1a Questão (Ref.: 201301290153)
A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere
as seguintes afirmativas:
|) Possibilidade em programação de alto e baixo nível;
||) Grande período para o aprendizado.
|||) Adequação a grandes projetos;
Assinale a alternativa que contem apenas vantagens da linguagem C++.
Apenas |||
Apenas |
| e ||
| e |||
|| e |||
Gabarito Comentado.
2a Questão (Ref.: 201301392621)
Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é
uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto
afirmar:
Possibilita o desenvolvimento de funções próprias
Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo
Possui características de Linguagem de baixo nível.
Possui características de Linguagem de alto nível.
Permite a compilação de softwares para plataforma Windows, Linux e Unix.
Gabarito Comentado. Gabarito Comentado.
3a Questão (Ref.: 201301389803)
Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode
ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um
editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente.
Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual
após ser executado apresenta o resultado de nosso programa.
Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco
destacados do texto, segundo os conceitos da linguagem C apresentados no material didático da disciplina.
Código de texto - extensão .txt - editar - fonte
Código fonte - extensão .c - compilar - executável
Código base - extensão .c - compilar - fonte
Fonte - extensão .txt - editar - executável
Executável - extensão .c - compilar - fonte
Gabarito Comentado. Gabarito Comentado.
4a Questão (Ref.: 201301730154)
Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por
exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e
traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de
hardware ou de software). Identifique abaixo a capacidade descrita.
Polimorfismo
Modularidade
Reuso
Portabilidade
Flexibilidade
Gabarito Comentado.
5a Questão (Ref.: 201301424576)
Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações
significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles:
- Surge o tipo long long para inteiros;
- As funções matemáticas passam a aceitar todos os tipos numéricos;
- O caracter // para comentário de uma linha, pode ser usado também;
Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações
acima.
C tradicional
ISO/IEC 9899:1990
Padrão C99
Padrão C95
Padrão C89
Gabarito Comentado.
6a Questão (Ref.: 201301424569)
Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo
e assinale a opção que contem a resposta correta.
I Tem boa Portabilidade.
II Não pode ser modularizada.
III É uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereços de memória.
V Não possui um propósito especifico.
As afirmativas I, IV e V estão corretas e as demais, erradas.
As afirmativas II, IV e V estão corretas e as demais, erradas.
As afirmativas I e IV estão corretas e as demais, erradas.
As afirmativas IV e V estão corretas e as demais, erradas.
As afirmativas II, III e IV estão corretas e as demais, erradas.
Gabarito Comentado.
1a Questão (Ref.: 201301392693)
Observe o código abaixo:
#include < stdio.h >
#include < stdlib.h>
int main(){
int x,y,z;
x=6;
y=2;
z = (x%2)+8;
puts(z);
system("PAUSE");
return 0;
}
Dentre as opções abaixo é correto afirmar:
O programa exibirá 8
O programa exibirá 11
O programa exibirá 16
O programa exibirá 0
Ocorrerá um erro
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301343352)
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e
tendo em vista o trecho do programa, qual deveria ser a linha usada para exibir a saída abaixo:
Observação: A sequência de números que aparece na saída representa as colunas da tela.
Trecho
int num1= 12, num2=8; float num3=15;
printf("\n12345678901234");
printf("\n%d\t%06.2f\n", num1, num3);
printf("\n%d\t%6.2f\n",num1/num2, num3);
printf("\n%04d\t%.2f\n", num1/num2, num3);
printf("\n%4d\t%.2f\n", num1%num2, num3/2);
printf("\n%.2f\t%06.2f\n",(float) num1/num2, num3);
Gabarito Comentado. Gabarito Comentado.
3a Questão (Ref.: 201301344705)
As funções existem para decompor um problema em partes menores, simplificando e organizando
o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma
afirmativa ERRADA em relação aos conceitos de funções.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
O comando return encerra a execução de uma função e pode retornar vários valores para a
função chamadora da função.
Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de
parâmetros da função.
Além do valor de uma variável é possível passar para uma função o endereço da variável
como por exemplo, das matrizes.
4a Questão (Ref.: 201301389808)
Na linguagem C, temos várias formas de exibir mensagens na tela, através das funções
encontradas na biblioteca padrão stdio.h. Sabe-se de antemão que poderíamos utilizar
várias delas para exibir um texto, mas a escolha da função parte da necessidade do
programa.
Se um programa precisa exibir um texto, sem variáveis ou constantes numéricas já com
a quebra de linha no final, qual das funções apresentadas é a mais adequada?
putchar
print
puts
printf
cout
Gabarito Comentado. Gabarito Comentado.
5a Questão (Ref.: 201301343350)
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e
tendo em vista o trecho do programa, qual deveria ser a linha usada para exibir a saída abaixo:
Observação: A sequência de números que aparece na saída representa as colunas da tela.
Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");
printf("\n%d\t%6.2f\n", num, med);
printf("\n%4d\t%f\n", num, med);
printf("\n%d\t%06.2f\n", num, med);
printf("\n%04d\t%.2f\n", num, med);
printf("\n%d\t06.2f\n", num, med);
Gabarito Comentado. Gabarito Comentado.
6a Questão (Ref.: 201301730603)
Suponha que as bibliotecas necessárias foram declaradas e considere em função das respostas a numeração das
linhas apresentadas entre parênteses.
(L1)int main()
(L2) {
(L3) char vet[40];
(L4) puts("Digite o seu nome completo:");
(L5) fgets(vet);
(L6) printf("%s\n",vet);
(L7) system("pause");
(L8) return (0);
(L9) }
Analise o código e assinale a alternativa correta.
Erro na (L8)- O return é utilizado apenas em funções.
Erro na (L4)- Puts está sendo usado de forma errada.
Erro na (L5)- Na forma de preencher a função fgets.
Erro na (L6)- O printf não aceita a forma apresentada.
Erro na (L3)- Deveria ser utilizado uma matriz.
Gabarito Comentado.
1a Questão (Ref.: 201301344712)
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo
com as características das variáveis LOCAIS, marque a alternativa ERRADA.
Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
A função main() pode acessar qualquer variável local de qualquer função.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Existem funções que não têm variáveis locais.
Uma variável local só é visualizada pela função onde foi declarada.
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301343963)
Estava pesquisando na internet, quando li, num fórum, um pedido de ajuda que incluía um
programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e
não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu
teria digitado 345 quando foi solicitado um número inteiro de três algarismos. Assinale a resposta
CORRETA que apresenta o que foi exibido na tela.
- 0.00289(O inverso do número formatado)
-0012 ( Representa a soma dos algarismos do número -345 formatado)
0345 (O valor absoluto do número formatado)
0343 (O valor absoluto do resultado da expressão formatada)
0543(O valor absoluto do número espelhado formatado)
Gabarito Comentado. Gabarito Comentado.
3a Questão (Ref.: 201301343975)
Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão.
Sabe-se que o imposto é calculado sobre o salário bruto.
Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira
solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o
valor do imposto.
Valor do imposto a ser pago: 800.00
Valor do imposto a ser pago: 650.00
Valor do imposto a ser pago: 850.00
Valor do imposto a ser pago: 750.00
Valor do imposto a ser pago: 1000.00
Gabarito Comentado. Gabarito Comentado.
4a Questão (Ref.: 201301730434)
As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a
alternativa que contém as bibliotecas necessárias para que este código funcione.
#include________
#include________
int main()
{
int a=2, b=2, c=8, delt;
delt=(pow(b, 2)-(4*a*c));
system("pause");
return (0);
}
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas.
stdlib.h - ctype.h
stdio.h - stdlib.h
stdio.h - ctype.h
cmat.h - ctype.h
math.h - stdlib.h
Gabarito Comentado.
5a Questão (Ref.: 201301730477)
Segundo o código exposto na questão e desconsiderando a necessidade da declaração das bibliotecas, o que é
exibido no display pela função de saída?
int main()
{
int n1=3, n2=7, n3=5, n4=2;
float med;
med= (float)(n1 + n2+ n3+ n4)/4;
printf("a media e %.2f", med);
system("pause");
return 0;
}
a media é: 4.250
a media e: 4.2500
a média é: 4.25
a media e: 4.25
a média é: 4.25000
Gabarito Comentado.
6a Questão (Ref.: 201301389814)
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de
dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado
a esta operação é Cast.
Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do
tipo int para a variável x do tipo float utilizando o Cast.
x = (float) n;
x = (int) n;
n = float x;
n = (float) x;
x = float n;
Gabarito Comentado.
1a Questão (Ref.: 201301389819)
O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor
conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura
condicional if.
Das opções apresentadas marque a qual melhor define esta estrutura.
Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa
siga por caminhos diferentes.
Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos
diferentes.
Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes
repetidamente.
Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa
fazer um caminho diferente repetidamente.
Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por
caminhos diferentes.
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301730498)
Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5).
int main()
{
float n1, n2, n3, med;
puts("Digites as notas");
scanf("%f", &n1);
scanf("%f", &n2);
scanf("%f", &n3);
med= (n1+n2+n3)/3;
if(med>=7)
printf("Aluno aprovado com: %.1f\n", med);
else
printf("Aluno reprovado com: %.1f\n", med);
system("pause");
return 0;
}
Desconsidere a necessidade da declaração das bibliotecas.
Qual será a mensagem final exibida para o usuário?
Aluno aprovado com: 6.5
Aluno reprovado com: 6.5
Aluno aprovado com: 6.0
Aluno aprovado com: 6.00
Aluno reprovado com: 6.50
Gabarito Comentado.
3a Questão (Ref.: 201301387194)
A professora de Linguagem de Programação I pediu aos alunos que construíssem
um código para que permitisse a entrada de um número inteiro e exibisse umas das
mensagens: Positivo / Zero / Negativo
Eles acharam esse pedido estranho, visto que era um programa clássico.
Ao término do tempo que ela deu para o desenvolvimentos, pediu que eles
comparassem as duas soluções que colocou no quadro.
Leia as afirmativas abaixo e escolha a alternativa correta.
I na solução A, se o número fosse positivo, era testado três vezes.
II na solução B, se o número fosse positivo, era testado uma vez.
III Se as duas soluções produzem a mesma saída podemos afirmar que, em termos
de eficiência, não importa a quantidade de testes.
IV A solução A poderia usar um if simples e um if composto ao invés de três ifs
simples.
V A solução B poderia testar se era zero no primeiro if e menor do que zero no
outro desde que estivessem presentes as mensagens correspondentes aos testes
e a mensagem Positivo no else.
I, II e V estão corretas
I, II e III estão corretas
II, III e IV estão corretas
I, II, IV e V estão corretas
II e IV estão corretas
Gabarito Comentado.
4a Questão (Ref.: 201301424591)
Um aluno da engenharia desenvolveu um programa com um assunto que tinha estudado na aula de Física e
entregou ao professor para que ele desse uma olhada.
O professor de física entendia um pouco de programação e estava achando estranho o código, mas, como
ele não estava perto de um computador, resolveu acompanhar no teste de mesa com os seguintes valores:
21 e 3, nessa ordem, para as duas entradas.
Analiseo código abaixo e assinale a opção que mostra a resposta achada pelo professor.
Chame tecnico e avise que o valor ultrapassou o maximo Esta tudo bem
Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta
abaixo do minimo
Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta
abaixo do minimo Esta tudo bem
Chame tecnico e avise que o valor ultrapassou o máximo
Esta tudo bem
Gabarito Comentado.
5a Questão (Ref.: 201301426106)
Uma construtora desenvolveu um software que tem por objetivo calcular o número caixas de tijolos necessárias
para levantar uma parede. O programa lê o tipo de tijolo(Cerâmico ou Maciço), a largura e a altura em
metros(inteiros) da parede. Para calcular o número de caixas de tijolos, sabe-se que são necessários 25 tijolos
cerâmicos cada metro quadrado ou 30 tijolos maciços cada metro quadrado. Sabe-se também que cada caixa de
tijolos possui 10 unidades.
Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o
calculo do número de caixas de tijolos:
void main(){
float alt, larg;
char tipo; int total_tijolos, metragem, aux;
puts("\nDigite C para Cerâmico e M para Maciço:");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&alt);
printf("\nDigite a largura da parede: ");
scanf("%f",&larg);
metragem = alt*larg;
if(!metragem%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'C':
case 'c':
printf("%d",(metragem*25)/10+aux);
break;
case 'M':
case 'm':
printf("%d",(metragem*30)/10+aux);
break;
default:
printf("\n%s\n","Tipo invalido");
}
system("PAUSE");
}
if(metragem%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'C': break;
case 'c': break;
printf("%d",(metragem*25)/10+aux);
case 'M': break;
case 'm': break;
printf("%d",(metragem*30)/10+aux);
default: break;
printf("\n%s\n","Tipo invalido");
}
system("PAUSE");
}
if(metragem%10)
aux = 1;
else
aux = 0;
switch(tipo){
case 'C':
continue;
case 'c':
printf("%d",(metragem*25)/10+aux);
break;
case 'M':
continue;
case 'm':
printf("%d",(metragem*30)/10+aux);
break;
default:
printf("\n%s\n","Tipo invalido");
}
system("PAUSE");
}
switch(tipo){
case 'C':
case 'c':
printf("%d",(metragem*25)/10);
break;
case 'M':
case 'm':
printf("%d",(metragem*30)/10);
break;
default:
printf("\n%s\n","Tipo invalido");
}
system("PAUSE");
}
if(metragem%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'C':
case 'c':
printf("%d",(metragem*25)/10+aux);
break;
case 'M':
case 'm':
printf("%d",(metragem*30)/10+aux);
break;
default:
printf("\n%s\n","Tipo invalido");
}
system("PAUSE");
}
6a Questão (Ref.: 201301424580)
Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.
Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do
tipo int de nome ano.
Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.
Assinale a opção que resolve o problema desse aluno.
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
Gabarito Comentado.
1a Questão (Ref.: 201301347448)
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as
afirmações abaixo e escolha a opção ERRADA.
I As chaves de abertura e fechamento, sempre, não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do else poderá não ser necessário.
I está errada.
I e III estão corretas.
II está correta e a III não está correta.
II e IV estão corretas.
IV está correta e a I não está correta.
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301290989)
Durante a criação de um programa, foi percebido que uma parte do código era executada
várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada
vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do
trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a
redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição
apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a
melhor solução pra o problema:
Criar uma função para executar a parte do código que se repetia.
Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
3a Questão (Ref.: 201301347471)
Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada
linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem
suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C,
supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está
o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número
90 na estrutura switch().
90: printf("Pode");
case a=90: printf("Pode") ;break;
case a > 90: printf("Pode") ;break;
90: printf("Pode"); stop;
case 90: printf("Pode") ; break;
Gabarito Comentado.
4a Questão (Ref.: 201301344911)
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo,
supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que
contém a série exibida pelo código.
2 4 6 10 16 26 42 68
2 4 4 8 12 20 32
2 4 6 8 19 12 14 16
2 4 4 8 12 20 32 52
2 4 6 10 16 26 42
Gabarito Comentado. Gabarito Comentado.
5a Questão (Ref.: 201301401063)
Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de
estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem
pequenas diferenças.
int i;
for(i=0; i < 10; i+=2)
if (i%2)
printf("%d",i);
printf("%d",i);
Supondo que as demais linhas necessárias para o funcionamento do programa estejam devidamente
criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua
execução.
02468
0 2 4 6 8 10
10
0246810
024681010
Gabarito Comentado.
6a Questão (Ref.: 201301344895)
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e
escolhaa opção que contém a série exibida pelo código.
1 1 2 3 5 8 13 21
1 3 4 7 9 11 13
0 1 1 3 2 4 5 7
0 1 1 2 3 5 8 13 21
0 1 1 2 3 4 5 6
Gabarito Comentado.
AV2
1a Questão (Ref.: 201301418530)
Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero
(código ASCII igual a 0).
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho
necessário menos um.
Todas as sentenças estão corretas
Somente a sentença II está correta
Somente as sentenças II e III estão corretas
Somente as sentenças I e II estão corretas
Somente as sentenças I e III estão corretas
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301722844)
Uma empresa possui uma série de programas desenvolvidos em C que acessam um mesmo arquivo. Um dos
problemas constatados é a falta de padronização no armazenamento de dados neste arquivo. Alguns aplicativos
gravam em caixa alta (letras maiúsculas), outros em caixa baixa (letras minúsculas) e alguns não administram
isto.
Para tanto, foi definido, por padrão, que todos os caracteres lidos devem ser convertidos para caixa alta
imediatamente após a leitura do mesmo. Qual função do C devo incluir nos programas para efetuar a conversão
de caractere a caractere?
convertUpper
convertUp
upper
toupr
toupper
Gabarito Comentado.
3a Questão (Ref.: 201301434230)
Um dos problemas que assola a computação é o de segurança. Dentre várias soluções existentes, a criptografia
é uma área que tem avançado muito nos dias de hoje. Uma empresa para criptografar seus textos, efetua a
leitura de textos com até 80 caracteres e a partir de uma chave numérica os embaralha.
Exemplo:
texto: "ABCDEFGHIJ"
chave: 42153
saída: "EBCAFDGHIJ"
Dado o trecho de programa abaixo, identifique qual das opções completa o mesmo para este fim.
void main(){
char vetor[10]={'A','B','C','D','E','F','G','H','I','J'};
int i;
char aux;
int chave[5] = {4,2,1,5,3};
for(i = 0; i <5 ; i++){
aux = vetor[0];
vetor [0] = vetor[chave[i]];
vetor[chave[i]]= aux;
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
aux = vetor[i];
vetor [i] = vetor[chave[i]];
vetor[chave[i]]= aux;
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
vetor[i] = aux;
vetor[chave[i]] = vetor [i];
aux = vetor[chave[i]];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
vetor [i] = vetor[chave[i]];
vetor[chave[i]]= aux;
aux = vetor[i];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
vetor[i] = vetor[chave[i]];
vetor[chave[i]] = vetor [i];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
Gabarito Comentado.
4a Questão (Ref.: 201301424616)
Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};
Somente as declarações I , II e IV estão corretas
Somente as declarações I e II estão corretas
Todas as declarações estão corretas
As declarações III e IV estão erradas
A declaração I está errada e a declaração II está correta
Gabarito Comentado.
5a Questão (Ref.: 201301418532)
Qual das opções abaixo está correta com relação a declaração de variáveis para um vetor de 15 elementos de
números reais em C?
double x[15];
double x[15][15];
char x[15];
int vetor[15][15];
int vetor[15];
Gabarito Comentado. Gabarito Comentado.
6a Questão (Ref.: 201301424627)
Um aluno estava estudando matrizes e se deparou com um pequeno problema: toda vez que ele pedia para
exibir o conteúdo de uma variável de uma matriz unidimensional, o resultado que aparecia era outro.
Sabe-se que ele dimensionou uma matriz de nome numerosI para armazenar 100 números inteiros e que ele
construiu um trecho que exibia, numerado de 1 até 100, os números digitados.
Observe o trecho do programa abaixo e assinale a opção onde estão presentes a declaração da matriz e a
chamada correta do número escolhido pelo usuário.
1a Questão (Ref.: 201301291597)
Para resolver um determinado problema um programador escreveu um código para trabalhar
com um vetor conforme apresentado na questão:
int vetn[10];
for (int i=1; i <= 10; i++){
vetn[i -1] = i * 13;
i = i + 1;
}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das
opções apresentadas em relação ao vetor, qual afirmativa está correta.
O décimo valor armazenado será o 117.
Serão armazenados 5 valores inteiros.
Serão armazenados 10 valores inteiros.
O terceiro valor armazenado será o 60.
O segundo valor armazenado será o 26.
Gabarito Comentado.
2a Questão (Ref.: 201301401091)
As matrizes, assim como os vetores, são muito importantes para facilitar o trabalho de um
programador, por isso é extremamente importante saber como utiliza-la.
Assinale a alternativa em que há uma matriz bidimensional, do tipo inteiro, com 10 linhas e 20 colunas,
declarada de forma correta.
matrizExemplo float[20][10];
int matrizExemplo[10,20];
int matrizExemplo[10][20];
float matrizExemplo[20][10];
matrizExemplo int[10][20];
Gabarito Comentado. Gabarito Comentado.
3a Questão (Ref.: 201301396447)
Matrizes é um dos conceitos mais largamente usado em programação nos dias de hoje.
Identifique a opção que ocorrerá um erro:
int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4;
int matriz[2][3]= {{2,4,6};{7,8,9}};
int matriz[][3]= {{2,4,6}};
int matriz[][3]= {{2,4,6},{7,8,9}};
int matriz[2][3]= {{2,4,6},{7,8,9}};
Gabarito Comentado. Gabarito Comentado.
4a Questão (Ref.: 201301291600)
Para resolver um determinado problema um programador escreveu um código para trabalhar
com um vetor conforme apresentado na questão:
int vetn[3][2];
for (int i=0; i < 3; i++){
for (int j=0; j < 2; j++){
vetn[i][j] = i + j;
}
}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código
descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados os valores 0,0,1,1,2,2.
O trecho apresentado possui erro e nenhum valor será armazenado.
Serão armazenados os valores 0,1,2,2,3,3.
Serão armazenados os valores 0,1,1,2,2,3.
O trecho apresentado possui erro e apenas um valor será armazenado.
5a Questão (Ref.: 201301730571)
Verifique o código a seguir e assinale a alternativa que contém um erro presente no código e a justificativacorreta. Suponha que as bibliotecas necessárias foram declaradas.
int main()
{
int i, j, det, l, c;
int mat[l][c];
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
do{
puts("Digite os elementos da matriz\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d", &mat[i][j]);
fflush(stdin);
det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) +
(mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) +
(mat[0][2]*mat[1][1]*mat[2][0]));
printf("\ndet=%d\n", det);
}while (det==0);
system("pause");
return (0);
}
Declaração da matriz- Na declaração de uma matriz suas dimensões não podem ser indicadas por
variáveis.
Declaração de variáveis- det é uma palavra reservada, portanto não pode ser nome de variável.
Utilização da função puts- Pois o puts exibe apena um caractere.
Falta no (;) após o comando for- Toda linha do código deve ser encerrada com (;).
Formato do while- deveria ter apenas um sinala de (=).
6a Questão (Ref.: 201301347412)
O professor de Matemática armazena as notas dos quatro bimestres
e da média dos seus 47 alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de
nome NOTAS na linguagem C.
Assinale a opção que possibilitará fazer o que o professor deseja.
float Notas[47][47];
float NOTAS[47][5];
float NOTAS[47,5];
float notas[5][47];
float NOTAS[47][47];
1a Questão (Ref.: 201301722985)
A língua portuguesa realmente é surpreendente. Além de rica em fonemas e vocabulário, possui muitas
curiosidades. Entre elas o conceito de palíndromo, que é uma palavra ou um número que se lê da mesma
maneira nos dois sentidos como, por exemplo, OVO.
Dado o código abaixo, qual das opções complementa o programa para identificar este curioso conceito?
int ePalindromo(char vet[],int tam);
void main(int argc, char *argv[]) {
char texto[] = "arara";
int i;
if(ePalindromo(texto, strlen(texto)))
printf("Eh palindromo");
else
printf("Nao eh palindromo");
system("PAUSE");
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-i]){
aux = 0;
break;
}
}
return aux;
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-1-i]){
aux = 0;
break;
}
}
return aux;
}
int ePalindromo(char vet,int tam){
int i; int aux=1;
for(i=0; i < tam-1; i++){
if(vet[i]!=vet[tam-i]){
aux = 0;
break;
}
}
return aux;
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam-1; i++){
if(vet[i]!=vet[tam-i]){
aux = 0;
break;
}
}
return aux;
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam; i++){
if(vet[i]!=vet[tam+1-i]){
aux = 0;
break;
}
}
return aux;
}
Gabarito Comentado.
2a Questão (Ref.: 201301424631)
Um engenheiro gostaria de definir uma função para resolver um determinado problema.
Observe o código abaixo e identifique a opção que exibe o que é retornado pela função.
Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo
Retorna o total de algarismos do número digitado independente do sinal
Retorna 0 caso o número digitado seja negativo
Retorna o total de números digitados e divisíveis por 10
Retorna 1 se o número digitado for divisível por 10
Gabarito Comentado.
3a Questão (Ref.: 201301344721)
Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e
outras, facultativas.
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN)
{
corpo da função
}
Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma
que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses,
etc).
Tipo , Nome, e Corpo da função.
Tipo, Nome e Parâmetros.
Tipo, Nome, Parâmetros e Corpo da Função.
Tipo, Parâmetro e corpo da função.
Nome, Parâmetro e Corpo da função.
Gabarito Comentado.
4a Questão (Ref.: 201301723005)
Uma universidade privada realizou um vestibular para o curso de medicina. Como prêmio de incentivo aos
futuros médicos, ofereceu bolsas de 10%%, 20%%, 30%%, 40% e 50% para 5˚, 4˚, 3˚, 2˚ e 1˚ colocados
respectivamente. Um programa em C, recebe do banco de dados às matriculas em ordem decrescente (5˚, 4˚,
3˚, 2˚ e 1˚) de colocação e inserem em um vetor.
Qual das funções abaixo está implementada corretamente, para que possamos inverter para ordem crescente
(1˚, 2˚, 3˚, 4˚ e 5˚)?
void inverter(int vet[],int tamanhoVetor){
int i; int aux;
for(i=0; i < tamanhoVetor/2; i++){
aux = vet[i];
vet[tamanhoVetor-1-i] = aux;
vet[i] = vet[tamanhoVetor-1-i];
}
}
void inverter(int vet[],int tamanhoVetor){
int i; int aux;
for(i=0; i < tamanhoVetor; i++){
aux = vet[i];
vet[i] = vet[tamanhoVetor-1-i];
vet[tamanhoVetor-1-i] = aux;
}
}
void inverter(int vet[],int tamanhoVetor){
int i; int aux;
for(i=0; i < tamanhoVetor/2; i++){
aux = vet[i];
vet[i] = vet[tamanhoVetor-1-i];
vet[tamanhoVetor-1-i] = aux;
}
}
void inverter(int vet[],int tamanhoVetor){
int i; int aux;
for(i=0; i < tamanhoVetor/2; i++){
vet[i] = vet[tamanhoVetor-1-i];
vet[tamanhoVetor-1-i] = aux;
aux = vet[i];
}
}
void inverter(int vet[],int tamanhoVetor){
int i; int aux;
for(i=0; i < tamanhoVetor; i++){
vet[i] = vet[tamanhoVetor-1-i];
vet[tamanhoVetor-1-i] = aux;
aux = vet[i];
}
}
5a Questão (Ref.: 201301401094)
Existem basicamente dois tipos de variáveis que podem ser declaradas em um código: variáveis
locais e variáveis globais. Para que um programador possa escolher a melhor maneira de declarar
as variáveis em seu programa é necessário que ele tenha domínio sobre elas.
Assinale a alternativa que contém apenas características das variáveis globais.
Declaradas fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas fora ou dentro do escopo de todas as funções e não poderá ser manipulado por qualquer
função.
Declaradas dentro do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas fora do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Declaradas dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Gabarito Comentado. Gabarito Comentado.
6a Questão (Ref.: 201301387264)
Observe o programa abaixo e escolha a opção que apresenta o que retorna da
função chamada.
O valor retornado corresponde ao índice da variável que contem o menor número
O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável
que contem o menor número
Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função
descobre
O maior número é retornado
O menor número é retornado
Gabarito Comentado. Gabarito Comentado.
1a Questão (Ref.: 201301291593)
Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.
Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
tipo nome_matriz[][];
tipo nome_vetor[numero_colunas][numero_linhas];
nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[numero_colunas][numero_linhas];tipo nome_matriz[numero_linhas][numero_colunas];
2a Questão (Ref.: 201301730740)
Considere que as bibliotecas necessárias foram devidamente declaradas.
int main() {
FILE *arq ;
int i;
_____ c ;
arq = _____ ( " jornal.txt " , " r " ) ;
if ( arq == NULL ){
printf ( " Erro na abertura do arquivo " ) ;
system ( " pause " ) ;
exit ( 1 ) ;
} else
for ( i = 0; i<5; i++){
c = fgetc ( arq ) ;
printf( "%c", c ) ;
}
_____( arq ) ;
system ( " pause " ) ;
return 0;
}
Complete as lacunas do código para que o programa funcione corretamente.
A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas.
int - open - close
char - fopen - fclose
float - fopen - fclose
int - abrir - fopen
char - fopen - fechar
Gabarito Comentado.
3a Questão (Ref.: 201301396474)
A linguagem C possui vários modos de abertura de arquivo. Para tanto, correlacione as colunas abaixo:
i. "r"
ii. "w"
iii. "a"
iv. "r+"
v. "w+"
vi. "a+"
( ) Abrir um arquivo texto para gravação. Os dados serão adicionados no fim do arquivo ("append"), se ele já
existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente
( ) Cria um arquivo texto para leitura e gravação. Se o arquivo existir, o conteúdo anterior será destruído. Se
não existir, será criado.
( ) Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto.
( ) Abre um arquivo texto para gravação e leitura. Os dados serão adicionados no fim do arquivo se ele já
existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente
( ) Abrir um arquivo texto para gravação. Se o arquivo não existir, ele será criado. Se já existir, o conteúdo
anterior será destruído.
( ) Abre um arquivo texto para leitura e gravação. O arquivo deve existir e pode ser modificado.
Dentre as opções abaixo é correto afirmar:
vi, i, ii, iii, v, iv
iii, v, i, vi, ii, iv
iii, ii, iv, vi, v, i
vi, v, i, iii, ii, iv
vi, ii, iv, iii, v, i
Gabarito Comentado. Gabarito Comentado.
1a Questão (Ref.: 201301387289)
Observe o programa abaixo e escolha a opção que descreve o que ele faz.
Lê dados de um arquivo binário e armazena na Memória Principal em uma matriz
unidimensional, exibindo depois na tela.
Lê dados do teclado e armazena na Memória Principal em uma matriz
unidimensional. Depois abre um arquivo do tipo binário para escrita e leitura e, se for
possível, grava os dados no arquivo.
Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional.
Depois abre um arquivo do tipo binário para escrita e, se for possível, grava os dados no
arquivo.
Lê dados do teclado e armazena na Memória Principal em uma matriz
unidimensional. Depois abre um arquivo do tipo texto para escrita e, se for possível,
grava os dados no arquivo.
Lê dados de um arquivo texto e armazena na Memória Principal em uma matriz
unidimensional, exibindo depois na tela.
Gabarito Comentado. Gabarito Comentado.
2a Questão (Ref.: 201301344761)
Um Engenheiro de Produção que gostava de programar resolveu definir uma função para facilitar
seu trabalho, uma vez desejava dar um premio de produtividade para sua equipe.
O premio seria calculado de forma variada e iria se basear na avaliação de cada funcionário
(valores de 1 a 5).
Ele escreveu o protótipo abaixo.
float premio(float salario, int avaliacao);
Tendo em vista esse protótipo é CORRETO afirmar que a função:
Retornará dois valores para a função chamadora.
Recebe dois valores, salário e a classificação, passados por valor.
Não retorna nenhum valor para a função chamadora.
Recebe dois valores, salário e a avaliação, passados por referência.
Retornará o salário somado ao percentual
Gabarito Comentado.
3a Questão (Ref.: 201301291591)
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado
tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programação
adequada, declaração e respectiva manipulação das matrizes, das opções apresentadas a
respeito das matrizes bidimensionais marque a resposta correta.
int mat[3][3]; mat[0][3] = 5;
char mat[2][2]; mat[0][2] = "A";
int mat[3][3]; mat[0][2] = 5;
int mat[3][3]; mat[0][2] = 5.0;
char mat[2][2]; mat[0][2] = A;
4a Questão (Ref.: 201301387275)
Observe o programa abaixo e escolha a opção que exibe a saída que ele produz.
Nessa análise, considere os caracteres de controle \n e \t e atenção especial à
função fgets().
Gabarito Comentado.
5a Questão (Ref.: 201301347417)
Um Engenheiro da prefeitura está fazendo um levantamento do
número de árvores necessárias para serem plantadas em 20 bairros.
Ele gostaria de declarar matrizes para armazenamento desses dados.
Assinale a linha onde a declaração atende ao que ele deseja.
char bairros[20]; int quantidade[20];
char bairros[19]; int quantidade[19];
char bairros[20,40]; int quantidade[20];
char bairros[19][40]; int quantidade[19];
char bairros[20][40]; int quantidade[20];
6a Questão (Ref.: 201301291405)
Em relação ao quer foi apresentado sobre as funções internas da linguagem, marque a
resposta na qual a afirmativa em relação à teoria sobre as mesmas está errada.
As bibliotecas possuem um conjunto de funções do mesmo tipo.
Devemos utilizar o símbolo # antes da palavra include.
Após o include entre os sinais de < e > aparece o nome de uma função.
O nome da biblioteca aparece entre os sinais de < e >.
O include é utilizado para que possamos acessar funções de uma biblioteca.