Baixe o app para aproveitar ainda mais
Prévia do material em texto
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: Complexidade e Estruturada Rapidez e Portabilidade Estruturada e Rapidez Portabilidade e Modularidade Portabilidade e Estruturada Explicação: Estudamos várias vantagens da Linguagem C. Portabilidade significa que, com pequenas modificações, migramos para outros SO. Sabemos que ela tem um conjunto pequeno de palavras reservadas logo, não é complexa. Por ter três procedimentos básicos, ela é estruturada. Por fim, ela gera um executável rápido Gabarito Comentado 2. Na função main() da linguagem C, declarações, comandos, estruturas e tudo mais que pertence ao corpo da função estão envoltos por dois elementos. Assinale a opção que apresenta esses elementos. [ e ] { e } begin e end; begin e end ( e ) Explicação: As { } foram escolhidas para envolver todos comandos e/ou funções da função main() e também de algumas estruturas. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616753','6855','2','3626932','2'); Gabarito Comentado 3. Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo? typedef struct const define include Explicação: Estudamos que precisaremos incluir bibliotecas em nossos programas e, para que isso seja possível, a diretiva include deverá ser usada para cada inclusão. Gabarito Comentado Gabarito Comentado 4. Qual a vantagem da Linguagem C que está descrita no texto abaixo? 'Linguagem de fácil compreensão, uma vez que usamos três procedimentos básicos: sequência, seleção e iteração.' Simplicidade Portabilidade Modularidade Rapidez Estruturada Explicação: Resposta na Aula 1 quando estudamos as sete vantagens https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616764','6855','3','3626932','3'); javascript:duvidas('2948846','6855','4','3626932','4'); 5. A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas: |) Possibilidade em programação de alto e baixo nível; ||) Grande período para o aprendizado. |||) Adequação a grandes projetos; Assinale a alternativa que contem apenas vantagens da linguagem C++. Apenas | | e || || e ||| | e ||| Apenas ||| Explicação: A únicaa alternativa errada é a que considera um longo período de aprendizado, já que estas são linguagens que possuem uma sintaxe fácil e conjunto de comandos limitados. 6. Observe as afirmativas abaixo e assinale a opção correta. I A linguagem C só pode tem uma função. II A única função obrigatória em um programa codificado na linguagem C é a função main(). III Muitas vezes, poderemos incluir várias bibliotecas em nossos programas se tivermos que usar algumas funções pré-definidas. IV Quando formos incluir bibliotecas, precisamos seguir uma ordem, começando pela biblioteca stdio.h, obrigatoriamente As afirmativas III e IV estão erradas https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('134161','6855','5','3626932','5'); As afirmativas I e III estão erradas Somente a afirmativa IV está correta As afirmativas II e III estão corretas Somente a afirmativa II está correta Explicação: Tudo está na Aula 1 7. Com relação a diretiva de pré compilação #define, pode-se dizer que: É usada parra definições de funções (incluindo a função main()) É usada para parar a execução de um programa É usada para definição de constantes É usada para inclusão de arquivos com declarações É usada para declarações de objetos externos (protótipos de funções e variáveis) Explicação: Na linguagem C só existe duas formas de se definir uma constante: Utilizando a diretiva de pré compilação #define ou utilizando o modificador "const" na declaração de uma variável. Ex: #define PI 3.14 const float PI = 3.14; 8. 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; https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2948167','6855','7','3626932','7'); javascript:duvidas('268584','6855','8','3626932','8'); - 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. ISO/IEC 9899:1990 C tradicional Padrão C95 Padrão C89 Padrão C99 Explicação: Em 1999, alguns ajustes forma feitos e surgiu o padrão C99 que incluiu os itens abaixo. Estudamos alguns caracteres especiais que lhe ajudam a formatar a saída de seus programas. Eles também são conhecidos como caracteres de controle ou sequência de escape por serem sempre precedidos pela \ cujo nome em inglês é backslash e por aqui é conhecida como barra invertida ou contra-barra. Observe a linha abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. printf ("RESULTADO =\\%07d\\\n", 123); RESULTADO = 0000123 RESULTADO =\0000123\ RESULTADO =\\0000123\\ RESULTADO = 0000000123 RESULTADO =\\0000000123\\ Explicação: O trecho está baseado no conteúdo da AULA 2, pois saberia que para exibir um \ teria que incluir dois \ 2. Temos linhas e colunas na tela. A um conjunto de 8 colunas, chamamos de zona. https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953452','6855','2','3626932','2'); Estudamos os caracteres \n e \t na Aula 2 Se você precisasse exibir VOU na terceira zona de uma linha estando o cursor na primeira coluna dessa linha e GABARITAR na segunda zona de uma linha que tem, antes dela,duas linhas em branco, qual das opções abaixo você escolheria? printf("\t\t\tVOU\n\n\tGABARITAR\n"); printf("\t\tVOU\n\n\tGABARITAR\n"); printf("\t\tVOU\n\tGABARITAR\n"); printf("\t\t\tVOU\n\tGABARITAR\n"); printf("\t\tVOU\n\n\n\tGABARITAR\n"); Explicação: Assunto bem explorado na Aula 2. 3. Quais as funções da biblioteca stdio.h, da linguagem C usadas para exibir mensagens na tela? msg("string") e puts("string") printf("string") e puts("string") putchar("string") e printf("string") putchar("string") e puts("string") printf("string") e msg("string") Explicação: msg não é uma função da stdio.h, putchar() exibe apenas um caracter, portanto as únicas funções que sãocapazes de exibir uma mensagem e pertencem a stdio.h são a puts() e a printf() 4. Qual biblioteca da linguagem C contém as funções para exibir mensagens na tela? https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2950004','6855','3','3626932','3'); javascript:duvidas('2950000','6855','4','3626932','4'); tela.h Cio.h stdstring.h stdio.h math.h Explicação: A biblioteca do C que possui funções para maniulação de entrada e saída de dados é a stdio.h 5. Um Engenheiro Mecânico tinha um arquivo onde ele gostaria que os nomes dos materiais fossem todos convertidos para letras minúsculas. 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 toupper() e stdlib.h tolower() e ctype.h isalpha() e stdlib.h atoi() e math.h Gabarito Comentado 6. Um aluno precisava fazer uma citação e deveria colocar uma frase entre aspas. Escolha a opção que poderá resolver o problema dele. A solução seria usar aspas simples duas vezes para substituir printf("''LPI''"); . printf("\"LPI\"); printf(\"LPI\"); printf("\"LPI\""); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616987','6855','5','3626932','5'); javascript:duvidas('2953446','6855','6','3626932','6'); Como as aspas são usadas para delimitar a cadeia, não se pode fazer isso. Explicação: Esse assunto foi bem explorado na AULA 2. 7. Se a variável p está armazenando o valor 6, qual valor será armazenado na variável r após ser axecutada a função: r = pow (r,3) 126 98 18 36 216 8. Se executarmos o comando printf(ceil(3.2));.O que será exibido na tela? 0.2 4.2 4 3.2 3 Explicação: Será exibido na tela o número 4, pois a função ceil() arredonda um número real para o inteiro superior mais próximo. A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('863635','6855','7','3626932','7'); javascript:duvidas('2950013','6855','8','3626932','8'); Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++. Mantêm seu valor em todo o programa e suas variáveis são escritas fora 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 dentro do main(). 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. Explicação: Uma variável global deve ser declarada fora de qualquer bloco de programa e pode ser visualizada em qualquer escopo do programa. 2. Um aluno viu o trecho de programa abaixo e não sabe qual das linhas daria como resposta 4.50 int num1=3, num2=6, num3=4; Indique a linha. printf("\nResultado: %.2f ",num1 + (float)num2/num3); printf("\nResultado: %.2f ",(float)(num1 + num2/num3)); printf("\nResultado: %.2f ",(float)num1 + num2/num3); printf("\nResultado: %.2d",num1*1.0 + num2/num3); printf("\nResultado: %d ",num1 + num2/num3); Explicação: O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo) e que inteiro dividido por inteiro, inteiro será o quociente. 3. Observe abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada? https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2948340','6855','2','3626932','2'); javascript:duvidas('616859','6855','3','3626932','3'); fgetc() fgets() scanf() getchar() gets() 4. Qual tipo de variável deve ser usado para armazenar um valor lógico (true/false) em C++? boolean char int float short Explicação: O tipo boolean é utilizado para sinalizar apenas um entre dois estados, falso ou verdadeiro 5. 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 = -13 y = 11 z = 13 x = -11 y = 11 z = 10 x = 11 y = 11 z = 15 x = -20 y = 20 z = 10 https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('177550','6855','4','3626932','4'); javascript:duvidas('93831','6855','5','3626932','5'); x = -01 y = 01 z = 10 Explicação: int x,y,z; x=y=10; z=++x; x=-x; y++; x=x+y-(z--); Nesta questão são declaradas 3 variáveis do tipo inteiro (x,y e z). Atribui-se o valor 10 para as variáveis x e y. Em seguida incrementa-se o valor de x, passando este a valer 11 e atribui-se este valor a variável z. O comando seguinte é x=-x, atribui-se a variável x o seu valor negativo, isto é -11. Em seguida incrementa-se o valor em y que passa a valer 11. Então é realizada a expressão : x=x+y-(z--), Assim x= -11+11-11, ou seja x recebe -11. E por fim decrementa-se o valor de z, que passa valer 10. Pois embora a variável esteja entre parênteses usa-se o valor dela e só depois o decremento é realizado, pois o operador de decremento está pós-fixado. Logo os valores finais das variáveis são: x=-11, y=11 e z=10 Gabarito Comentado Gabarito Comentado 6. Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão. Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas. char, int, float, double, void char, int, real, double, void char, int, real, double, boolean char, integer, float, real, boolean char, int, float, double, boolean Gabarito Comentado https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('620403','6855','6','3626932','6'); javascript:duvidas('1025804','6855','7','3626932','7'); 7. É um nome de variável válido: meu 2Cel maça 1X número media_nota2 Explicação: As regras para se nomear uma variável na linguagem C são: • Somente letras sem acentuação e nem cedilha, maiúsculas e minúsculas. • Algarismos • O caractere underline ( _ ) • Não pode começar com algarismo A única que atende às exigências é: media_nota2 8. Na linguagem de programação C, como em outras, na criação de programas, precisamos fazera 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. fgetc(stdin) getchar ( ) scanf ( ) printf ( ) cin ( ) Explicação: fgetc(stdin) / printf ( ) / scanf ( ) / getchar ( ) São funções da linguagem C, mas cin(), Não é. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('620456','6855','8','3626932','8'); Qual é a saída de tela, deste trecho de programa? int x=4, y=8; if (x < 2) printf ("%d \n", x); else printf ("%d \n", y); 9 \n4 8 \n8 12 Explicação: Neste trecho de código são declaradas duas variáveis do tipo inteiro, x e y. A variável x recebe o valor 4 e y recebe o valor 8. O comando if testa a condição x<2. Caso a condição seja verdadeira, a linha de comando que será executada é: printf ("%d \n", x); que exibe na tela o valor armazenado em x. Caso a condição testada seja falsa, a linha de comando que será executada é: printf ("%d \n", y); que exibe o valor armazenado em y. Neste caso, como o valor de x é 4 a condição x<2 é falsa assim será exibido o valor de y, isto é 8. Gabarito Comentado Gabarito Comentado 2. Na estrutura de decisão o teste é uma expressão relacional que compara os valores dos seus operandos. A expressão relacional é formada, por um operador relacional e dois operandos. Podemos afirmar que: A Unidade Aritmética e Lógica testa essa expressão e retorna uma mensagem pra que o programdor saiba qual será o desvio do fluxo. A Unidade Aritmética e Lógica testa essa expressão e retorna 1 (ou qualquer número diferente de zero) quando a expressão é verdadeira. A Unidade Aritmética e Lógica testa essa expressão e retorna a soma lógica dos valores dos operandos. A Unidade Aritmética e Lógica testa essa expressão e retorna o valor lógico do menor operando. A Unidade Aritmética e Lógica testa essa expressão e retorna o valor lógico do maior operando. Explicação: https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2950109','6855','2','3626932','2'); A Unidade Aritmética e Lógica testa essa expressão e retorna 1 (ou qualquer número diferente de zero) quando a expressão é verdadeira. E retorna zero quando a expressão é falsa. 3. No contexto do comando switch e do uso do comando break emm seu interior, na linguagem de programação C é correto afirmar que: toda cláusula case de um comando switch, incluindo a cláusula case default, deve conter um comando break; quando um comando break é executado, o comando switch é encerrado e o fluxo de controle passa para o próximo comando após o fim do comando switch a expressão usada numa cláusula case de um comando switch pode ser de qualquer tipo e deve conter pelo menos uma variável; não é possível executar comandos de uma das cláusulas case de um comando switch na mesma execução desse comando. os comandos na cláusula case default de um comando switch são executados apenas se nenhuma das cláusulas case anteriores possuir um comando break; 4. Considere o código abaixo. Considere que o usuário digite 3. O que será impresso para o usuário? int main (void ) { int valor; printf ("Digite um valor de 1 a 7: "); scanf("%d", &valor); switch ( valor ) { case 1 : printf ("Domingo\n"); break; case 2 : printf ("Segunda\n"); break; case 3 : printf ("Terca\n"); break; case 4 : printf ("Quarta\n"); break; case 5 : printf ("Quinta\n"); break; case 6 : printf ("Sexta\n"); break; case 7 : printf ("Sabado\n"); break; https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('871221','6855','3','3626932','3'); javascript:duvidas('1025826','6855','4','3626932','4'); default : printf ("Valor invalido!\n"); } return 0; } Terca Quinta Segunda Quarta Valor invalido 5. Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta. Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: void main(){ float altura, largura; char tipo; int total_latas, tot_metros, aux; puts("\nDigite E para Externo e I para Interno"); tipo = getchar(); puts("\nDigite a altura da parede: "); scanf("%f",&altura); printf("\nDigite a largura da parede: "); scanf("%f",&largura); tot_metros = altura*largura; if(tot_metros%2) aux = 1; else aux = 0; switch(tipo){ case 'I': case 'i': printf("%d",(tot_metros*3)/2+aux); case 'E': case 'e': printf("%d",(tot_metros*4)/2+aux); default: printf("%s","Tipo invalido"); } system("PAUSE"); } if(tot_metros%2) aux = 1; else aux = 0; switch(tipo){ case 'I': break; case 'i': break; printf("%d",(tot_metros*3)/2+aux); case 'E': break; case 'e': break; https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('270107','6855','5','3626932','5'); printf("%d",(tot_metros*4)/2+aux); default: printf("%s","Tipo invalido"); } system("PAUSE"); } if(tot_metros%2) aux = 1; else aux = 0; switch(tipo){ case 'I': break; case 'i': break; printf("%d",(tot_metros*3)/2+aux); break; case 'E': break; case 'e': break; printf("%d",(tot_metros*4)/2+aux); break; default: printf("%s","Tipo invalido"); } system("PAUSE"); } if(tot_metros%2) aux = 1; else aux = 0; switch(tipo){ case 'I': case 'i': printf("%d",(tot_metros*3)/2+aux); break; case 'E': case 'e': printf("%d",(tot_metros*4)/2+aux); break; default: printf("%s","Tipo invalido"); } system("PAUSE"); } switch(tipo){ case 'I': case 'i': printf("%d",(tot_metros*3)/2+aux); break; case 'E': case 'e': printf("%d",(tot_metros*4)/2+aux); break; default: printf("%s","Tipo invalido"); } system("PAUSE"); } 6. 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('191456','6855','6','3626932','6'); III A palavra then está presente na estrutura. IV O uso do else poderá não ser necessário. I está errada. II e IV estão corretas. IV está correta e a I não está correta. II está correta e a III não está correta. I e III estão corretas. Explicação: Não existe then na linguagem C Somente estão corretas a II e IV. Como está pedindo a errada, teremos: I e III estão corretas como resposta. Gabarito Comentado Gabarito Comentado 7. Considereo código abaixo. Considere que o usuário digite 11. O que será impresso para o usuário? int main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); if (num==10) { printf ("Show!"); } else { if (num>10) { printf ("Top!"); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('1025811','6855','7','3626932','7'); } else { printf ("Mara!"); } } return 0; } 0 return 0; Top! Mara! Show! Explicação: Quando o teclado é liberado pela execução da função scanf(); o usuário digita 11. Sendo assim, no primeiro if, como não é igual a 10, o fluxo vai para o else e ao chegar lá, é testado por um outro if e, como é maior do que 10, exibe TOP! e sai dos ifs encadeados. 8. Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. if((Idade_ _ _18)_ _ _(peso_ _ _50)) { printf("Você pode ser doador de Sangue"); } >=; e; >; <>; and; >; >=; &; >; >>; and; >; >=; &&; >; Explicação: https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('590884','6855','8','3626932','8'); Relendo a pergunta: Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. Preenchendo if((Idade >=18) && (peso > 50)) João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que mostrava quantas vezes seria exibida a mensagem BOM. Se fosse você, qual escolheria? int y; for(y=2; y <= 16; y+= 2) puts( "BOM" ); 8 vezes 9 vezes 15 vezes 10 vezes 16 vezes Explicação: O aluno precisa ter entendido que a estrutura do for usa uma PA ou PG 2. Um programa que contém a linha de comando abaixo: int soma, i = 0; while ( i < 50000) { if ( i % 7 == 0) { soma = soma + i; } i++ ; https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('880556','6855','2','3626932','2'); Qual será a saída: Soma dos números inteiros menores que 50000 divisíveis por 7. Soma dos números inteiros menores que 50000 com resto 7. Soma dos números inteiros menores que 50000 divido por 7. Soma dos números inteiros menores que 50000 ímpares. Soma dos números inteiros menores que 50000. 3. Complete o trecho de código abaixo com a expressão condicional adequada para o comando de repetição exibir a mensagem "Boa Noite" 100 vezes. i = 0; while ( ) { cout << "Boa Noite" << endl; i = i + 1; } i <= 100 i != 100 i < 100 i == 100 i >= 100 4. Na maioria das linguagens de programação, as estruturas de controle de fluxo são fundamentais para a criação de programas elegantes e de fácil entendimento. Assinale a alternativa correta com relação aos comandos de controle de fluxo da linguagem C, sabendo que o comando for apresenta a seguinte forma geral: for (inicialização;condição;incremento) declaração; Não é permitido omitir a condição no comando for, pois não existiria maneira de parar o laço infinito. Sem os comandos de controle de fluxo, só haveria uma maneira de o programa ser executado: de baixo para cima e comando por comando. O comando for garante que o laço seja executado pelo menos uma vez. O comando continue usado dentro de um laço executa a próxima linha de código independentemente do fato de ela estar dentro ou fora do laço. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('779850','6855','3','3626932','3'); javascript:duvidas('780242','6855','4','3626932','4'); Pode-se omitir a declaração, e, mesmo assim, o comando for ainda será válido. 5. A programação oferece diversas estruturas de forma a facilitar a programação quanto a sua organização. Alguns dessas estruturas evitam que determinada parte do código tenha de ser repetido diversas vezes. Marque a alternativa que contenha todas essas estruturas. IF/ELSE e FOR SWITCH CASE e IF/ELSE WHILE, DO WHILE e SWITCH CASE FOR, WHILE e DO WHILE IF e SWITCH CASE 6. Um aluno estava fazendo experiências com a estrutura do for e precisava repetir a frase, 10 vezes: Estudar para Prova no final de semana! Sendo assim, construiu vários trechos. Observe as tentativas que ele fez abaixo e assinale a opção correta. I for(x = 2; x <= 20; x++ ) II for(x = 3; x <= 30; x = x + 3 ) III for(x = 0; x <= 10; x = x + 1 ) IV for(x = 2; x <= 11; x++ ) Somente a afirmativa II permite a repetição 10 vezes As afirmativas II , III e IV permitem a repetição 10 vezes As afirmativas II e III permitem a repetição 10 vezes As afirmativas II e IV permitem a repetição 10 vezes Todas, exceto as afirmativas I e a IV, permitem a repetição 10 vezes Explicação: https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('806240','6855','5','3626932','5'); javascript:duvidas('2948892','6855','6','3626932','6'); Na aula tem exemplos e o aluno só precisar saber quanto números fazem parte da sequência(PA). 7. O programa abaixo terá qual saída? int main() { int j = 2; for ( int i = 1 ; i < = 3 ; i++ ) { cout << i * j << endl; } } 1 * 2 2 * 2 2 * 3 12 2, 4, 6 1 * 2 = 2 2 * 2 = 4 3 * 2 = 6 2 4 6 8. 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('1012749','6855','7','3626932','7'); javascript:duvidas('188919','6855','8','3626932','8'); 2 4 4 8 12 20 32 52 2 4 4 8 12 20 32 2 4 6 8 19 12 14 16 2 4 6 10 16 26 42 2 4 6 10 16 26 42 68 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. Somente a sentença II está correta Todas as sentenças estão corretas Somente as sentenças I e II estão corretas Somente as sentenças II e III estão corretas Somente as sentenças I e III estão corretas Explicação: As duas primeiras estão corretas como poderá verificar na Aula 6. Errada somente a III: Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um. Porque o caractere\0 só ocupa uma posição e, por essa razão, sempre declaramos mais uma posição para ele. Gabarito Comentado Gabarito Comentado 2. 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. Explicação: Na declaração de um vetor é necessário informar a quantidade de elementos que comporão o vetor, assim para 100 inteiros temos: int numerosI[100]; E como os indices de um vetor começam a partir de 0, temos : printf("\n%d\n",numerosI[pos-1]); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 3. Um programador declarou os vetores abaixo e gostaria de fazer o trecho de entrada para armazenar códigos dos 43 funcionários e respectivos salários. int x,codigos[43]; float salarios[43]; A dúvida dele está na linha do for. Você poderia indicar qual ele deveria escolher? for(x = 1; x <= 43 ; x++ ) for(x = 1; x < 43 ; x++ ) for(x = 0; x < 44 ; x++ ) for(x = 0; x < 43 ; x++ ) for(x = 0; x <= 43 ; x++ ) Explicação: Saber que o número que fica dentro dos [ ] é o deslocamento em relação ao endereço base é fundamental para resolver a questão. Isso é bem explicado na AULA 6 4. A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros Admitindo-se que existe declarado um vetor chamado nome de 50 posições(nome[50]), qual das opções abaixo efetua corretamente a leitura de seu primeiro nome? scanf("%c", nome[0]); scanf("%s&c", nome[0]); scanf("%s", nome); scanf("%&s", &nome); scanf("%s", &nome); Gabarito Comentado https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 5. Qual o elemento do vetor referenciado por vet[vet[5]]? 1 2 9 4 3 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[] = {'A', 'B', 'C', 'D'}; int valores[] = {10, 15, 20, 25, 30}; int valores[5] = {10, 15, 20, 25, 30}; char valores[5] = {'A', 'B', 'C', 'D'}; char valores = "ABCD"; Explicação: Errada: char valores = "ABCD"; porque faltam []. Deveria ser assim: char valores[] = "ABCD"; Gabarito Comentado Gabarito Comentado 7. Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string? strcout strlen strcat https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp strcap strcamp 8. Qual o elemento do vetor referenciado por vet[3]? 0 4 1 7 2 Explicação: Vetores são estruturas contíguas onde suas posições são referenciadas a partir de índices, onde o índice inicial é 0 (zero), o seguinte 1 e assim por diante. O vetor é referenciado pelo endereço do primeiro byte do conjunto logo, o primeiro elemento tem o mesmo endreço do vetor e como o que fica entre [ ] é o deslocamenro do elmento em relação ao endreço base, 0 fica dentro dos [ ]. Desta forma o conteúdo do campo Vet[3] é 7. Analisando o códio a seguir, pode-se afirmar que: #include #define T 5 int main() { int x[T][T], i,j; for(i=0; i< T; i++) for(j=0; j< T; j++) x[i][j]=j+1; for(i=0; i< T; i++) for(j=0; j< T; j++) printf("x[%d][%d]: %d\t",i, j,x[i][j]); return 0; } Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. https://simulado.estacio.br/bdq_simulados_exercicio.asp O programa não executa pois há falta de chaves. Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. Explicação: Neste caso o preenchimento da matriz está sendo realizado de forma horizontal, for(j=0; j< T; j++) x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna. isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que: Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 2. Um treinador de uma equipe de futebol com 22 atletas gostaria de declarar matrizes para guardar nomes, total de jogadas boas e total de jogadas perdidas. Qual das opções abaixo possibilitaria isso se ele usasse, somente, matrizes bidimensionais? int jogadas[22][2]; char nomes[22][30]; int jogadasB[22], jogadasR[22]; char nomes[22][30]; int jogadas[22][2]; char nomes[22]; int jogadas[21][1]; char nomes[21][30]; int jogadasB[21], jogadasR[21]; char nomes[21][30] Explicação: Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que desejamos. 3. Analisando o códio a seguir, pode-se afirmar que: #include < stdio.h > #define T 5 int main() { int x[T][T], i,j; for(i=0; i< T; i++) for(j=0; j< T; j++) x[i][j]=j+1; for(i=0; i< T; i++) https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp for(j=0; j< T; j++) if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); return 0; } O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. O programa cria uma matriz de duas dimensões e exibe todos seus elementos. O programa multiplica dois vetores de dimensão igua a 5. O programa não executa; O programa cria uma matriz de duas dimensões vazia. Explicação: Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices linha e colna são iguais. Assim como temos: for(j=0; j< T; j++) if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 4. Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena? 5 elementos 50 elementos 45 elementos 36 elementos 10 elementos 5. Um programador precisa armazenar em uma tabela a quantidade de alunos, por turma, que tiraram notas abaixo da méida, exatamente na média e acimma da média. Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, servirá para armazenar as notas das 30 turmas existentes, e que para o programa que estásendo desenvolvido o melhor será organizar as turmas por linhas na tabela. Marque a alternativa que melhor representa a declaração desta tabela. int turmas[30]; int mapa[30][3]; float turmas[30]notas[3]; https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp int mapa[3][30]; float mapa[30][30]; Explicação: A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas], como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos e necessita-se de 30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int mapa[30][3]; 6. Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele digite o valor 7 . sexta quarta sábado quinta dia não existe https://simulado.estacio.br/bdq_simulados_exercicio.asp 7. O departamento do pessoal de uma empresa precisa de um programa para armazenar nomes, cargos, número de dependentes e salários de 32 funcionários. Um desenvolvedor pensou em algumas linhas que precisariam ser incluídas no código para tornar possível a construção dos trechos de entrada, saída e outros necessários. Observe as declarações abaixo e escolha a que possibilita isso. float sal[32]; int dep[32]; char nomes[32][30], cargos[32][20]; float sal[32]; int dep[32]; char dados[32][20]; float sal[32]; int dep[32]; char nomes[32], cargos[32]; float dadosN[32][2]; char dadosC[32][30]; float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20]; Explicação: Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que desejamos. O número de caracteres de um nome e profissão são baseados no comum: 25 a 30 caracteres para um nome é razoável. Tipos diferentes não se agrupam. 8. 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); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp } Complete as lacunas do código da maneira correta para que o programa funcione corretamente. do-if-else-while do-if-for-while while-for-do-for do-for-for-while do-while-for-for Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << " Produto = " << multiplicar(a,b); Observe as opções abaixo e escolha aquela onde o protótipo da função está presente. float multiplicar(int a, int b) int multiplicar(int a, b); void multiplicar(int a, int b); int multiplicar(int a, int b) ; void multiplicar(int a, int b) Explicação: Se fosse do tipo void, não precisaria de cout. Todo protótipo termina com ; . O tipo de cada parâmetro precisa estar presente 2. Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas main() return https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('652580','6855','2','3626932','2'); begin systema("pause") end Gabarito Comentado Gabarito Comentado Gabarito Comentado 3. 5- Veja o código a seguir: #include < stdio.h > #include < stdlib.h > void imprime(int v[]) { int i; for(i=0;i<10;i++)printf("v[%d]=%d\n", i, v[i]); } int main(int argc, char *argv[]) { int num[]={1,2,3,4,5,6,7,8,9,10}; __________________________ // chamada a função imprime return 0; } Está faltando o segundo comando na função main(), este deve ser uma chamada a função imprime(int v[]). Sabendo-se que o parâmetro a ser passado é um vetor,marque a alternativa com a forma correta da chamada desta função, de modo que o vetor num[] declarado na primeira linha da função main() tenha seus valores exibidos na tela. imprime(num); imprime(num[]); imprime(int num []); imprime(vet); imprime(v[]); Explicação: A chamda correta a esta função é imprime(num); pois em seu cabeçalho já está explicito que o parãmeetro é do tipo vetor de inteiros, assim basta inserir o indentificador do vetor no momento da chamada da função. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953928','6855','3','3626932','3'); javascript:duvidas('2954283','6855','4','3626932','4'); 4. Um Engenheiro civil gostaria de construir uma função que pudesse calcular o total de metros lineares que deveriam ser comprados para montar o rodapé de salas retangulares. Ele pediu ao desenvolvedor para definir a função. Assinale a opção que corresponde à definição CORRETA da função. float rodapeRet(float largura, float comprimento); { return largura * comprimento;} float rodapeRet(float largura, float comprimento); { return largura + comprimento * 2;} float rodapeRet(float largura, comprimento) { return largura + comprimento * 2;} float rodapeRet(float largura, float comprimento) { return largura * comprimento;} float rodapeRet(float largura, float comprimento) { return (largura + comprimento)*2;} Explicação: A resposta é simples, pois só precisava de um conhecimento anterior sobre o perímetro de um retângulo além do que foi estudado na AULA 8 5. O cabeçalho de uma função é composto por: < tipo de retorno > nome da função ( lista de parâmetros). A lista de parâmetros, quando houver deve ter os parãmetros separados por vírgula e estes são entradas para a função, enquanto o tipo de retorno indica o tipo de valor que será a saída de uma função. Entretanto algumas funções não retornam nenhum valor, neste caso deve-se usar no seu cabeçalho para tipo de retorno a palavra: return boolean float void int https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953913','6855','5','3626932','5'); Explicação: void é uma palavra reservada da linguagem C que quando usada antes do nome de uma função indica que a mesma não retorna valor. 6. Analise o código a seguir: #include < stdio.h > #include < stdlib.h > void modifica(int v[]) { int temp=v[0]; v[0]=v[1]; v[1]=temp; } int main(int argc, char *argv[]) { int vetor[]={5,3}; modifica(vetor); printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]); return 0; } Marque a alternativa correta: A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). A saída queserá exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main(). A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main(). O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). Explicação: Na função o acesso ocorre exatamente no vetor que foi passado como parâmetro, portanto há alteração do conteúdo do mesmo. 7. Em todos os programas codificados em linguagem C aparece a função main(). Verifique as afirmativas. I- A execução de um programa em C inicia na primeira linha da função main() II - Alguns programas complexos em C necessitam de mais de uma função main() https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953920','6855','6','3626932','6'); javascript:duvidas('2953917','6855','7','3626932','7'); III - A função main() em detgerminadas situações pode ser opcional no código. IV - Embora muito importante não é possivel escrever um programa em C apenas com a função main(). Marque a alternativa CORRETA: Apenas a afirmativa I está correta As afirmativas I e II estão corretas As afirmativas I e III estão corretas As afirmativas I e IV estão corretas Todas as afirmativas estão corretas Explicação: A execução de um programa em C inicia-se a partir do primeiro comando da função main(). Não pode haver num mesmo programa mais de uma função main() e todo programa em C deve ter uma função main(), mesmo que o prorama se resuma apenas na função main(). 8. Os programas inicialmente eram desenvolvidos em um único bloco, com a introdução da modularização de programas foi possível garantir uma melhora na legibilidade dos códigos, um maior aproveitamento e reuso de códigos e melhora na manutenção de sistemas. Assim o principal elemento da modularização de programas é: structs vetor tipo de dados funções variáveis Explicação: As funções são blocos de programas que proporcionam, um programa dividido em módulos, podendo estas funções serem utilizadas varias vezes no mesmo programa ou ainda em outros programas, garantindo o reuso de código. Como as funções são blocos pequenos de códigos com objetivos bem específicos, o entendimento da funcionalidade do bloco é facilitada, garantindo uma maior legibilidade do programa e em consequ~encia maior facilidade para manutenção do programa. Assinale a opção onde está presente a função que " extrai " dados numéricos de um vetor de char, não do teclado, além de evitar problemas na alternância na leitura de valores numéricos com vetores de char ao trabalharmos com arquivos. https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953907','6855','8','3626932','8'); fgets(...); fscanf(...); fread(...); fgetc(...); sscanf(...); Explicação: Essa é uma Aula com muitas funções e o aluno precisa conehcer todas. 2. 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 - fechar char - fopen - fclose float - fopen - fclose int - abrir - fopen Gabarito Comentado https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 3. A função fgets(): imprime uma linha inteira de uma vez. lê uma linha inteira de uma vez. imprime um caracter de cada vez. lê um caracter de cada vez. lê um arquivo inteiro de uma vez. Gabarito Comentado Gabarito Comentado 4. Sabe-se que o modo padrão é o texto logo, não precisa incluir ao final de cada letra t. Observe as opções abaixo e escolha a que deverá ser usada quando se abre um arquivio, pois permite leitura/ escrita e alteração no modo texto(txt). r a+ r+ a w+ Explicação: Para responder a essa questão, o aluno precisa conhecer os seis modos de abertura para um arquivo texto. 5. 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp arquivo = fopen("material.dat", "w+"); arq = fopen("texto.txt", "w"); arq = fopen("texto.txt", "a+"); arquivo = fopen("material.dat", "a+"); arquivo = fopen("material.dat", "r+"); Gabarito Comentado 6. Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo. Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas. O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário. Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa. Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema. A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL. A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário. Gabarito Comentado Gabarito Comentado 7. Assinale a opção onde está presente a função que tem como finalidade fechar o arquivo, embora todos os arquivos sejam fechados quando o programa é finalizado. fputs( ...); fclose(...); fopen(..); feof(...); fseek( ...); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp Explicação: Essa é uma resposta conclusiva.8. 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 corretamente qual a finalidade da função feof() . Funções para gravar uma linha. Função que detecta o fim do arquivo. Funções para ler um caractere. Funções para leitura formatada. Função que fecha um arquivo. Assinale a opção que apresenta a função que seta o indicador de posição do arquivo no início ftell(...); fopen(...); rewind(...); fputs(...); fclose(...); Explicação: São muitas funções nessa aula que precisam ser estudadas. 2. A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo. fscanf() fprint() https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp fgetc() sscanf() fgets() Gabarito Comentado Gabarito Comentado 3. Assinale a opção que apresenta a função que lê dados de um arquivo binário. fgets(...); sscanf(...); fread(...); fgetc(...); fscanf(...); Explicação: São muitas funções nessa aula que precisam ser estudadas. 4. Assinale a opção que apresenta a função que grava dados em um arquivo binário. fputc(...); printf(...); fwrite(...); fprintf(...); fputs(...); Explicação: São muitas funções nessa aula que precisam ser estudadas. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 5. Assinale a opção que apresenta o modo de abertura que permite leitura/ escrita e acrescentar ao final em um arquivo binário. rb+ r+ ab+ a+ w+ Explicação: Para responder a essa questão, o aluno precisa conhecer os seis modos de abertura para um arquivo binário. 6. A função rewind() de protótipo void rewind (FILE *fp); tem como comportamento: Adiantar para a próxima posição corrente do arquivo. Adiantar a posição corrente do arquivo para o início. Adiantar a posição corrente do arquivo para o fim. Retornar a posição corrente do arquivo para o fim. Retornar a posição corrente do arquivo para o início. Gabarito Comentado Gabarito Comentado 7. 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); fwrite(quantidade, ptrArq, endreçoElemento,tamanho); fwrite(endreçoElemento, tamanho, quantidade, ptrArq); https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp fwrite(endreçoElemento, ptrArq, quantidade); fwrite( tamanho, endreçoElemento, ptrArq);
Compartilhar