Baixe o app para aproveitar ainda mais
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.
Compartilhar