Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCE0242_AV3_201201248141 » LINGUAGEM DE PROGRAMAÇÃO I Tipo de Avaliação: AV3 Aluno: 201201248141 - BRUNO NEVES CRISPIM Professor: OSWALDO BORGES PERES Turma: 9008/H Nota da Prova: 9,0 de 10,0 Nota do Trab.: Nota de Partic.: Data: 09/12/2013 10:20:07 1a Questão (Ref.: 201201450509) Pontos: 1,0 / 1,0 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, >= e || =, > e || <, > e >= +, - e * &&, || e ~ 2a Questão (Ref.: 201201460926) Pontos: 1,0 / 1,0 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) 0343 (O valor absoluto do resultado da expressão formatada) - 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) 3a Questão (Ref.: 201201450497) Pontos: 1,0 / 1,0 Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? for (i = num; i > 0; i++) for ( i = 0; i == num; i++) while (num != 0) while (num == 0) enquanto (num > 0) 4a Questão (Ref.: 201201407127) Pontos: 1,0 / 1,0 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. Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções. São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas. São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas. Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções. 5a Questão (Ref.: 201201365263) Pontos: 1,0 / 1,0 Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos: stdout = Dispositivo de saída de erro padrão (normalmente o monitor) stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela) stderr = Dispositivo de saída padrão (normalmente o monitor) stdin = Dispositivo de entrada padrão (normalmente o teclado) stdaux = Dispositivo de saída principal (normalmente a porta usb) 6a Questão (Ref.: 201201408554) 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. int mat[3][3]; mat[0][3] = 5; char mat[2][2]; mat[0][2] = "A"; 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; 7a Questão (Ref.: 201201461858) Pontos: 0,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 5 8 13 21 1 3 4 7 9 11 13 1 1 2 3 5 8 13 21 0 1 1 2 3 4 5 6 0 1 1 3 2 4 5 7 8a Questão (Ref.: 201201460313) 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%d\t06.2f\n", num, med); printf("\n%04d\t%.2f\n", num, med); 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); 9a Questão (Ref.: 201201408556) Pontos: 1,0 / 1,0 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[numero_colunas][numero_linhas]; nome_matriz[numero_linhas][numero_colunas]; tipo nome_vetor[numero_colunas][numero_linhas]; tipo nome_matriz[numero_linhas][numero_colunas]; tipo nome_matriz[][]; 10a Questão (Ref.: 201201376312) Pontos: 1,0 / 1,0 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); \n4 12 9 8 \n8 Período de não visualização da prova: desde 05/12/2013 até 16/12/2013. Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, ler de um arquivo txt dados coletados durante um dia de um usina elétrica. Cada arquivo é salvo seguindo o modelo abaixo: ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) eaaaa(ano com 4 algarismos). O chefe dele quando deseja fazer uma consulta, clica no executável e escolhe a opção leitura e quando lhe é perguntado, digita o nome do arquivo conforme falado acima. Para que isso seja possível, deverá estar presente na função consulta() uma das linhas abaixo. Selecione-a. fp=fopen(ddmmaaaa.txt, "w+"); fp=fopen(nomeArq, "w"); fp=fopen(nomeArq, "r"); fp=fopen("ddmmaaaa.txt", "r"); fp=fopen("nomeArq", "a"); " Gabarito Comentado 2. 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. rewind () e fgets (). fwrite() e rewind(). fgets() e fsetpos(). fgetpos() e fsetpos(). fgetpos() e ftell(). Gabarito Comentado 3. 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. Devemos utilizar o símbolo # antes da palavra include. O nome da biblioteca aparece entre os sinais de < e >. As bibliotecas possuem um conjunto de funções do mesmo tipo. Após o include entre os sinais de < e > aparece o nome de uma função. O include é utilizado para que possamos acessar funções de uma biblioteca. 4. 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. Para arquivo do tipo binário, o númerode bytes que deverá ser deslocado a partir da origem. É a posição de referência para o deslocamento. Para este parâmetro só três valores poderão ser usados. 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 5. 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]; 6. 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. Não precisa abrir o arquivo Para leitura e gravação Somente para gravação Somente para leitura Para leitura e edição 1. 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ções para gravação formatada. Funções para gravar um caractere. Função que fecha um arquivo. Gabarito Comentado 2. 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. arquivo = fopen("material.dat", "r"); arq = fopen("texto.txt", "a"); arq = fopen("texto.txt", "r+"); arquivo = fopen("material.dat", "r+"); arq = fopen("texto.txt", "r"); Gabarito Comentado 3. 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; } ABCDEF ABCYDEF ABC DEF ABCDEFY Gabarito Comentado Gabarito Comentado 4. Observe a linha abaixo e diga qual será o resultado obtido: result = fprintf(arq,"Linha %d\n",i); 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, retorna a constante BOF. 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 EOF. 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. 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. Gabarito Comentado 5. Observe o programa abaixo e assinale a alternativa que corresponde a sua execução. #include < stdio.h > #include < stdlib.h > int main( void) { char c; FILE *entrada; entrada = fopen( "dados.txt", "r"); if (entrada == NULL) exit( EXIT_FAILURE); c = getc( entrada); if (c != EOF) putc( c, stdout); else printf( "\nO arquivo terminou!"); fclose( entrada); return EXIT_SUCCESS; } O programa lê todos os caracteres do arquivo dados.txt e exibe esses caracteres na tela do monitor. O programa lê o último caractere do arquivo dados.txt e exibe esse caractere na tela do monitor. O programa lê o primeiro e o segundo caracteres do arquivo dados.txt e exibe esses caracteres na tela do monitor. O programa lê o segundo caractere do arquivo dados.txt e exibe esse caractere na tela do monitor. O programa lê o primeiro caractere do arquivo dados.txt e exibe esse caractere na tela do monitor. Gabarito Comentado 6. 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[numero_linhas][numero_colu nas]; tipo nome_vetor[numero_colunas][numero_linh as]; tipo nome_matriz[numero_colunas][numero_lin has]; tipo nome_matriz[][]; nome_matriz[numero_linhas][numero_colu nas]; 1. 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 Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre 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 O maior número é retornado Gabarito Comentado Gabarito Comentado 2. 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. Tipo, Parâmetro e corpo da função. Nome, Parâmetro e Corpo da função. Tipo , Nome, e Corpo da função. Gabarito Comentado 3. 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 4. O chefe do departamento do pessoal da Empresa YYY gostaria de declararmatrizes 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. float nomes[20][31], salarios[20][14]; char nomes[20][31]; float salarios[20][14]; char nomes[19][31]; float salarios[19][13]; char nomes[20][31]; float salarios[20][20]; char nomes[20]; float salarios[19][13]; 5. 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? strlen( ). atoi( ). strcont( ). strcat( ). strlength( ). 6. 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; 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/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/2; i++){ if(vet[i]!=vet[tam- i]){ aux = 0; break; } } return aux; } 1. A diagonal principal de uma matriz A é a coleção das entradas A i,j em que i é igual a j . A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito, ou seja, a diagonal é compostas por elementos que possuem seus índice de linha e coluna iguais. Qual as opções abaixo apresenta uma fração de código fonte em linguagem C que lista corretamente os elementos das diagonal principal de uma matriz? for(i=0; i<3;i++) for(j=i;j<3;j++) printf("\n%d", MATRIZ[i][j]); for(i=0; i<3;i++) for(j=0;j<3;j++) printf("\n%d", MATRIZ[j][i]); for(i=0;i<3;i++) printf("\n%d", MATRIZ[i][i]); for(i=0; i<3;i++) for(j=0;j<3;j++) printf("\n%d", MATRIZ[i][j]); for(i=0; i<3;i++) printf("\n%d", MATRIZ[i][1]); 2. Quando estudamos Álgebra das Matrizes, aqui recordada com exemplos na aula sobre as matrizes bidimensionais, aprendemos os conceitos de Diagonal Principal (DP) e Diagonal Secundária (DS). Sabendo-se que você estuda Linguagem C. Teria declarado uma matriz 4 x 4 e desejasse exibir os elementos que se encontram no triângulo abaixo da DS, qual estrutura do if escolheria para selecionar esses elementos? Assuma que L é a variável da estrutura do for que controla as linhas e C, a variável da estrutura do for que controla as colunas. if( L + C > 3){ ... } if( L + C < 3){ ... } if( L + C <= 4){ ... } if( L <= C ){ ... } if( L != C){ ... } Gabarito Comentado 3. Um aluno estava estudando matrizes bidimensionais e aprendeu que, para armazenar 100 nomes precisava declarar uma matriz de char bidimensional. Sendo assim, declarou: char nomes[100][31]; Embora soubesse qual seria a função para exibir um nome, não sabia quantas estruturas do for seriam necessárias para exibir todos os nomes. Por essa razão, resolveu tentar vários trechos. Observe as opções abaixo e assinale a que ele precisou escolher para obter o resultado desejado. for(a = 1; a <= 100; a++){ for( b = 1; b <= strlen(nomes[b] ) ; b++) { ... } } for(a = 1; a <= 100; a++){ for( b = 1; b <= strlen(nomes[a] ) ; b++) { ... } } for(a = 1; a <= 100; a++){ ... } for(b = 1; b < 100; b++){ ... } for(c = 0; c < 100; c++){ ... } Gabarito Comentado 4. 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 II e IV estão corretas Só a II está correta I e IV estão corretas I e III estão corretas Gabarito Comentado 5. 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[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; int matriz[][3]= {{2,4,6},{7,8,9}}; Gabarito Comentado Gabarito Comentado 6. 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 segundo valor armazenado será o 26. O décimo valor armazenado será o 117. Serão armazenados 5 valores inteiros. O terceiro valor armazenado será o 60. Serão armazenados 10 valores inteiros. A linguagem C é rica em funções que permitem efetuar operações simples e complexas. Existem várias funções para leitura de dados, entre elas podemos destacar: - Função que é usada, sem problemas, para ler variáveis simples, aceitando espaço, mas não tem nenhum controle sobre o números de caracteres armazenados. - Função que é usada, sem problemas, para ler variáveis simples, numéricas ou char de um caracter, e para vetores dos tipos citados. Entretanto, apresenta limitação para vetor de char, uma vez que abandona ao encontrar um espaço. - Função que lê todos os caracteres, inclusive espaços, mas especifica em um dos parâmetros o máximo de caracteres que poderá ser armazenado. Identifique a opção abaixo que corresponde as funções descritas na ordem acima: fgets, gets e scanf scanf, fgets e gets gets, fgets e scanf scanf, gets e fgets gets, scanf e fgets Gabarito Comentado Gabarito Comentado 2. A linguagem C possui uma infinidade de funçõesque a torna muito especial. Qual das funções abaixo é destinada a limpar o buffer de teclado? system("cls") fflush(stdin) clearBuffer(stdin) system("pause") system("clear") Gabarito Comentado 3. 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. Deve ser declarado antes de acessado em seu programa. Podem ser formado por elementos de tipos diferentes. Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C. Gabarito Comentado 4. 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. integer notas[150]; float notas[150]; float %.1f notas[150]; real notas[150]; int notas[150]; Gabarito Comentado Gabarito Comentado 5. Os chamados vetores e matrizes podem ser considerados como: Estruturas de dados homogêneas Comandos de seleção Comandos de seleção composta Estruturas de dados heterogêneas Comandos de repetição Gabarito Comentado Gabarito Comentado 6. A linguagem C permite a inicialização de vetores junto com sua declaração. Dada as alternativas abaixo, selecione a que está incorreta: char valores[5] = {'A', 'B', 'C', 'D'}; int valores[] = {10, 15, 20, 25, 30}; char valores = "ABCD"; int valores[5] = {10, 15, 20, 25, 30}; char valores[] = {'A', 'B', 'C', 'D'}; 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 90: printf("Pode") ; break; 90: printf("Pode"); case a > 90: printf("Pode") ;break; 90: printf("Pode"); stop; Gabarito Comentado 2. 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 FOR, 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 WHILE, 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. 3. Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? enquanto (num > 0) for ( i = 0; i == num; i++) while (num == 0) while (num != 0) for (i = num; i > 0; i++) Gabarito Comentado 4. 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. II está correta e a III não está correta. I e III estão corretas. II e IV estão corretas. IV está correta e a I não está correta. Gabarito Comentado Gabarito Comentado 5. Leia com atenção as afirmativas abaixo e escolha a opção correta. I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido II A estrutura do for testa ao final enquanto a estrutura while testa no início III A estrutura while pode simular a estrutura do for e a estrutura do... while IV A estrutura do for sem nenhum parâmetro, só com os ; dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while V Tanto a estrutura do...while quanto a estrutura while, testam no início Somente II, III e V estão corretas Somente I, II, III e V estão corretas Somente I e V estão corretas Somente I, III e V estão corretas Somente I, III e IV estão corretas 6. Estrutura de repetição, na ciência da computação, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Analise o código abaixo e identifique a opção que demonstra o que será exibido na tela: int main(int argc, char *argv[]) { int i = 0; int j = 5; do{ printf("%d", i++); }while(++i <= j--); system("PAUSE"); return 0; } 123 1234 345 024 34 1. 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); 8 12 9 \n8 \n4 Gabarito Comentado Gabarito Comentado 2. Marque abaixo a instrução que permite parar uma execução dentro de um switch. break close case stop open Gabarito Comentado 3. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, >= e || =, > e || &&, || e ~ <, > e >= +, - e * Gabarito Comentado 4. Na criação de uma função precisamos definir suas partes, sendo algumas obrigatórias e outras,facultativas. Na linguagem C++, temos: tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se digitar de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc). Tipo, Parâmetro e corpo da função Tipo, Nome e Parâmetros Nome, Parâmetro e Corpo da função.Tipo , Nome, e Corpo da função. Tipo, Nome, Parâmetros e Corpo da Função. Gabarito Comentado 5. A estrutura condicional Switch na linguagem C tem suas peculiaridades. Avalie cada uma das afirmativas e marque a correta para esta estrutura. A cláusula default é obrigatória, independentemente de ter ou não opção de uma caso não previsto acontecer. Podemos utilizar variáveis de qualquer tipo para testar. O uso do break, não interfere na ordem de execução do programa. Para associar comandos para os demais valores possíveis e não especificados nos cases utilizo o parâmetro default. Podemos colocar uma expressão ou uma variável como parâmetro para avaliação do switch, sendo uma expressão deve ter parênteses, do contrário, para variáveis não é necessário utilizar os mesmos. Gabarito Comentado 6. Na construção de programas na linguagem C, precisamos tomar muito cuidado com a sintaxe das expressões condicionais, para que não tenhamos resultados inesperados. Supondo que as variáveis foram devidamente declaradas e levando em conta apenas a linha de código apresentada, dentre as opções qual apresenta erro na sintaxe para a linguagem C. if x > 0 { a = 2;} if (a > 0) { a = 2;} if (x > 0) a = 2 else b = 2 ; if (a > 0) {a = 2;} else {b= 2;} if (a > 0) {a = 2;} else if (b < 10) {b= 2;} 1. 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 - ctype.h cmat.h - ctype.h stdio.h - stdlib.h math.h - stdlib.h stdlib.h - ctype.h Gabarito Comentado 2. Observe abaixo algumas declarações de variáveis e assinale a declaração errada. int i; short int a; long matricula; long float x; long double profundidade; Gabarito Comentado 3. Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções. Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas. cin ( ) printf ( ) getchar ( ) scanf ( ) fgetc(stdin) Gabarito Comentado 4. Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa? do{ // [bloco de comandos] } while (cfp !=0); for (cpf=0; cpf !=0; cpf++) { // [bloco de comandos] } do while (cfp !=0) { // [bloco de comandos] } if (cpf != 0) { // [bloco de comandos] } while{ // [bloco de comandos] } do (cfp !=0); 5. Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. i, j, int, obs 2_ou_1, fim, *h, j nota-2 , a36, x_y 2nota, a36, x#y, --j If, nota_do_aluno_2, HOJE, _yes Gabarito Comentado 6. 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: 850.00 Valor do imposto a ser pago: 650.00 Valor do imposto a ser pago: 750.00 Valor do imposto a ser pago: 1000.00 Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. #include int main() { printf ("%s%d%%","Juros de ",10); } % Juros de 10 %s%d%% Juros de 10 Juros de 10% 10 Juros de Nada porque tem muitos % Gabarito Comentado 2. Qual o nome da função matemática que calcula a potenciação de um número? elevado double sqrt pow pot Gabarito Comentado Gabarito Comentado 3. Um Engenheiro Ambiental tinha um arquivo onde ele gostaria retirar algarismos que estavam dentro de várias cadeias de caracteres e que fossem todos convertidos para números reais, uma vez que eles representavam tamanhos de árvores. Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence. atof() e stdlib.h isalpha() e stdlib.h atoi() e math.h tolower() e ctype.h toupper() e stdlib.h Gabarito Comentado Gabarito Comentado Gabarito Comentado 4. Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo. Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro. Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno. Pesquisou nas bibliotecas estudadas na aula 2 e achou. Qual o nome dessa função? isnotalphadigit() isalnum() isalpha() isdigit() isspace() Gabarito Comentado Gabarito Comentado 5. Um Engenheiro estava testando formatação com a função printf()e incluiu a linha abaixo. printf( "%08.2f",12.3); Exibiu com seis casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, deixando vazias as não usadas, exceto a posição do ponto. Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, sendo que seriam seis 0 antes do número 12 e um zero depois do 3. Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, deixando vazias as não usadas Exibiu 12.3 porque o zero anula a formatação Exibiu com cinco casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, sendo que seriam três 0 antes do número 12 e um zero depois do 3 e o ponto. Gabarito Comentado Gabarito Comentado 6. Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. #include int main() { printf ("O valor eh = \\n%04d ", 12); } O valor eh = 000012 O valor eh = \n0012 O valor eh = em uma linha e na linha abaixo 12 O valor eh = \n 12 O valor eh = em uma linha e na linha abaixo 0012 1. Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem: Estruturada e Rapidez Portabilidade eModularidade Portabilidade e Estruturada Complexidade e Estruturada Rapidez e Portabilidade Gabarito Comentado 2. Uma das características mais marcantes da linguagem C é a sua portabilidade. Os códigos escrito em C são portáveis, o que significa que é possível executa-los nos mais diferentes tipos de arquiteturas. Tendo um programa C compilado para Windows, para executa-lo em Linux, identifique a opção CORRETA: Só é possível copiar o código executável do Linux para o Windows e executa-lo. Precisamos recompilar o código fonte para o Linux. Basta apenas copiar o código executável para o Linux e executa-lo. Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux. Ocorrerá erro, pois os programas C não rodam em Linux. Gabarito Comentado Gabarito Comentado 3. Qual das características abaixo NÃO pode ser atribuída á linguagem C? Complexidade porque tem muitas palavras reservadas Portabilidade Rapidez, pois gera executável compacto Estruturada Modularidade 4. Em relação à variável global, podemos afirmar: I Somente a função principal pode alterar o valor armazenado II Todas as funções podem alterar o valor armazenado III É declarada dentro da função principal IV É declarada fora de todas as funções V Pode ser declarada em qualquer posição I, III e V II, IV e V I e III II e IV II e III Gabarito Comentado 5. No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e executar logo em seguida com um único clique ou um pressionamento de uma tecla. Analise as afirmativas abaixo e escolha a opção correta I Pressionar F9(pode ser F11 em versões mais novas) II Clicar no ícone Compilar III Clicar no ícone Executar IV Clicar no ícone Compilar e Executar Só a II possibilita isso Só a I possibilita isso Só a III possibilita isso Tanto a I quanto a IV possibilitam isso Só a IV possibilita isso Gabarito Comentado Gabarito Comentado 6. Qual o nome da diretiva que tem várias utilidades e uma delas é construir macros que, algumas vezes, poderão substituir a definição de funções, tornando mais rápido o processamento? struct typedef define include const
Compartilhar