Buscar

BDQ AV2 - LINGUAGEM DE PROGRAMAÇÃO I - 75 PÁGINAS DE QUESTÕES

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

1!!!!!111! AV2 !!!!!!!11!11!!
	1a Questão (Cód.: 191422)
	Pontos: 0,5  / 0,5
	O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja.
		
	
	
char nomes[19][31]; float salarios[19][13]; 
	
	
char nomes[20][31]; float salarios[20][20]; 
	 
	
char nomes[20][31]; float salarios[20][14]; 
	
	
char nomes[20]; float salarios[19][13]; 
	
	
float nomes[20][31], salarios[20][14]; 
	
	 2a Questão (Cód.: 92347)
	Pontos: 0,5  / 0,5
	Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
		
	
	string.h - Funções para concatenação de strings com inteiros.
	
	stdio.h - Funções para gráficos.
	
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
	
	stdlib.h - Funções de entrada e saida. 
	 
	math.h - Funções matemáticas
	
	 3a Questão (Cód.: 134172)
	Pontos: 0,5  / 0,5
	A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais.
Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++.
		
	
	São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções.
	 
	Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções.
	
	São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas.
	
	São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas.
	
	Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções.
	
	 4a Questão (Cód.: 187390)
	Pontos: 0,0  / 1,5
	Um professor de Linguagem de Programação I pediu a um aluno que desenvolvesse um programa codificado na linguagem C para que ele pudesse calcular a nota da AV1 que seria composta de duas notas: prova e seminário. Entretanto, ele informou que, se  a nota da prova fosse menor do que 4.0, então, não valeria a nota do seminário, ficando a nota da AV1 só com a nota da prova. Caso contrário, Seria feita a média aritmética para compor a nota da AV1.
Ajude ao aluno, escrevendo esse código.
	
	
	Gabarito:
int main()
{
      float prova, seminario,media; 
      printf("\nNota da prova: \n") ; 
      scanf("%f", &prova); 
      printf("\nNota do seminario: \n") ; 
      scanf("%f", &seminario); 
      if ( prova < 4) 
          printf("\nNota da AV1: %.1f\n", prova) ;
      else
      {
          media=(prova+seminario)/2; 
          printf("\nNota da AV1: %.1f\n", media) ; 
      } 
}
	
	 5a Questão (Cód.: 135599)
	Pontos: 1,0  / 1,0
	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.
		
	
	char mat[2][2]; mat[0][2] = A;
	
	int mat[3][3]; mat[0][3] = 5;
	
	int mat[3][3]; mat[0][2] = 5.0;
	 
	int mat[3][3]; mat[0][2] = 5;
	
	char mat[2][2]; mat[0][2] = "A";
	
	 6a Questão (Cód.: 191420)
	Pontos: 0,5  / 0,5
	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,5]; 
	
	
float NOTAS[47][47]; 
	 
	
float NOTAS[47][5]; 
	
	
float Notas[47][47]; 
	
	
float notas[5][47]; 
	
	 7a Questão (Cód.: 188713)
	Pontos: 1,0  / 1,0
	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.
		
	 
	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.
	
	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.
	
	As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
	
	Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
	
	 8a Questão (Cód.: 187983)
	Pontos: 0,5  / 0,5
	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: 650.00
	
	Valor do imposto a ser pago: 800.00
	
	Valor do imposto a ser pago: 1000.00
	 
	Valor do imposto a ser pago: 750.00
	
	Valor do imposto a ser pago: 850.00
	
	 9a Questão (Cód.: 135605)
	Pontos: 0,5  / 0,5
	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.
		
	
	Serão armazenados 10 valores inteiros.
	
	O terceiro valor armazenado será o 60.
	
	O segundo valor armazenado será o 26.
	 
	Serão armazenados 5 valores inteiros.
	
	O décimo valor armazenado será o 117.
	
	 10a Questão (Cód.: 188843)
	Pontos: 0,0  / 1,5
	Um engenheiro civil gostaria de construir uma função que pudesse ajudar a quem precisa construir uma cerca para um terreno de forma retangular.
Deverá ser informado a quantidade de fios da cerca, o preço do metro linear do arame farpado, a largura e o comprimento do terreno.
Por medida de segurança, serão comprados 10% a mais do total de metros lineares. A função retornará o custo total da cerca.
		
	
	Gabarito: 
float valorFinal(int quantidadeFios, float preco, float largura, float comprimento) 
{
     return ((largura + comprimento) * 2)*1.1 * quantidadeFios * preco; 
}
	 2a Questão(Cód.: 135612)
	Pontos:0,0  / 1,0
	Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
	atoi( ). 
	
	strcont( ). 
	
	strlength( ). 
	
	strlen( ). 
	
	strcat( ). 
	
	
	
	 5a Questão(Cód.: 135633)
	Pontos:0,5  / 0,5
	Durante a execução de um programa o operador delete pode desalocar memória, criada pelo operador new.
Esse tipo de manipulação de variáveis com este operador é chamado de:
 
		
	
	Alocação dinâmica 
	
	Alocação por endereço 
	
	Passagem por endereço 
	
	Alocação estática 
	
	Passagem por valor 
	
	
	 6a Questão(Cód.: 135635)
	Pontos:0,0  / 0,5
	Na linguagem C++, no processo de manipulação de arquivos, existem algumas formas de indicar oque será feito com os mesmos no momento em que os abrimos. 
Das opções apresentadas, marque aquela que permite que os dados sejam adicionados no arquivo aberto após os dados existentes sem apagá-los.
 
		
	
	ios::app
	
	ios::pos
	
	ios::beg
	
	ios::in 
	
	ios::out 
	
	
	 8a Questão(Cód.: 135608)
	Pontos:0,0  / 0,5
	Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
intvetn[3][2];
 for (inti=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,1,1,2,2,3. 
	
	O trecho apresentado possui erro e apenas um valor será armazenado.
	
	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. 
	
	
	 9a Questão(Cód.: 135412)
	Pontos:0,0  / 0,5
	Um programador criou o seguinte código:
 
int calcula(int x, char letra){
	cout<< letra<<") "<<"Número:  "<<x;<span=""><x;<font=""></x;<></x;<>
	x - -;
	return x;
}
Baseado no trecho de código apresentado e na teoria vista sobre o funcionamento das funções marque a resposta na qual a afirmativa está errada.
 
		
	
	O nome da função é calcula. 
	
	A função deve obrigatoriamente retornar um número inteiro. 
	
	A função deve ser chamada pelo seu nome enviando os parâmetros solicitados. 
	
	A função trabalha com dois parâmetros. 
	
	O x não pode ser retornado, pois foi recebido como parâmetro. 
	
	
	 10a Questão(Cód.: 103357)
	Pontos:0,5  / 0,5
	Qual é a saída de tela, deste trecho de programa? 
int x=4, 
y=8; 
if (x < 2) 
    printf ("%d \n", x); 
else 
    printf ("%d \n", y); 
		
	
	9
	
	8
	
	12
	
	\n8
	
	\n4
	 2a Questão (Cód.: 135613)
	8a sem.: STRINGS
	Pontos: 0,0  / 1,0 
	Um programador durante a construção de um código precisava retirar de um texto que continha uma data completa, com dia, mês e ano, apenas o ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
	substr( ); 
	
	strcont( ). 
	
	strlength( ). 
	
	strcat( ). 
	
	strlen( ).
	 4a Questão (Cód.: 135610)
	8a sem.: STRINGS
	Pontos: 0,0  / 1,0 
	Um programador durante a construção de um código precisava obter a quantidade de caracteres contido em um determinado texto.
Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca < string >.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
	strcont( ). 
	
	strlen( ). 
	
	strlength( ). 
	
	atoi( ). 
	
	strcat( ). 
	 4a Questão(Cód.: 135611)
	Pontos:0,0  / 1,0
	Um programador durante a construção de um código precisava unir o nome e a matricula de um servidor.
Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca <string>.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
	strlength( ). 
	
	strlen( ). 
	
	strcont( ). 
	
	atoi( ).
	
	strcat( ). 
	
	 8a Questão (Cód.: 135623)
	9a sem.: PONTEIROS
	Pontos: 0,0  / 0,5 
	Na linguagem C++, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros. Quando as seguintes linhas de código forem executadas: (desconsidere a necessidade do restante do programa)
 float *x, pos;
 pos = 5.5;
 x = &pos
 
Podemos afirmar que:
		
	
	O conteúdo do endereço para o qual x aponta é 5.5 
	
	A variável pos aponta para x 
	
	Não é possível trabalhar com ponteiros do tipo real.
	
	O conteúdo de x é 5.5 
	
	O conteúdo de &pos é 5.5 
	
	
	Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se seguem, assinale a que não contem erros sobre as matrizes multidimensionais- 1 e matrizes não dimensionadas- 2 respectivamente.
		
	
	1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é especificado. 
	
	1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado. 
	
	1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os seus elementos.
	
	1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho] 
	
	1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n]. 
	 5a Questão (Cód.: 135634)
	Pontos: 0,0  / 0,5
	Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por:
 
		
	
	valor
	
	endereço
	 
	ponteiro
	 
	referência
	
	memória
	 7a Questão (Cód.: 135597)
	Pontos: 0,0  / 0,5
	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 apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta.
		
	
	char vetnome[5]= "Maria";
	
	float array[4]=[1.0,2.4,3.5,4.5];
	 
	float vetreais[4]={1.0,2.4,3.5,4.5};
	 
	char vet[5]={a,b,c,d,e};
	
	int vetinteiros[5]=[1,2,3,4,5];
	
	 3a Questão (Cód.: 135601)
	Pontos: 0,5  / 0,5
	 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_vetor[numero_colunas][numero_linhas];
	
	tipo nome_matriz[numero_colunas][numero_linhas];
	 
	tipo nome_matriz[numero_linhas][numero_colunas];
	
	nome_matriz[numero_linhas][numero_colunas];
	
	tipo nome_matriz[][];
	
	
	 4a Questão (Cód.: 188769)
	Pontos: 1,0  / 1,0
	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:
		
	
	Recebe dois valores, salário e a avaliação, passados por referência.
	
	Retornará dois valores para a função chamadora.
	
	Não retorna nenhum valor para a função chamadora.
	 
	Recebe dois valores, salário e a classificação, passados por valor.
	
	Retornará o salário somado ao percentual
	
	 8a Questão (Cód.: 187951)
	Pontos: 0,0  / 0,5
	Na lista de exercícios que foi liberada pela professora de Linguagem de Programação I, na questão 3, estava presente  o programa abaixo. No enunciado, era solicitado que fosse feito o acompanhamento da execução do programa no Teste de Mesa, supondo que tivesse sido digitada a seguinte data: 11151918.
Assinale a opção CORRETA para a saída desse programa.
 
		
	
	1918 / 15 / 11
	 
	1918 / 11 / 15
	
	15 / 11 / 1918
	
	11 / 1918 / 15
	 
	11 / 15 / 1918
	
	
	
	 10a Questão (Cód.: 187941)
	Pontos: 0,0  / 1,5
	Um comerciante  resolveu dar descontos em sua loja porque as vendas tinham diminuído muito nos últimos quinze dias.
Teve uma idéia de confeccionar  um cartaz informando que:
 COMPRAS COM VALORES MENORES QUE R$ 40,00 - desconto de 5%
DEMAIS VALORES - desconto de 10%
Construa um programa que deixe entrarcom o valor da compra e exiba o valor já com desconto.
	
	
	Gabarito:
int main()
{
      float valor; 
      printf("\nValor da compra:"); 
      scanf("%f", &valor); 
      if( valor < 50) 
          printf("\nValor com desconto: %.2f\n",valor*0.95); 
      else
          printf("\nValor com desconto: %.2f\n",valor*0.9); 
}
	 1a Questão (Ref.: 201202262780)
	Pontos: 0,0  / 0,5
	Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um arquivo txt para alteração.
Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um trecho de proteção que possibilita, se for necessário, desistir de alterar.
Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme mostrado abaixo:
 
ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 
Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo.Selecione-a.
		
	
	fp=fopen("ddmmaaaa.txt" "r");
	
	fp=fopen(ddmmaaaa.txt, "r");
	 
	fp=fopen(nomeArq, "w");
	 
	fp=fopen(nomeArq, "a+");
	
	fp=fopen("nomeArq", "a");
	
	
	 2a Questão (Ref.: 201202166323)
	Pontos: 1,0  / 1,0
	Dado o trecho de lógica utilizando o conceito da linguagem de programação C. Diga o resultado das variáveis x, y e z depois da seguinte sequência de operações:
int x,y,z; 
x=y=10; 
z=++x; 
x=-x; 
y++;
x=x+y-(z--); 
		
	
	x = -20
y = 20 
z = 10
	
	x = 11 
y = 11 
z = 15
	
	x = -01
y = 01 
z = 10
	
	x = -13 
y = 11 
z = 13
	 
	x = -11 
y = 11 
z = 10
	
	
	 3a Questão (Ref.: 201202259850)
	Pontos: 1,0  / 1,0
	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%4d\t%f\n", num, med);
	
	printf("\n%d\t%6.2f\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);
	
	
	 4a Questão (Ref.: 201202207909)
	Pontos: 0,0  / 0,5
	Na linguagem C/C++ existem três loops ou estruturas de repetição, sendo elas, for, while e do-while. Considere as afirmações abaixo.
I) O loop for é usado para repetir um comando ou bloco de comandos diversas vezes, podendo ser baseado em um contador interno da estrutura e uma condição que o encerra.
II) A estrutura do-while executa inicialmente todos os comandos internos do laço, depois testa a condição, se esta for verdadeira, retorna e faz tudo novamente.
III) A estrutura while testa uma condição, se esta for falsa, as instruções dentro do laço não serão executadas, e o teste será feito novamente até que a condição seja atingida.
As assertivas corretas são:
		
	
	Apenas a ||
	 
	| e ||
	 
	|| e |||
	
	Apenas a |||
	
	| e |||
	
	
	 5a Questão (Ref.: 201202208129)
	Pontos: 0,0  / 0,5
	Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.
Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
 
		
	
	Somente para gravação
	
	Para leitura e gravação
	
	Não precisa abrir o arquivo
	 
	Para leitura e edição
	 
	Somente para leitura
	
	
	 6a Questão (Ref.: 201202140650)
	Pontos: 0,5  / 0,5
	Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
		
	
	struct
	
	for
	 
	while
	
	if-else
	
	switch
	
	 9a Questão (Ref.: 201202164800)
	Pontos: 0,5  / 0,5
	Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
		
	
	
stdaux = Dispositivo de saída principal (normalmente a porta usb)
	
	
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
	 
	 stdin = Dispositivo de entrada padrão (normalmente o teclado)
	
	stderr = Dispositivo de saída padrão (normalmente o monitor)
	
	stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
	 1a Questão (Ref.: 201301220969)
	Pontos: 0,8  / 1,5
	Uma nova regra foi criada para as finais das Olimpíadas; duas provas para decidir o campeão olímpico. Na primeira prova, os três nadadores com melhores tempos iriam participar e somente os dois com melhores tempos iriam para segunda.
Construa um programa, somente para a primeira prova,  que deixe entrar com os tempos e os números de inscrição e exiba os números de inscrição dos dois melhores tempos, assumindo que os tempos serão diferentes.
	
Gabarito:
int main()
{
      int matric1, matric2, matric3; 
      float tempo1, tempo2, tempo3; 
      printf("\nDigite tres numeros de inscricao: ");
      scanf("%d %d %d",&matric1, &matric2, &matric3) ; 
      printf("\nDigite tres tempos: ");
      scanf("%f %f %f", &tempo1, &tempo2, &tempo3) ; 
      if( tempo1 > tempo2 && tempo1 > tempo3 ) 
          printf("\n%d\t%d\n", matric2 ,matric3); 
      else if( tempo2 > tempo3 ) 
                printf("\n%d\t%d\n", matric1 ,matric3); 
            else 
                printf("\n%d\t%d\n",matric1,matric2); 
}
	
	
	 2a Questão (Ref.: 201301273643)
	Pontos: 0,0  / 1,0
	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]= {{2,4,6},{7,8,9}};
	
	int matriz[][3]= {{2,4,6},{7,8,9}};
	 
	int matriz[2][3]= {{2,4,6};{7,8,9}};
	
	int matriz[][3]= {{2,4,6}};
	 
	int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4;
	 4a Questão (Ref.: 201301224644)
	Pontos: 0,5  / 0,5
	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.
	
	IV está correta e a I não está correta.
	 
	I e III estão corretas.
	
	II está correta e a III não está correta.
	
	II e IV estão corretas.
	
	
	 5a Questão (Ref.: 201301101344)
	Pontos: 0,5  / 0,5
	Qual o nome da função matemática que calcula a potenciação de um número?
		
	
	elevado
	 
	pow
	
	sqrt
	
	double
	
	pot
	
	
	 6a Questão (Ref.: 201301167349)
	Pontos: 0,5  / 0,5
	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 |||
	
	 8a Questão (Ref.: 201301125465)
	Pontos: 0,0  / 1,5
	Faça um programa em C que dado um número inteiro positivo n, imprimir os n primeiros naturais ímpares. Exemplo: Para n=4 a saída deverá ser 1,3,5,7.
		
	
	
Gabarito: #include 
int main() {
int n, i, impar;
printf("\n\tGeradorde numeros impares\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
i = 0;
impar = 1; 
printf("Os %d primeiros impares sao:\n", n);
while (i < n) {
printf ("%d\n", impar);
impar = impar + 2; 
i = i + 1;
}
return 0;
}
	
	
	 9a Questão (Ref.: 201301273637)
	Pontos: 0,5  / 0,5
	Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.
Baseado neste conceito, identifique a opção incorreta:
		
	
	Na declaração int[50]; o índice da ultima posição é 49.
	
	Permite agrupar vários elementos em uma mesma variável indexada.
	
	Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C.
	
	Deve ser declarado antes de acessado em seu programa.
	 
	Podem ser formado por elementos de tipos diferentes.
	
	
	 10a Questão (Ref.: 201301278296)
	Pontos: 1,0  / 1,0
	Na linguagem C, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros.  Após as linhas de código apresentadas, que tratam a manipulação de variáveis e ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade do restante do programa)
int *x, pos;
pos = 5;
x = &pos;
Podemos afirmar que:
		
	
	O conteúdo de x é 5.
	
	O endereço de memória de x é 5.
	 
	O conteúdo do endereço para o qual x aponta é 5.
	
	A variável pos aponta para x.
	
	O conteúdo de &pos é 5.
	 1a Questão (Ref.: 201302029147)
	Pontos: 0,5  / 1,5
	Considere que você foi contratado para trabalhar em um avançado laboratório de engenharia. Este laboratório precisa desenvolver programas em liguagem C para conversões de medidas para automatizar os seus processos. Codifique um programa em linguagem C que obtenha uma medida em quilômetros como entrada de dados do usuário através da função scanf, converta a medida para milhas e exiba a medida convertida através da função printf. Defina o fator de conversão como uma constante chamada fator de valor igual a 1.61, que deve ser usado no cálculo da conversão. Defina as variáveis como numéricos reais em ponto flutuante de menor precisão para ocupar menos espaço de memória.
		
	
	
Gabarito:
#include 
#include
int main(int argc, char** argv) {
    const float fator = 1.61;
    float medida;
    scanf("%f", &medida);
    medida = medida / fator;
    printf("%f", medida);
    return (0);
}
	 3a Questão (Ref.: 201302170038)
	Pontos: 0,0  / 1,5
	Desenvolva um programa que leia uma matriz 3 x 3 de inteiros e exiba sua diagonal principal e secundária.
	
Gabarito:
#include 
#include
void main(){
  int minhaMatriz[3][3];
       int linha,coluna;
       for (linha=0; linha<3;linha++){
            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");
      printf("DIAGONAL SECUNDARIA Digitada:\n");
      printf("-----------------------------\n");
        for (linha=0; linha<3;linha++){      
            for (coluna=0; coluna<3;coluna++){
                 if (coluna == (3 - 1 - linha )){                   
                       printf("%5d ", minhaMatriz[linha][coluna]);
                   }
         }
      }
      printf("\n\n");
  system("PAUSE"); 
}
	
	
	 4a Questão (Ref.: 201302166221)
	Pontos: 0,5  / 0,5
	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á 11
	 
	Ocorrerá um erro
	
	O programa exibirá 0
	
	O programa exibirá 8
	
	O programa exibirá 16
	
	
	 5a Questão (Ref.: 201302163331)
	Pontos: 0,5  / 0,5
	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 base - extensão .c - compilar - fonte
	
	Código de texto - extensão .txt - editar - fonte
	
	Fonte - extensão .txt - editar - executável
	
	Executável - extensão .c - compilar - fonte
	 
	Código fonte - extensão .c - compilar - executável
	
	
	 6a Questão (Ref.: 201302163347)
	Pontos: 0,0  / 0,5
	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 de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente.
	 
	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 e dependendo do resultado permite que o programa siga por caminhos diferentes.
	
	Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes.
	
	
	 7a Questão (Ref.: 201302021828)
	Pontos: 0,5  / 0,5
	Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
		
	 
	 stdin = Dispositivo de entrada padrão (normalmente o teclado)
	
	
stdaux = Dispositivo de saída principal (normalmente a porta usb)
	
	stderr = Dispositivo de saída padrão (normalmente o monitor)
	
	
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
	
	stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
	
	 9a Questão (Ref.: 201302174604)
	Pontos: 0,0  / 0,5
	Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar.
Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para  atender a necessidade citada.
		
	
	int notas[150];
	
	integer notas[150];
	 
	float notas[150];
	 
	float %.1f notas[150];
	
	real notas[150];
	
	
	 10a Questão (Ref.: 201302160792)
	Pontos: 1,0  / 1,0
	Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada.
                         
		
	
	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 valor retornado correspondeao índice da variável que contem o menor número 
	
	O menor número é retornado 
	 
	O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número 
	5a Questão (Cód.: 135601)
	9a sem.: VETORES E MATRIZES
	Pontos:0,0 / 0,5 
	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_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];
	
	tipo nome_matriz[][];
	
	7a Questão (Cód.: 135603)
	7a sem.: VETORES E MATRIZES
	Pontos:0,0 / 0,5 
	Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
float vetn[20];
for (int i=0; i < 20; i++){
vetn[i] = ( i+1) * 0.1;
i = i + 2;
}
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 20 valores reais.
	
	Serão armazenados 7 valores reais.
	
	O vigésimo valor armazenado será o 2.0.
	
	O terceiro valor armazenado será o 0.6.
	
	O segundo valor armazenado será o 0.2.
	
	 1a Questão (Ref.: 201202339035)
	
	Observe o programa abaixo e escolha a opção que descreve o que ele faz.
		
	
	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. 
	 
	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 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.
	
	
	 2a Questão (Ref.: 201202296451)
	
	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.
		
	
	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.
	
	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.
	
	Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
	
	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.
	 1a Questão (Cód.: 191422)
	
	Pontos: 0,5  / 0,5 
	O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja. 
		
	
	
char nomes[20][31]; float salarios[20][20]; 
	
	
char nomes[19][31]; float salarios[19][13]; 
	
	
char nomes[20]; float salarios[19][13]; 
	
	
char nomes[20][31]; float salarios[20][14]; 
	
	
float nomes[20][31], salarios[20][14]; 
	
	 3a Questão (Cód.: 191479)
	
	Pontos: 0,0  / 0,5 
	 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"); stop; 
	
	90: printf("Pode"); 
	
	case 90: printf("Pode") ; break; 
	
	case a > 90: printf("Pode") ;break; 
	
	case a=90: printf("Pode") ;break; 
	
	
	 4a Questão (Cód.: 188744)
	
	Pontos: 0,0  / 1,0 
	Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()?
Observe as afirmativas abaixo e assinale a resposta CORRETA
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
		
	
	II e III estão corretas 
	
	I e III estão corretas 
	
	Só a II está correta 
	
	I e IV estão corretas 
	
	II e IV estão corretas 
	 7a Questão (Cód.: 135608)
	
	Pontos: 0,5  / 0,5 
	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.
		
	
	O trecho apresentado possui erro e apenas um valor será armazenado.
	
	Serão armazenados os valores 0,1,1,2,2,3. 
	
	O trecho apresentado possui erro e nenhum valor será armazenado. 
	
	Serão armazenados os valores 0,0,1,1,2,2. 
	
	Serão armazenados os valores 0,1,2,2,3,3. 
	
	 4a Questão (Ref.: 201102291136)
	Pontos: 0,0  / 1,0
	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.
		
	 
	A função main() pode acessar qualquer variável local de qualquer função.
	 
	Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
	
	As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
	
	Uma variável local só é visualizada pela função onde foi declarada.
	
	Existem funções que não têm variáveis locais.
	 6a Questão (Ref.: 201102291319)
	Pontos: 1,0  / 1,0
	Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
		
	
	0     1     1     2     3     4     5     6
	 
	1     1     2     3     5     8     13     21
	
	0     1     1     3     2     4     5     7
	
	0     1     1     2     3     5     8     13     21
	
	1       3     4      7      9     11     13
	
	 10a Questão (Ref.: 201102279951)
	Pontos: 0,5  / 0,5
	Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
		
	
	((pontos>=10) || (pontos <=20))
	
	((pontos>=10) % (pontos <=20))
	
	((pontos>=10) ! (pontos <=20))
	
	((pontos>=10) # (pontos <=20))
	 
	((pontos>=10) && (pontos <=20))
	
	 2a Questão (Ref.: 201201971778)
	Pontos: 0,5  / 0,5
	Alguns iniciantes na linguagem C sentem dificuldadesde usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 
		
	
	Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
	
	Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
	 
	O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
	
	O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
	
	Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	 3a Questão (Ref.: 201201914489)
	Pontos: 1,0  / 1,0
	Uma parte bastante importante no estudo da linguagem C é ter o conhecimento das suas bibliotecas. As respectivas categorias das funções das bibliotecas #include ctype.h e #include math.h são:
		
	
	Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções para entrada e saída de dados.
	
	Funções para entrada e saída de dados; funções para conversão de números e alocação na memória.
	
	Funções para entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero.
	
	Funções para conversão de números e alocação na memória; funções matemáticas que possibilitam arredondamento de um numero.
	 
	Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções matemáticas que possibilitam arredondamento de um numero.
	
	
	 4a Questão (Ref.: 201201957856)
	Pontos: 0,5  / 0,5
	Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
		
	
	while (num == 0)
	
	for ( i = 0; i == num; i++)
	
	enquanto (num > 0)
	 
	while (num != 0)
	
	for (i = num; i > 0; i++)
	
	 8a Questão (Ref.: 201201968216)
	Pontos: 0,0  / 1,5
	Construa um programa que informe ao usuário que ele deverá entrar com um número inteiro de três algarismos.
Se o número tiver três algarismos, deverão ser exibidos o algarismo da casa das centenas e o algarismo da casa das unidades.
Caso contrário, aparecerá a mensagem: O numero não tem tres algarismos.
Observação:  Lembre-se de que existem números negativos com tres algarismos.
 
 
		
	
Resposta:
	
Gabarito:
int main()
{
      int num; 
      printf("\nDigite um numero com tres algarismos:"); 
      scanf("%d", &num); 
      if( abs(num)>=100 && abs(num)<=999) 
          printf("\nCentenas: %d\tUnidades: %d\n",abs(num)/100, abs(num)%10); 
      else
          printf("\nO numero nao tres algarismos\n");
}
	
	
	 9a Questão (Ref.: 201201879974)
	Pontos: 0,0  / 1,5
	Considere que você foi contratado para trabalhar em uma empresa de trading (comércio) de commodities. Tendo em vista o crescimento do mercado chinês, a empresa em que você trabalha deseja aumentar o comércio de commoditties com o mercado chinês. Para que a empresa se torne competitiva, ela precisa desenvolver programas em liguagem C para conversões de medidas para agilizar os seus processos e evitar possíveis erros com o uso de calculadoras eletrônicas. Codifique um programa em linguagem C que obtenha uma medida em Ku ping, unidade chinesa de medida de massa, como entrada de dados do usuário através da função scanf, converta a medida para toneladas e exiba a medida convertida através da função printf. Defina o fator de conversão como uma constante chamada fator de valor igual a 26797,96. Este fator deve ser usado no cálculo da conversão, sabendo-se 1 tonelada equivale a 26797,96 Ku ping. Defina a constante chamada fator e a variável chamada medida como numéricos reais em ponto flutuante de menor precisão para ocupar menos espaço de memória.
		
	
	
Gabarito: #include 
#include 
int main(int argc, char** argv) {
    const float fator = 26797.96;
    float medida;
    scanf("%f", &medida);
    medida = medida / fator;
    printf("%f", medida);
    return (0);
}
8a Questão (Ref.: 201201899321) Pontos: 0,0 / 1,5
Faça um programa em C que dado um número inteiro positivo n, imprimir os n primeiros naturais ímpares.
Exemplo: Para n=4 a saída deverá ser 1,3,5,7.
Gabarito: #include
int main() {
int n, i, impar;
printf("\n\tGerador de numeros impares\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
i = 0;
impar = 1;
printf("Os %d primeiros impares sao:\n", n);
while (i < n) {
printf ("%d\n", impar);
impar = impar + 2;
i = i + 1;
}
return 0;
}
9a Questão (Ref.: 201202047493) Pontos: 0,0 / 0,5
Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.
Baseado neste conceito, identifique a opção incorreta:
Na declaração int[50]; o índice da ultima posição é 49.
**Podem ser formado por elementos de tipos diferentes.**
Deve ser declarado antes de acessado em seu programa.
Permite agrupar vários elementos em uma mesma variável indexada.
Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C. 
7a Questão (Ref.: 201201966329) Pontos: 0,3 / 1,5
Sabe-se que o dominó é um jogo milenar e que tem 28 peças. Os valores dessas peças,
poderíamos dizer, usando uma linguagem Matemática, que seriam resultados da
combinação 2 a 2 dos números de 0 a 6, incluindo peças onde o número esteja
presente duas vezes.
Construa uma função que exiba os valores das peças do dominó.
Gabarito:
void domino()
{
int x, y;
for( x=0 ; x <= 6 ; x++)
{
for( y = x; y <= 6 ; y++)
printf("%d - %d\t", x,y);
printf("\n");
}
}
1a Questão (Ref.: 201202238477) Pontos:
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,40]; int quantidade[20];
**char bairros[20][40]; int quantidade[20]**;
char bairros[20]; int quantidade[20];
char bairros[1 9]; int quantidade[1 9];
char bairros[1 9][40]; int quantidade[1 9];
2a Questão (Ref.: 201202234790) Pontos:
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e/
outras 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 = 7, num2=8; float num3=1 5.2;
printf("\n1 2345678901 234");
printf("\n%.3f\t%.2f\n", ce il((num1+num2)) /2+num3, num3/2);
printf("\n%.3f\t%.2f\n", (float)(num1+num2) /2+num3, num3/2);
printf("\n%.0f\t%06.2f\n", (float)num2+num1, num3);
printf("\n%.2f\t%06.2f\n",(float) num1+num2/2 +num3, num3);
**printf("\n%.3f\t%.0f\n", ce il((num1+num2)/2+num3), num3);**
1a Questão (Ref.: 201202462941) Pontos: 0,2 / 1,5
Desenvolva um programa que leia números inteiros, até que seja digitado 0, e que exiba:
 A média de todos os valores digitados
 O maior valor digitado
Gabarito:
#include
#include
void main(){
int i=0;
float valor, soma=0, media=0, maior;
puts("Digite um valor: ");
scanf("%f",&valor);
while(valor!=0){
i++;
if(i==1)
maior=valor;
else
if(maior maior=valor;
soma+=valor;
puts("Digite outro valor: ");
scanf("%f",&valor);
}
media= soma/i;
printf("Elementos: %d\n",i);
printf("Média: %.2f\n",media);
printf("Maior: %.2f\n",maior);
system("PAUSE");
}
9a Questão (Ref.: 201202358035) Pontos: 1,0 / 1,0
As matrizes, em geral, são caracterizadas por se tratarem de uma única variávelde determinado tamanho que guarda várias informações do
mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em relação à
manipulação de vetores marque a resposta correta.
char vetnome[5]= "Maria";
**float vetreais[4]={1.0,2.4,3.5,4.5};**
float array[4]=[1.0,2.4,3.5,4.5]; int
vetinteiros[5]=[1,2,3,4,5];
char vet[5]={a,b,c,d,e};
10a Questão (Ref.: 201202453675) Pontos: 0,5 / 0,5
Um lojista gostaria de desenvolver um programa que pudesse armazenar os
códigos(valores inteiros), os valores de compra(valores reais), os valores de
vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.
Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser
desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
**int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; int**
codigos[999], qtdade[999]; float valorC[999], valorV[999]; double
codigos[999], qtdade[999], valorC[999], valorV[999];
2a Questão (Ref.: 201102441169) Pontos: 0,0 / 1,0
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).
Nome, Parâmetro e Corpo da função.
Tipo, Parâmetro e corpo da função.
**Tipo , Nome, e Corpo da função.**
Tipo, Nome e Parâmetros.
Tipo, Nome, Parâmetros e Corpo da Função
4a Questão (Ref.: 201102344808) Pontos: 0,0 / 1,5
Faça um programa em C que dado um número inteiro positivo n, calcular a soma dos n primeiros números naturais.
Gabarito:
#include
int main() {
int n, soma;
printf("\n\tCalculo da soma dos n primeiros numeros naturais\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
soma = (n * (n + 1)) / 2;
printf("A soma dos %d primeiros numeros naturais e' %d\n", n, soma);
return 0;
}
7a Questão (Ref.: 201102441304) Pontos: 0,0 / 1,5
Sabe-se que a média ponderada é o quociente da divisão da soma dos produtos valor x peso pelasoma dos pesos.
Construa um programa na linguagem C que receba duas notas e seus respectivos pesos e exiba 
média ponderada.
Gabarito:
#include
#include
int main()
{
 float nota1, nota2, peso1, peso2, mediaP;
 printf("\n1a Nota e peso: " );
 scanf("%f %f",¬a1, &peso1);
 printf("\n2a Nota e peso: " ) ;
 scanf("%f %f",¬a2, &peso2);
 mediaP=(nota1 * peso1 + nota2 * peso2)/(peso1 + peso2);
 printf("\nMedia Ponderada: %.2f\n" , mediaP );
}
4a Questão (Ref.: 201301811378) Pontos: 0,5 / 0,5
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
=, > e ||
+, - e *
**<, > e >=**
&&, >= e ||
&&, || e ~
5a Questão (Ref.: 201301874260) Pontos: 0,0 / 0,5
A estrutura de decisão switch é extremamente poderosa na linguagem C. Dado o código:
#include < stdio.h>
#include < stdlib.h>
void main(){
int a= 3; int b =2;
switch(a){
 case 1: a++; break;
 case 2: a-=b++; break;
 case 3: if(b)a+=b;
 default: a = 1;
}
printf("%d", a+b);
system("PAUSE");
}
Selecione a opção correta:
O programa exibirá 5
**O programa exibirá 3**
O programa exibirá 7
Ocorrerá um erro
O programa exibirá 1
6a Questão (Ref.: 201301821765) Pontos: 1,0 / 1,5
Um comerciante resolveu dar descontos em sua loja porque as vendas tinham diminuído muito nos últimos quinze dias.
Teve uma idéia de confeccionar um cartaz informando que:
COMPRAS COM VALORES MENORES QUE R$ 40,00 - desconto de 5%
DEMAIS VALORES - desconto de 10%
Construa um programa que deixe entrar com o valor da compra e exiba o valor já com desconto.
Gabarito:
int main()
{
float valor;
printf("\nValor da compra:");
scanf("%f", &valor);
if( valor < 50)
printf("\nValor com desconto: %.2f\n",valor*0.95);
else
printf("\nValor com desconto: %.2f\n",valor*0.9);
}
9a Questão (Ref.: 201301865040) Pontos: 0,0 / 0,5
Observe o trecho de código abaixo e suponha que foi digitado o número 1762.
Qual das opções abaixo corresponde à saída?
2671 1762
12671 1762
1762 0
1762 12671
**2671 0**
	 1a Questão (Ref.: 201403741018)
	
	
	A função remove() apaga um arquivo especificado. Tem como protótipo:
		
	
	int remove (int *nome_do_arquivo);
	 
	int remove (char *nome_do_arquivo);
	
	void remove (char *nome_do_arquivo);
	
	char remove (char *nome_do_arquivo);
	 
	int remove (char nome_do_arquivo);
	
	 2a Questão (Ref.: 201403242751)
	
	
	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][2] = 5;
	 
	int mat[3][3]; mat[0][2] = 5.0;
	
	char mat[2][2]; mat[0][2] = A;
	
	char mat[2][2]; mat[0][2] = "A";
	
	int mat[3][3]; mat[0][3] = 5;
	
	 3a Questão (Ref.: 201403242789)
	
	
	Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.
Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
 
		
	
	Para leitura e gravação
	 
	Somente para leitura
	
	Somente para gravação
	 
	Para leitura e edição
	
	Não precisa abrir o arquivo
	
	
	
	
	 4a Questão (Ref.: 201403727983)
	
	
	Uma das ultimas funções estudadas foi a remove(). Suponha que o nome do arquivo é (pessoa) e é constante.
Assinale a alternativa que apresenta a sintaxe correta para a função.
		
	 
	remove( "pessoa", "arq" ) ;
	
	remove( "pessoa", arq ) ;
	 
	remove( "pessoa" ) ;
	
	remove(pessoa, arq) ;
	
	remove( pessoa ) ;
	
	 5a Questão (Ref.: 201403727918)
	
	
	Nas aulas conhecemos primeiro as funções fseek() e ftell() e posteriormente outras duas funções ______ e ______ que são equivalentes a estas porém com sintaxe diferentes.
Assinale a alternativa que completa corretamente as lacunas.
		
	 
	fgetpos() e fsetpos().
	
	rewind () e fgets ().
	 
	fgets() e fsetpos().
	
	fgetpos() e ftell().
	
	fwrite() e rewind().
	
	
	
	 6a Questão (Ref.: 201403338449)
	Observe o programa abaixo e escolha a opção que descreve o que ele faz.
		
	 
	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 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 texto 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 binário para escrita e leitura 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. 
	 1a Questão (Ref.: 201403727837)Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.
Das afirmativas apresentadas qual define melhor e corretamente qual a finalidade da função fprintf() .
		
	 
	Funções para gravar uma linha.
	
	Função que detecta o fim do arquivo.
	
	Função que fecha um arquivo.
	 
	Funções para gravação formatada.
	
	Funções para gravar um caractere.
	 2a Questão (Ref.: 201403733388)
	
	
	Suponha que o arquivo dados.txt contém a cadeia de caracteres "ABCYDEF" e nada mais. O que o seguinte programa imprime?
int main( void) {
FILE *entrada;
int c; 
entrada = fopen( "dados.txt", "r");
while ((c = getc( entrada)) != EOF)
printf( "%c ", c);
fclose( entrada);
return EXIT_SUCCESS;
}
		
	
	ABCDEFY
	 
	ABCYDEF
	
	ABCDEF
	
	ABC
	
	DEF
	
	
	
	 3a Questão (Ref.: 201403681900)
	
	
	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.
		
	
	char - fopen - fechar
	 
	char - fopen - fclose
	
	int - open - close
	
	float - fopen - fclose
	
	int - abrir - fopen
	 4a Questão (Ref.: 201403740977)
	
	
	O protótipo do comando fputs é:
		
	 
	int *fputs (char *str,FILE *fp);
	
	char fputs (char *str,FILE *fp);
	
	char *fputs (char *str,FILE fp);
	
	char *fputs (char str,FILE *fp);
	 
	char *fputs (char *str,FILE *fp);
	
	
	
	
	 5a Questão (Ref.: 201403727805)
	
	
	Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arq, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar dados no fim do arquivocorretamente seguindo as regras da linguagem.
		
	
	arq = fopen("texto.txt", "w");
	
	arquivo = fopen("material.dat", "w+");
	
	arquivo = fopen("material.dat", "r+");
	 
	arq = fopen("texto.txt", "a+");
	 
	arquivo = fopen("material.dat", "a+");
	
	
	
	
	 6a Questão (Ref.: 201403727826)
	
	
	Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo.
Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas.
		
	
	Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema.
	
	Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa.
	 
	A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário.
	 
	A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL.
	
	O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário.
	 1a Questão (Ref.: 201403242764)
	
	
	Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	 
	atoi( ).
	
	strlen( ).
	 
	strcat( ).
	
	strcont( ).
	
	strlength( ).
	
	
	
	
	 2a Questão (Ref.: 201403347620)
	
	
	Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
		
	
	O programa exibirá 9
	
	O programa exibirá 5
	
	O programa exibirá 0
	 
	Ocorrerá um erro
	
	O programa exibirá 4
	
	 3a Questão (Ref.: 201403295881)
	
	
	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 Parâmetros.
	
	Tipo, Nome, Parâmetros e Corpo da Função.
	
	Nome, Parâmetro e Corpo da função.
	
	Tipo, Parâmetro e corpo da função.
	 
	Tipo , Nome, e Corpo da função.
	
	 4a Questão (Ref.: 201403338424)
	
	
	Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada.
                         
		
	 
	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 valor retornado corresponde ao índice da variável que contem o menor número 
	
	O menor número é retornado 
	
	 5a Questão (Ref.: 201403674145)
	
	
	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-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/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; 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; 
}
	
	 6a Questão (Ref.: 201403352254)
	
	
	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 dentro do escopo de todas as funções e não 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 fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
	1a Questão (Ref.: 201403681731)
	
	
	Verifique o código a seguir e assinale a alternativa que contém um erro presente no código e a justificativa correta. 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);
}
		
	
	Formato do while- deveria ter apenas um sinala de (=).
	 
	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 (;).
	
	 2a Questão (Ref.: 201403352251)
	
	
	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.
		
	 
	float matrizExemplo[20][10];
	
	int matrizExemplo[10,20];
	 
	int matrizExemplo[10][20];
	
	matrizExemplo float[20][10];
	
	matrizExemplo int[10][20];
	
	
	
	 3a Questão (Ref.: 201403347607)
	
	
	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]= {{2,4,6},{7,8,9}};
	
	int matriz[][3]= {{2,4,6},{7,8,9}};
	 
	int matriz[][3]= {{2,4,6}};
	
	int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4;
	 
	int matriz[2][3]= {{2,4,6};{7,8,9}};
	
	 4a Questão (Ref.: 201403298572)
	
	
	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,5]; 
	
	
float notas[5][47]; 
	
	
float NOTAS[47][47]; 
	 
	
float NOTAS[47][5]; 
	
	
float Notas[47][47]; 
	
	 5a Questão (Ref.: 201403242755)
	
	
	Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    float vetn[20];
    for (int i=0; i < 20; i++){
        vetn[i]  = ( i+1) * 0.1;
        i = i + 2;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
		
	
	O terceiro valor armazenado será o 0.6.
	
	Serão armazenados 20 valores reais.
	
	O segundo valor armazenado será o 0.2.
	 
	Serão armazenados 7 valores reais.
	 
	O vigésimo valor armazenado será o 2.0.
	
	 6a Questão (Ref.: 201403681704)
	
	
	Considere que todas as bibliotecas necessárias foram declaradas.
int main()
{
int mat[3][3], i, j, det;
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
____{
puts("Digite os elementos da matriz\n");
____(i=0;i<3;i++)
____(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);
} ____ (det==0);
system("pause");
return (0);
}
Complete as lacunas do código da maneira correta para que o programa funcione corretamente.
		
	
	while-for-do-for
	
	do-while-for-for
	 
	do-if-for-while
	
	do-if-else-while
	 
	do-for-for-while
	 1a Questão (Ref.: 201403385390)
	
	
	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++){
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] = 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++){
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] = vetor[chave[i]];
vetor[chave[i]] = vetor [i]; 
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]); 
}
system("PAUSE"); 
}
	
	 2a Questão (Ref.: 201403375774)
	
	
	Observe as afirmativas abaixo sobre o terminador nulo e assinale a opção correta.
I Devemos sempre acrescentar mais uma posição ao vetor de char quando ele for dimensionado;
II Ele deve ser incluído ao final de todo vetor independente do tipo;
III O terminador nulo é identificado pelo caracter \0;
		
	
	Somente a afirmativa I é verdadeira
	
	As afirmativas II e III são verdadeiras
	 
	As afirmativas I e III são verdadeiras.
	 
	Todas as afirmativas são verdadeiras
	
	Somente a III é verdadeira
	
	 3a Questão (Ref.: 201403375776)
	
	
	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 e II estão corretas
	
	A declaração I está errada e a declaração II está correta
	 
	Somente as declarações I , II e IV estão corretas
	
	As declarações III e IV estão erradas
	
	Todas as declarações estão corretas
	
	 4a Questão (Ref.: 201403369692)
	
	
	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][15];
	
	char x[15];
	 
	double x[15];
	
	int vetor[15][15];
	
	int vetor[15];
	
	 5a Questão (Ref.: 201403369690)
	
	
	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ódigoASCII 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 III estão corretas
	 
	Somente as sentenças I e II estão corretas
	 6a Questão (Ref.: 201403375770)
	
	
	Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
		
	 
	char nome[30]; int matricula; float CR;
	
	char nome; int matricula[12]; double CR;
	 
	char[30] nome; int matricula; double CR;
	
	char[30] nome; int matricula[12]; float CR;
	
	char nome; int matricula; float CR;
	 1a Questão (Ref.: 201403175310)
	
	
	Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
		
	
	struct
	
	for
	 
	while
	
	switch
	
	if-else
	 2a Questão (Ref.: 201403298631)
	
	
	 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().
		
	
	case a=90: printf("Pode") ;break;
	
	case a > 90: printf("Pode") ;break;
	 
	case 90: printf("Pode") ; break;
	
	90: printf("Pode"); stop;
	
	90: printf("Pode");
	 3a Questão (Ref.: 201403298608)
	
	
	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 e III estão corretas.
	
	II e IV estão corretas.
	
	I está errada.
	 
	II está correta e a III não está correta.
	
	IV está correta e a I não está correta.
	
	 4a Questão (Ref.: 201403296071)
	
	
	 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       8       19       12       14       16
	
	2       4       6       10       16       26       42       68
	 
	2       4       4       8       12       20       32       52
	 
	2       4       6       10       16       26       42
	
	2       4       4       8       12       20       32       
	
	 5a Questão (Ref.: 201403296055)
	
	
	Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a 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     4     5     6
	
	0     1     1     2     3     5     8     13     21
	
	 6a Questão (Ref.: 201403734733)
	
	
	As estruturas de repetição são essenciais no desenvolvimentos de programas na linguagem C. Dado o programa abaixo, identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
int i = 0; 
int j = 5;
while(++i <= --j){ 
printf("%d ", i); 
}
system("PAUSE"); 
return 0;
}
		
	
	1 2 3
	 
	1 2
	
	1 2 3 4 5
	
	0 1 2
	 
	0 1 2 3 4 5
	 1a Questão (Ref.: 201403698036)
	
	
	Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. 
if((Idade_ _ _18)_ _ _(peso_ _ _50)) 
{
printf("Você pode ser doador de Sangue");
}
		
	
	>=; &; >;
	 
	>=; &&; >;
	
	<>; and; >;
	
	>=; e; >;
	
	>>; and; >;
	
	 2a Questão (Ref.: 201403724549)
	
	
	Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo.
Ele apresentou as cinco opções abaixo.
Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30.
		
	 
	if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 )
	
	if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 )
	 
	if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 )
	
	if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 )
	
	if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 )
	
	 3a Questão (Ref.: 201403724595)
	
	
	Um desenvolvedor construiu um código onde estava presente o trecho abaixo. 
char resp;
scanf("%c", &resp); 
switch(toupper(resp)) ;
{
case 'A': puts("Digitou a letra A" ); break; 
case 'E': puts("Digitou a letra E" ); break; 
case 'i': puts("Digitou a letra I" ); 
case 'O': puts("Digitou a letra O" ); 
case 'U': puts("Digitou a letra U" ); break; 
default: puts("Nao digitou vogal" ); 
}
Analise as afirmativas abaixo e assinale a opção correta.
I Se digitar I, aparece: Digitou a letra I / Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. 
II Se digitar i, aparece: Nao digitou vogal. 
III Se digitar o, aparece:Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. 
IV Se digitar a, aparece: Nao digitou vogal. 
V Se digitar A, aparece: Digitou a letra A. 
		
	 
	II, III e V são verdadeiras
	
	I, III e IV são verdadeiras
	
	III e IV são verdadeiras
	
	Só a a III é verdadeira
	
	II e, IV são verdadeiras
	
	
	
	 4a Questão (Ref.: 201403724621)
	
	
	Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.
O dado testado era do tipo inteiro.
Assinale a opção que ele escolheu.
		
	
	quatro ifs simples e um composto
	 
	switch() com cinco cases
	 
	switch() com quatro cases e um default
	
	três ifs simples e um composto
	
	quatro ifs simples
	
	
	 5a Questão (Ref.: 201403377259)
	
	
	Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
void main(){ 
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
		
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){

Outros materiais