Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Ref.: 201401655200) Fórum de Dúvidas (1 de 1) Saiba (0) 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, III e IV 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, IV e V estão corretas e as demais, erradas. Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401520784) Fórum de Dúvidas (1) Saiba (0) 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++. | e || || e ||| Apenas ||| | e ||| Apenas | Gabarito Comentado 3a Questão (Ref.: 201401623252) Fórum de Dúvidas (1) Saiba (0) 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: Possui características de Linguagem de alto nível. Possui características de Linguagem de baixo nível. Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo Possibilita o desenvolvimento de funções próprias Permite a compilação de softwares para plataforma Windows, Linux e Unix. Gabarito Comentado Gabarito Comentado 4a Questão (Ref.: 201401620434) Fórum de Dúvidas (1 de 1) Saiba (0) 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. Executável - extensão .c - compilar - fonte Código fonte - extensão .c - compilar - executável Fonte - extensão .txt - editar - executável Código base - extensão .c - compilar - fonte Código de texto - extensão .txt - editar - fonte Gabarito Comentado Gabarito Comentado 5a Questão (Ref.: 201401960785) Fórum de Dúvidas (1 de 1) Saiba (0) 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 Gabarito Comentado 6a Questão (Ref.: 201401655207) Fórum de Dúvidas (1) Saiba (0) 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. Padrão C89 Padrão C95 Padrão C99 C tradicional ISO/IEC 9899:1990 Gabarito Comentado Gabarito Comentado 1a Questão (Ref.: 201401977509) Fórum de Dúvidas (0) Saiba (0) Escreva o comando que defina uma constante de nome PI com valor igual a 3,14. #const PI 3,14 #include PI 3.14 #define PI 3.14 #define PI 3,14 #include PI 3,14 Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401623324) Fórum de Dúvidas (0) Saiba (0) 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á 16 O programa exibirá 11 O programa exibirá 8 Ocorrerá um erro O programa exibirá 0 Gabarito Comentado Gabarito Comentado 3a Questão (Ref.: 201401575336) Fórum de Dúvidas (0) Saiba (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. 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. 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 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. 4a Questão (Ref.: 201401474597) Fórum de Dúvidas (0) Saiba (0) que tipo de dado deve ser utilizado para definir uma variável que irá ramazenar um número do tipo: 65,890 int float string char uint 5a Questão (Ref.: 201401520798) Fórum de Dúvidas (0) Saiba (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 entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero. 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 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 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. 6a Questão (Ref.: 201401620439) Fórum de Dúvidas (0) Saiba (0) 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 delaspara 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? printf print putchar cout puts Gabarito Comentado Gabarito Comentado 1a Questão (Ref.: 201401574594) Fórum de Dúvidas (2) Saiba (2) 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 respostaCORRETA que apresenta o que foi exibido na tela. 0543(O valor absoluto do número espelhado formatado) 0345 (O valor absoluto do número formatado) 0343 (O valor absoluto do resultado da expressão formatada) -0012 ( Representa a soma dos algarismos do número -345 formatado) - 0.00289(O inverso do número formatado) Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401480454) Fórum de Dúvidas (2) Saiba (2) 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 = 11 y = 11 z = 15 x = -11 y = 11 z = 10 x = -20 y = 20 z = 10 x = -01 y = 01 z = 10 x = -13 y = 11 z = 13 Gabarito Comentado Gabarito Comentado 3a Questão (Ref.: 201401981665) Fórum de Dúvidas (0) Saiba (0) Considerar o trecho do programa abaixo: int x, y, z; x =10; z = 3; z = (++x) * (y--); printf("x = %d\t y=%d\t z=%d",x,y,z); O que irá aparecer na tela? x = 11 y = 2 z = 33 x = 10 y = 2 z = 20 x = 11 y = 2 z = 22 x = 11 y = 3 z = 33 x = 10 y = 3 z = 30 4a Questão (Ref.: 201401620445) Fórum de Dúvidas (2) Saiba (2) 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 tipoint para a variável x do tipo float utilizando o Cast. n = (float) x; n = float x; x = (int) n; x = float n; x = (float) n; Gabarito Comentado 5a Questão (Ref.: 201401478970) Fórum de Dúvidas (2) Saiba (2) 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. stdlib.h - Funções de entrada e saida. stdio.h - Funções para gráficos. time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos. math.h - Funções matemáticas string.h - Funções para concatenação de strings com inteiros. Gabarito Comentado Gabarito Comentado 6a Questão (Ref.: 201401961065) Fórum de Dúvidas (2) Saiba (2) 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. stdio.h - stdlib.h math.h - stdlib.h stdlib.h - ctype.h stdio.h - ctype.h cmat.h - ctype.h Gabarito Comentado 1a Questão (Ref.: 201401656737) Fórum de Dúvidas (2) Saiba (2) 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%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"); } 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"); } 2a Questão (Ref.: 201401578087) Fórum de Dúvidas (2) Saiba (2) Alguns iniciantes na linguagem C sentem dificuldades de 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 ..... Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch(). Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade. Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário. 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. 3a Questão (Ref.: 201401617825) Fórum de Dúvidas (2) Saiba (2) A professora de Linguagem de ProgramaçãoI 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, IV e V estão corretas II, III e IV estão corretas II e IV estão corretas I, II e III estão corretas Gabarito Comentado 4a Questão (Ref.: 201401564165) Fórum de Dúvidas (1 de 2) Saiba (1 de 1) Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? while (num == 0) enquanto (num > 0) for ( i = 0; i == num; i++) for (i = num; i > 0; i++) while (num != 0) Gabarito Comentado 5a Questão (Ref.: 201401489980) Fórum de Dúvidas (2) Saiba (1 de 2) 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); \n8 12 \n4 9 8 Gabarito Comentado Gabarito Comentado 6a Questão (Ref.: 201401961129) Fórum de Dúvidas (2) Saiba (1 de 2) 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 aprovado com: 6.00 Aluno reprovado com: 6.5 Aluno aprovado com: 6.0 Aluno reprovado com: 6.50 Gabarito Comentado Gabarito Comentado 1a Questão (Ref.: 201401578079) Fórum de Dúvidas (2) Saiba (1) 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. II e IV estão corretas. I e III estão corretas. II está correta e a III não está correta. Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401578102) Fórum de Dúvidas (2) Saiba (1) 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 a=90: printf("Pode") ;break; case 90: printf("Pode") ; break; case a > 90: printf("Pode") ;break; Gabarito Comentado 3a Questão (Ref.: 201401575542) Fórum de Dúvidas (2) Saiba (1) 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 4 8 12 20 32 2 4 4 8 12 20 32 52 2 4 6 10 16 26 42 68 2 4 6 8 19 12 14 16 2 4 6 10 16 26 42 Gabarito Comentado Gabarito Comentado 4a Questão (Ref.: 201401575526) Fórum de Dúvidas (2) Saiba (1) 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 3 4 7 9 11 13 0 1 1 2 3 5 8 13 21 0 1 1 2 3 4 5 6 0 1 1 3 2 4 5 7 1 1 2 3 5 8 13 21 Gabarito Comentado 5a Questão (Ref.: 201401631694) Fórum de Dúvidas (2) Saiba (1) 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. 0 2 4 6 8 10 10 024681010 0246810 02468 Gabarito Comentado 6a Questão (Ref.: 201401521620) Fórum de Dúvidas (2) Saiba (1) 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: Utilizar a estrutura de loop DO-WHILE, 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, para executar a parte do código que se repetia. Criar uma função 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. 1a Questão (Ref.: 201401617860) Fórum de Dúvidas (0) Saiba (0) 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 unidimensionaispara 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[999], qtdade[999], valorC[999], valorV[999]; int codigos[999], qtdade[999]; float valorC[999], valorV[999]; int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401627072) Fórum de Dúvidas (0) Saiba (0) Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores. Baseado neste conceito, identifique a opção incorreta: Podem ser formado por elementos de tipos diferentes. Na declaração int[50]; o índice da ultima posição é 49. 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. Gabarito Comentado 3a Questão (Ref.: 201401631707) Fórum de Dúvidas (0) Saiba (0) 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. real notas[150]; float %.1f notas[150]; int notas[150]; integer notas[150]; float notas[150]; Gabarito Comentado Gabarito Comentado 4a Questão (Ref.: 201401649159) Fórum de Dúvidas (0) Saiba (0) Os chamados vetores e matrizes podem ser considerados como: Comandos de seleção Estruturas de dados homogêneas Comandos de seleção composta Comandos de repetição Estruturas de dados heterogêneas Gabarito Comentado Gabarito Comentado 5a Questão (Ref.: 201401666033) Fórum de Dúvidas (0) Saiba (0) Um instituto governamental presta serviços de orientação vocacional a jovens recém-formados no ensino médio. Para tanto desenvolve uma série de testes com a finalidade de oferecer suporte quanto à escolha de sua carreira. Há cerca de um ano, o instituto desenvolveu um programa que inverte todas as palavras digitadas com a finalidade de exercícios mentais. Exemplo: texto: "FLUMINENSE" saída: "ESNENIMULF" Dado o trecho de programa abaixo, identifique qual das opções completa o mesmo para este fim. void main() { char PALAVRA[10]={'F','L','U','M','I','N','E','N','S','E'}; int i; char caracter; for(i = 0; i <10 ; i++){ caracter = PALAVRA[9-i]; PALAVRA [9-i] = PALAVRA[i]; PALAVRA[i]= caracter; } for(i = 0; i <10 ; i++){ printf("%c",PALAVRA[i]); } system("PAUSE"); } for(i = 0; i <10 ; i++){ caracter = PALAVRA[10-i]; PALAVRA [10-i] = PALAVRA[i]; PALAVRA[i]= caracter; } for(i = 0; i <10 ; i++){ printf("%c",PALAVRA[i]); } system("PAUSE"); } for(i = 0; i < 10; i++){ PALAVRA [10-i] = PALAVRA[i]; PALAVRA[i]= caracter; caracter = PALAVRA[10-i]; } for(i = 0; i <10 ; i++){ printf("%c",PALAVRA[i]); } system("PAUSE"); } for(i = 0; i < 5; i++){ PALAVRA [10-i] = PALAVRA[i]; PALAVRA[i]= caracter; caracter = PALAVRA[10-i]; } for(i = 0; i <10 ; i++){ printf("%c",PALAVRA[i]); } system("PAUSE"); } for(i = 0; i <5 ; i++){ caracter = PALAVRA[9-i]; PALAVRA [9-i] = PALAVRA[i]; PALAVRA[i]= caracter; } for(i = 0; i <10 ; i++){ printf("%c",PALAVRA[i]); } system("PAUSE"); } Gabarito Comentado Gabarito Comentado 6a Questão (Ref.: 201401953475) Fórum de Dúvidas (0) Saiba (0) 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? toupper toupr convertUpper upper convertUp Gabarito Comentado 1a Questão (Ref.: 201401961202) Fórum de Dúvidas (0) Saiba (0) 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); } Declaração da matriz- Na declaração de uma matriz suas dimensões não podem ser indicadas por variáveis. Formato do while- deveria ter apenas um sinala de (=). 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 (;). Declaração de variáveis- det é uma palavra reservada, portanto não pode ser nome de variável. 2a Questão (Ref.: 201401631722) Fórum de Dúvidas (0) Saiba (0) 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. int matrizExemplo[10][20]; matrizExemplo float[20][10]; int matrizExemplo[10,20]; float matrizExemplo[20][10]; matrizExemplo int[10][20]; Gabarito Comentado Gabarito Comentado 3a Questão (Ref.: 201401961175) Fórum de Dúvidas (0) Saiba (0) 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. do-for-for-while do-if-for-while while-for-do-for do-if-else-while do-while-for-for Gabarito Comentado 4a Questão (Ref.: 201401578043) Fórum de Dúvidas (0) Saiba (0) O professor de Matemática armazena as notas dos quatro bimestres e damé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[5][47]; float NOTAS[47,5]; float NOTAS[47][47]; float NOTAS[47][5]; 5a Questão (Ref.: 201401522220) Fórum de Dúvidas (0) Saiba (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 apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta. char vetnome[5]= "Maria"; char vet[5]={a,b,c,d,e}; int vetinteiros[5]=[1,2,3,4,5]; float array[4]=[1.0,2.4,3.5,4.5]; float vetreais[4]={1.0,2.4,3.5,4.5}; Gabarito Comentado 6a Questão (Ref.: 201401627078) Fórum de Dúvidas (0) Saiba (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[][3]= {{2,4,6}}; int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4; int matriz[][3]= {{2,4,6},{7,8,9}}; int matriz[2][3]= {{2,4,6};{7,8,9}}; int matriz[2][3]= {{2,4,6},{7,8,9}}; Gabarito Comentado Gabarito Comentado 1a Questão (Ref.: 201401655266) Fórum de Dúvidas (1) Saiba (1) Os alunos foram desafiados pelo professor para construir uma linha em linguagem C que pudesse exibir no display o algarismo da casa das dezenas simples de um número dado na chamada das funções. O professor disse que eles não precisavam fazer nenhuma proteção, mas deixou claro que tinham que usar somente as duas funções que foram disponibilizadas para eles. Observe os protótipos abaixo e os comentários sobre o que cada função retorna e depois escolha a opção que possibilita o que foi pedido, supondo que o número seja : 987234. Função 1: int retornaUltimo(int num); /* Retorna o algarismo da casa das unidades simples*/ Função 2: int retornaDezenas(int num); /* Retorna o número de dezenas de um número */ Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201401575352) Fórum de Dúvidas (1) Saiba (1) 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 , Nome, e Corpo da função. Tipo, Nome, Parâmetros e Corpo da Função. Tipo, Nome e Parâmetros. Tipo, Parâmetro e corpo da função. Gabarito Comentado 3a Questão (Ref.: 201401617895) Fórum de Dúvidas (1) Saiba (1) Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O menor número é retornado 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 valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número Gabarito Comentado Gabarito Comentado 4a Questão (Ref.: 201401631725) Fórum de Dúvidas (1) Saiba (1) 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 ou dentro 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 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. Declaradas 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. Gabarito Comentado Gabarito Comentado 5a Questão (Ref.: 201401655262) Fórum de Dúvidas (1) Saiba (1) 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. Retorna o total de números digitados e divisíveis por 10 Retorna 1 se o número digitado for divisível por 10 Retorna o total de algarismos do número digitado independente do sinal Retorna 0 caso o número digitado seja negativo Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo Gabarito Comentado Gabarito Comentado 6a Questão (Ref.: 201401953616) Fórum de Dúvidas (1) Saiba (1) 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; 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/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; } Gabarito Comentado Gabarito Comentado 1a Questão (Ref.: 201402020456) Fórum de Dúvidas (0) Saiba (0) Observe a linha abaixo e diga qual será o resultado obtido: result = fprintf(arq,"Linha %d\n",i); Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante BOF. Se a função fprintf NÃO for executada com sucesso, devolve o número de caracteres gravados. Se a função for executada com sucesso, retorna a constante EOF. Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retornaa constante EOF. Se a função fprintf for executada com sucesso, devolve a constante EOF. Se a função NÃO for executada com sucesso, retorna o número de caracteres gravados. Se a função fprintf for executada com sucesso, devolve os caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante EOF. Gabarito Comentado 2a Questão (Ref.: 201402007276) Fórum de Dúvidas (0) Saiba (0) 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 arquivo corretamente seguindo as regras da linguagem. arq = fopen("texto.txt", "w"); arq = fopen("texto.txt", "a+"); arquivo = fopen("material.dat", "r+"); arquivo = fopen("material.dat", "w+"); arquivo = fopen("material.dat", "a+"); Gabarito Comentado 3a Questão (Ref.: 201402020448) Fórum de Dúvidas (0) Saiba (0) O protótipo do comando fputs é: char *fputs (char str,FILE *fp); int *fputs (char *str,FILE *fp); char fputs (char *str,FILE *fp); char *fputs (char *str,FILE *fp); char *fputs (char *str,FILE fp); 4a Questão (Ref.: 201402007252) Fórum de Dúvidas (0) Saiba (0) Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de material.dat, que foi associado com a variável de nome: arquivo, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura apenas para leitura corretamente seguindo as regras da linguagem. arq = fopen("texto.txt", "r"); arq = fopen("texto.txt", "a"); arq = fopen("texto.txt", "r+"); arquivo = fopen("material.dat", "r+"); arquivo = fopen("material.dat", "r"); Gabarito Comentado 5a Questão (Ref.: 201402020459) Fórum de Dúvidas (0) Saiba (0) Observe a linha de um programa abaixo e assinale a alternativa que representa o seu resultado: result = fputs(Str, arq); Se a função for executada com sucesso, fputs retorna a constante EOF. Se a função NÃO for executada com sucesso, fputs não retorna nada. Se a função NÃO for executada com sucesso, fputs retorna a constante EOF. Se a função NÃO for executada com sucesso, fputs retorna a variável EOF. Se a função NÃO for executada com sucesso, fputs retorna a constante NULL. 6a Questão (Ref.: 201402020447) Fórum de Dúvidas (0) Saiba (0) Para se ler uma string num arquivo podemos usar fgets() cujo protótipo é: char *fgets (char str, int tamanho,FILE *fp); char *fget (char *str, int tamanho,FILE *fp); char *fgets (char *str, int tamanho,FILE fp); int *fgets (char *str, int tamanho,FILE *fp); char *fgets (char *str, int tamanho,FILE *fp); 1a Questão (Ref.: 201402007421) Fórum de Dúvidas (0) Saiba (0) A função fseek() possui três parâmetros em sua sintaxe. Assinale a alternativa que contém a afirmação correta sobre o segundo parâmetro (long offset) desta função. É a posição de referência para o deslocamento. Para este parâmetro só três valores poderão ser usados. Para arquivo do tipo binário, o número de bytes que deverá ser deslocado a partir da origem. Indica a posição reposicionada do indicador de fluxo. Identifica o fluxo, isto é, o nome da variável ponteiro do tipo file. Gabarito Comentado Gabarito Comentado 2a Questão (Ref.: 201402007389) Fórum de Dúvidas (0) Saiba (0) 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(). fgetpos() e ftell(). fwrite() e rewind(). fgets() e fsetpos(). rewind () e fgets (). Gabarito Comentado 3a Questão (Ref.: 201402020473) Fórum de Dúvidas (0) Saiba (0) O protótipo de fread() é: void fread (void *buffer, int numero_de_bytes, int count, FILE *fp); signed fread (void *buffer, int numero_de_bytes, int count, FILE *fp); int fread (void *buffer, int numero_de_bytes, int count, FILE *fp); unsigned fread (void *buffer, int numero_de_bytes, int count, FILE *fp); unsigned fread (int *buffer, int numero_de_bytes, int count, FILE *fp); 4a Questão (Ref.: 201402007364) Fórum de Dúvidas (0) Saiba (0) Nas aulas aprendemos sobre as funções de leitura e gravação. A respeito da função fwrite assinale a alternativa correta. fwrite(endreçoElemento, tamanho, quantidade, ptrArq); fwrite( tamanho, endreçoElemento, ptrArq); fwrite(endreçoElemento, ptrArq, quantidade); fwrite(quantidade, ptrArq, endreçoElemento,tamanho); fwrite(endreçoElemento, tamanho, quantidade); Gabarito Comentado Gabarito Comentado 5a Questão (Ref.: 201402007345) Fórum de Dúvidas (0) Saiba (0) Nas aulas, tivemos a oportunidade de construir arquivos externos, usando o bloco de notas. Assinale a alternativa correta sobre este assunto. É possível com arquivos binários, pois uma vez que o arquivo binário representa uma estrutura e não têmsignificado podemos ler e escrever o arquivo no bloco de notas. Não é possível com arquivos binários, pois existe o conceito de linha, uma vez que o arquivo binário não é uma sequência de bytes que não têm significado se formos tentar ler o arquivo. Não é possível com arquivos binários, pois não existe o conceito de linha, uma vez que o arquivo binário é uma sequência de bytes que não têm significado se formos tentar ler o arquivo. É possível com arquivos binários, pois uma vez que o arquivo binário é uma sequência de bytes que têmsignificado podemos ler e escrever o arquivo no bloco de notas. É possível com arquivos binários, pois uma vez que o arquivo binário não é uma sequência de bytes que etêm significado se formos tentar ler o arquivo. Gabarito Comentado Gabarito Comentado 6a Questão (Ref.: 201402020481) Fórum de Dúvidas (0) Saiba (0) Para se fazer procuras e acessos randômicos em arquivos usa-se a função fseek(). Esta move a posição corrente de leitura ou escrita no arquivo de um valor especificado, a partir de um ponto especificado. Seu protótipo é: int *fseek (FILE *fp,long numbytes,int origem); int fseek (FILE *fp,long numbytes,int origem); int fseek (FILE fp,long numbytes,int origem); real fseek (FILE *fp,long numbytes,int origem); void fseek (FILE *fp,long numbytes,int origem); Gabarito Comentado Gabarito Comentado
Compartilhar