Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: LING. DE PROG. I 2022 / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 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 ( e ) begin e end; Explicação: As { } foram escolhidas para envolver todos comandos e/ou funções da função main() e também de algumas estruturas. Gabarito Comentado Acerca das variáveis, podemos destacar que os tipos básicos do C, são: int, texto, inteiro e double. char, bool, real e int. Nenhuma das alternativas acima string, int, float e double. char, int, float e double. javascript:duvidas('616753','6855','1','7192297','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 javascript:duvidas('737802','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Explicação: Lembrando que o tipo void não foi explorado na Aula 3(tem um Atenção falando sobre isso), podemos considerar como certa a opção: char, int, float e double Com relação a diretiva de pré compilação #include, pode-se dizer que: É usada para declarações de objetos externos (protótipos de funções e variáveis) É usada para inclusão de arquivos cabeçalhos (headers) É usada para definição de constantes É usada para parar a execução de um programa É usada parra definições de funções (incluindo a função main()) Explicação: Na linguagem C utiliza-se a diretiva de pre-compilação #include para incluir arquivos ou bibliotecas ao código. Ex: #include #include 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.' Modularidade Simplicidade Portabilidade javascript:duvidas('2948171','6855','3','7192297','3'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2948846','6855','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Estruturada Rapidez Explicação: Resposta na Aula 1 quando estudamos as sete vantagens Qual a vantagem da Linguagem C que está descrita no texto abaixo? 'Permite que o desenvolvedor defina suas funções.' Simplicidade Modularidade Estruturada Portabilidade Rapidez Explicação: A resposta está na Aula 1 quando estudamos as sete vantagens da Linguagem C 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 javascript:duvidas('2948848','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('268584','6855','6','7192297','6'); https://simulado.estacio.br/bdq_simulados_exercicio.asp ISO/IEC 9899:1990 C tradicional Padrão C99 Explicação: Em 1999, alguns ajustes forma feitos e surgiu o padrão C99 que incluiu os itens abaixo. Gabarito Comentado Gabarito Comentado Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi desenvolvida? década de 50 década de 60 década de 80 década de 90 década de 70 Explicação: Essa é uma resposta que não tem como ser diferente. IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo.Geralmente os IDEs facilitam a técnica de RAD (de Rapid Application Development, ou "Desenvolvimento Rápido de Aplicativos"), que visa a maior produtividade dos desenvolvedores. Marque a alternativa ERRADA relativa as ferramentas mais comuns encontradas nos IDEs: Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-fonte do programa, na tentativa de aprimorar a qualidade de software; Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem de máquina, em um programa executável que pode ser executado em um computador ou outro dispositivo computacional; 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('616737','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2948148','6855','8','7192297','8'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Editor - edita o código-fonte do programa escrito na(s) linguagem(ns) suportada(s) pela IDE; Ativador - ativa o código fonte para que o mesmo seja executado em qualquer sistema operacional. Compilador (compiler) - compila o código-fonte do programa, editado em uma linguagem específica e a transforma em linguagem de máquina; Explicação: Não existe uma ferramenta capaz de transformar um código em multiplataforma, as demais opções estão corretas e são ferramentas normalmente encontradas nas IDE's. Um aluno precisava fazer uma citação e deveria colocar uma frase entre aspas. Escolha a opção que poderá resolver o problema dele. printf("\"LPI\"); printf("\"LPI\""); printf(\"LPI\"); A solução seria usar aspas simples duas vezes para substituir printf("''LPI''"); . 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. Qual será a saída do comando abaixo: printf("O valor de Pi é %.6f", pi); O valor de Pi é 3.1415926535897932384626433832795 O valor de Pi é 3.14 O valor de Pi é pi O valor de Pi é 3.141592 javascript:duvidas('2953446','6855','1','7192297','1'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('863611','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.asp O valor de Pi é 3,14 Explicação: .6: 6 casas decimais 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. toupper() e stdlib.h isalpha() e stdlib.h atof() e stdlib.h atoi() e math.h tolower() e ctype.h Gabarito Comentado Na linguagem C, as strings "%d", "%f" e "%s" estão usualmente associadas ao uso da função: void feofprintf main getch Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h. Assinale o trecho correto que possibilita incluí-las. #include #include #include #include javascript:duvidas('616987','6855','3','7192297','3'); 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('867883','6855','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616759','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp #define #define #define #include stdio.h #include stdlib.h #include math.h #include Gabarito Comentado Assinale a função que não é disponível na plataforma Linux. return scanf() main() system() printf() Qual a funções da biblioteca stdio.h, da linguagem C usada exclusivamente para exibir apenas um caracter na tela? scanf('char') puts('char') printf('char') msg('char') putchar('char') Explicação: Embora as funções puts() e printf() possam exibir um caracter, a função que exibe exclusivamente um caracter é a putchar() https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616788','6855','6','7192297','6'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2950008','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Se você precisasse exibir 123.45 onde o total de algarismos da parte inteira com a parte decimal seria igual a 8, preenchendo com zero as que não fossem necessárias e com três algarismos na parte decimal, qual das opções abaixo você escolheria? printf("%08.3f\n", 123.45); printf("%8f3\n", 123.45); printf("%.3f\n", 123.45); printf("%f\n", 123.45); printf("%09.3f\n", 123.45); Explicação: Assunto bem explorado na Aula 2 inclusive com PDF. Sabe-se que os códigos das letras Maiúsculas se encontram no intervalo fechado de 65 a 90(A-Z) e os das letras Minúsculas se encontram no intervalo fechado de 97 a 122(a-z) Qual das linhas abaixo apresenta a letra e Minúscula? char c='A'; printf("\nValor de c: %f ",c); printf("\nValor de c: %c ",c); printf("\nValor de c: %d ",c); printf("\nValor de num: %c ",toupper(c)+3); printf("\nValor de num: %c",tolower(c)+4); Explicação: O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo) e conhecer as finalidades das funções tolower() e toupper() javascript:duvidas('2953461','6855','8','7192297','8'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2948345','6855','1','7192297','1'); https://simulado.estacio.br/bdq_simulados_exercicio.asp É um nome de variável válido: número media_nota2 meu 2Cel maça 1X 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 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++. 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 final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas. São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções. Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções. São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas. Explicação: javascript:duvidas('1025804','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('134172','6855','3','7192297','3'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Uma variável global deve ser declarada fora de qualquer bloco de programa e pode ser visualizada em qualquer escopo do programa. Os operadores de incremento (++) e decremento (--) são muito utilizados no desenvolvimento de programas. Se em uma linha de um programa em C utilizarmos o seguinte comando: a=b++, qual das opções abaixo demonstra a operação que será executada: a=a+1; b=b+1; a=b; b=b-1; a=b; b=b+1; b=b+1; a=b; b=b-1; a=b; Explicação: a=b++; Significa que, primeiro, o valor atual de b será atribuído à variável a e, depois, a variável b será incrementada de 1. Sendo assim, equivaleria aos dois comandos : a=b; b=b+1; Em C++, como podemos inicializar a variável sexo recebendo um valor F? string sexo = "F" char sexo = 'F'; char sexo == F; char sexo = F; char sexo = "F"; Explicação: A atribuição de uma variável do tipo char deve ser realizada com o valor entre aspas simples, ou melhor apóstrofes. javascript:duvidas('795033','6855','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('68643','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp A declaração de uma variável na linguagem C é realizada com a informação do tipo de dado que a variável irá armazenar em seguida o nome da variável. Que tipo de informação é passada para o sistema operacional quando na declaração de uma variável informamos o tipo de dado que esta irá armazenar. tipo de memória alocada nenhuma informação pra o sistema operacional quantidade de memória alocada qualidade da memória alocada endereço de memória alocada Explicação: Na declaração de uma variável, o tipo de dado que a variável irá armazenar serve para que o sistema operacional saiba a quantidade de memória necessaria para armazenamento do dado, enquanto que o nome da variável é associado pelo sistema operacional ao endereço da memória onde a variável é alocada. Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. nota-2 , a36, x_y 2nota, a36, x#y, --j i, j, int, obs If, nota_do_aluno_2, HOJE, _yes 2_ou_1, fim, *h, j Explicação: Analisando as possíveis respostas. i, j, int, obs -> Tem palavra reservada (int) 2nota, a36, x#y, --j -> Não pode começar por número, nem ter caractere # e nem - If, nota_do_aluno_2, HOJE, _yes -> CORRETA 2_ou_1, fim, *h, j -> Não pode começar por número, nem ter caractere * e o segundo caractere, sendo o primeiro _, Não pode ser número. javascript:duvidas('2820800','6855','6','7192297','6'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('616864','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp nota-2 , a36, x_y -> Não pode ter caractere - Gabarito Comentado Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA. Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes. As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas. Existem funções que não têm variáveis locais. Umavariável local só é visualizada pela função onde foi declarada. A função main() pode acessar qualquer variável local de qualquer função. Explicação: As variáveis locais só são visualizadas pela função logo, a main() Não tem esse privilégio. Logo, ERRADA: A função main() pode acessar qualquer variável local de qualquer função https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('188720','6855','8','7192297','8'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 1. Os operadores de incremento e decremento merecem atenção quando não se tem experiência em usa-los. Observe o trecho abaixo e Escolha a opção que mostra a saída e os valores das variáveis c e d. int a=12, b = 18, c, d; c = ++a; d = b++; c += 5; if( c > d ) printf("\nO valor da variável c é maior do que o valor da variável d: %d > %d\n" , c,d); else if( c == d ) printf("\nO valor da variável c é igual ao valor da variável d: %d = %d\n" , c,d); else printf("\nO valor da variável c é menor do que o valor da variável d: %d < %d\n" , c,d); printf(" \n%d\t%d\n ",c,d); O teste verdadeiro é c == d e os valores para c e d são, respectivamente, 19 e 19. O teste verdadeiro(no caso o else) é c < d e os valores para c e d são, respectivamente, 18 e 19. O teste verdadeiro é c > d e os valores para c e d são, respectivamente, 19 e 18. O teste verdadeiro é c == d e os valores para c e d são, respectivamente, 18 e 18. O teste verdadeiro(no caso o else) é c < d e os valores para c e d são, respectivamente, 17 e 19. Explicação: Esse exercício necessita do domínio do pré-incremento e pós-incremento ao se atribuir valores a variáveis. No pré-incremento, primeiro incrementa e depois atribui o novo valor a outra variável. No pós-incremento, primeiro atribui o valor atual e depois incrementa. https://simulado.estacio.br/bdq_simulados_exercicio.asp Se a minha média for maior ou igual a 6 estarei aprovado, caso contrário, estarei reprovado. Qual dos trechos abaixo escritos em C++ representa esta situação? if (media > 6) { cout << "Aprovado"; } else { cout << "Reprovado"; } if (media > 6) cout << "Aprovado"; else cout << "Reprovado"; if (media >= 6) cout << "Aprovado"; else cout << "Reprovado"; if (media <= 6) cout << "Aprovado"; else cout << "Reprovado"; if (media != 6) { cout << "Aprovado"; } else { cout << "Reprovado"; } Explicação: if (media > 6) errado pois aprovado apenas aqueles que obtiverem media maior que 6 if (media <= 6)errado pois aprovado apenas aqueles que obtiverem media menor ou igual que 6 if (media != 6)errado pois aprovado apenas aqueles que obtiverem media diferente que 6 if (media >= 6)correto pois aprovado apenas aqueles que obtiverem media maior ou igual que 6 O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if. Das opções apresentadas marque a qual melhor define esta estrutura. Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente. Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes. Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes. Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente. javascript:duvidas('177543','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('233827','6855','3','7192297','3'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes. Gabarito Comentado Gabarito Comentado 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 a soma lógica dos valores dos operandos. 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 o valor lógico do menor operando. 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 o valor lógico do maior operando. Explicação: 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. No contexto do comando switch e do uso do comando break emm seu interior, na linguagem de programação C é correto afirmar que: 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; 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; 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 não é possível executar comandos de uma das cláusulas case de um comando switch na mesma execução desse comando. 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','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('871221','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953860','6855','6','7192297','6'); Observe o trecho abaixo. Supondo que você digitou 8 na entrada de dados, o que será exibido? int num; puts("\nDigite número inteiro\n"); scanf("%d", &num); if( num = 5 ) printf(" \nMuito interessante\n" ); printf(" \nDificil"); Desce o cursor e exibe Dificil. Dá erro porque só tem um sinal de igual no teste. .Desce o cursor e só exibe Muito interessante. Dá erro de sintaxe porque faltam as chaves. Desce o cursor e exibe Muito interessante. Desce o cursor e exibe Dificil. Explicação: Muita atenção para o comando de atribuição dentro do teste, uma vez que só tem um =. Sendo assim, qualquer valor digitado será substituído por 5 e o teste será verdadeiro porque a UAL retorna um se o valor for diferente de 0 nesse caso. Observe o trecho de programa abaixo com muita atenção e escolha a opção que mostra o que será exibido. int a = 5, b = 6 , c = 7; if( a > b ) puts(" \nUM\n" ); else if ( ( c - b) % 2 == 0) puts(" \nDOIS\n" ); else if ( (a + b) > c * 2) puts( " \nTRES\n" ); else if( c <= b + a ) puts( " \nQUATRO\n" ); else puts(" \nTodas Erradas\n" ); DOIS https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2954166','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp UM QUATRO TODAS ERRADAS TRÊSExplicação: Operações básicas para serem testadas. Somente uma resposta será possível porque são ifs encadeados. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. +, - e * <, > e >= &&, || e ~ =, > e || &&, >= e || Explicação: Conhecer os operadores relacionais e lógicos será fundamental para criarmos a expressão do teste que será usada nas estruturas de decisão (if / if...else) e nas estruturas de repetição(for, while e do...while). Os operadores relacionais são: > , >= , < , <= , == e !=. Sendo assim, a única resposta que só contém operadores relacionais é : <, > e >= . javascript:duvidas('177554','6855','8','7192297','8'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 1. Todo laço de repetição dever possuir um critério de parada para que o mesmo não fique executando indefinidamente. Analise o código a seguir e marque a opção que representa um critério de parada a ser introduzido no código, no bloco while, a fim que o código em execução mostre todos os números pares diferente de zero e inferiores ao valor introduzido pelo usuário a variável x. #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i=1; printf("Entre com numero: "); scanf("%d", &x); while(i<=x) { if(i%2==0) printf("%d\n", i); } return 0; } i--; i+x; x--; x++; i++; Explicação: A fim de garantir que o programa execute apenas enquanto que a variável i seja menor que o valor armazenado em x. Temos que incrementar a variável i a cada iteração do laço. Assim fazemos i++ Considere o trecho de código em C a seguir e selecione a opção que indica corretamente o que será exibido ao término da execução. int x=1; int y=5; for (int i = y; i >0 ;i--) x = x * i; printf("x=%d",x); x= 5 x = x x = 120 120 https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('177540','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 5 Explicação: Sendo o código: int x=1; int y=5; for (int i = y; i >0 ;i--) x = x * i; printf("x=%d",x); As instruções abaixo inicializam as variáveis: int x=1; int y=5; E acada iteração do laço de iteraçao será realizada a instrução: x = x * i; Na primeira iteração temos: x=1*5 =5 Na segunda iteração temos: x=5*4 =20 Na terceira iteração temos: x=20*3 =60 Na quarta iteração temos: x=60*2 =120 Na quinta e ultima iteração temos: x=120*1 =120 Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0 && i%2==0) printf("Divisores: %d\n", i); } if(x%2==0)printf( "Divisores: %d\n", x); return 0; } O código mostra os números divisíveis por 2. O código mostra os todos os divisores de um número. O código mostra os todos os divisores pares de um número. O código mostra os todos os divisores ímpares de um número. javascript:duvidas('2952816','6855','3','7192297','3'); https://simulado.estacio.br/bdq_simulados_exercicio.asp O código mostra os números divisíveis por 3. Explicação: O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata e seja par será mostrado. Assim como o próprio número quando este for par, já que todo número é divisível por ele mesmo. Analise o trecho de código abaixo e determine qual a saída gerada: int i, A = 0, B = 1 ; for (i = 1; i < 5; i++) { A = B; B = i + B * A; } cout << " A = " << A << " B = " << B; A = 67 b = 4757 A = 8 B = 67 A = 0 B = 1 A = 39 B = 1525 A = 6 B = 39 Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h>//Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0) printf("Divisores: %d\n", i); } printf( "Divisores: %d\n", x); return 0; } O código mostra os números divisíveis por 2. O código mostra os todos divisores pares de um número. javascript:duvidas('1022655','6855','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2952806','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp O código mostra os números divisíveis por 3. O código mostra os todos os divisores de um número. O código mostra os todos divisores ímpares de um número. Explicação: O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata esse será mostrado. Assim como o próprio número, já que todo número é divisível por ele mesmo. Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa, caso o usuário introduza um número positivo maior que zero: #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i=1; printf("Entre com numero: "); scanf("%d", &x); while(i<=x) { if(i%2!=0) printf("%d\n", i); i++; } return 0; } O código mostra os números divisíveis por 2. O código mostra os todos os divisores ímpares de um número. O código mostra os todos os números pares menores ou igual a x. O código mostra os números divisíveis por 3. O código mostra os todos os números ímpares menores ou igual a x. Explicação: O aluno deve compreender que estão sendo testados os números menores que o número introduzido pelo usuário, e caso o número testado tenha seja ímpar será mostrado. Assim como o próprio número quando este for ímpar. javascript:duvidas('2952832','6855','6','7192297','6'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 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" ); 16 vezes 9 vezes 15 vezes 8 vezes 10 vezes Explicação: O aluno precisa ter entendido que a estrutura do for usa uma PA ou PG Considere o trecho de código abaixo. O que será impresso quando o programa for executado? int main() { int contador = 10; while (contador > 1) { printf("%d ", contador); contador--; } return 0; } 1 2 3 4 5 6 7 8 9 Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 ... 10 9 8 7 6 5 4 3 2 javascript:duvidas('2952126','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('1025847','6855','8','7192297','8'); https://simulado.estacio.br/bdq_simulados_exercicio.asp Nunca vai parar. 10 10 10 10 10 10 10 10... 10 9 8 7 6 5 4 3 2 1 Explicação: A estrutura while repete o bloco enquanto o teste for verdadeiro. Se a variável contador começa com 10 e exibe o valor do contador enquanto ele for maior do que, significa que quando ele for decrementado e chegar a 1, interromperá a repetição; Resposta correta: 10 9 8 7 6 5 4 3 2 1. Analise o código a seguir e marque a alternativa que melhor descreve o que está sendo executado.#include < stdio.h> //Retire o espaço depois de < quando for compilar #define T 10 int main() { int x[T], i; for(i=0; i< T; i++)x[i]=i+1; for(i=1; i< T; i+=2) { printf("x[%d]: %d\n", i,x[i]); } return 0; } É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 9, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos. https://simulado.estacio.br/bdq_simulados_exercicio.asp Explicação: É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição. E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos, já que no segundo laço a variável i é iniciada com o valor 1 e o incremento é 2. 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 as sentenças II e III estão corretas Somente as sentenças I e II estão corretas Todas as sentenças estão corretas Somente a sentença II está correta 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 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 Analise o código a seguir e marque a alternativa que se efetuada mostraria na tela apenas os números ímpares armazenados no vetor. #include < stdio.h> //Retire o espaço depois de < quando for compilar #define T 10 int main() { int x[T], i; for(i=0; i< T; i++)x[i]=i+1; for(i=1; i< T; i+=2) { printf("x[%d]: %d\n", i,x[i]); } return 0; } for(i=1; i< T; i+=1) for(i=0; i< T/2; i+=2) for(i=0; i< T; i+=2) for(i=1; i< T/2; i+=2) for(i=0; i< T; i+=1) Explicação: Se fizermos for(i=0; i< T; i+=2) são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos, já que no segundo laço a variável i é iniciada com o valor 0 e o incremento é 2. Repare que as posiçoes impares contêm apenas números pares. O que será impresso pelo trecho de código abaixo? int vet[5]; int x, s = 0; for (x = 0; x < 5; x++) { vet[x] = x * 2; } s = vet[2] + vet[4]; printf("%d", s); 20 4 12 8 10 https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp Explicação: Acompanhando a execução, encontraremos a resposta 12 int vet[5]; int x, s = 0; for (x = 0; x < 5; x++) { vet[x] = x * 2; } s = vet[2] + vet[4]; printf("%d", s); x s vet[0] vet[1] vet[2] vet[3] vet[4] 0 0 0 0 1 0 0 2 2 0 0 2 4 3 0 0 2 4 6 4 0 0 2 4 6 8 5 12 0 2 4 6 8 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]; real notas[150]; float %.1f notas[150]; float notas[150]; int notas[150]; Explicação: Quando declaramos um vetor, primeiro precisamos escolher o tipo e como são notas, precisará ser float. Depois, entre parênteses, o número de notas que precisa ser armazenado. Nesse caso 150. Se o vetor será preenchido com notas que não são sabidas, nada mais existe na declaração. CORRETA: float notas[150]; https://simulado.estacio.br/bdq_simulados_exercicio.asp Gabarito Comentado Gabarito Comentado Qual o elemento do vetor referenciado por vet[vet[5]]? 2 1 3 4 9 Um aluno estava estudando a Aula 6 quando se deparou com a linha abaixo onde dizia que declarava e inicializava o vetor de nome matriculas e do tipo int. int matriculas[]={123,138, 13, 97, 64, 111 }; Achou estranho não ter um número dentro dos [ ] após o nome. Qual o tamanho do vetor e o que ele deveria incluir na linha abaixo para exibir a terceira matrícula? printf( " \n%d ", ?); Tamanho é 5 e para exibir a terceira matricula usaria matriculas[2] Não tem como informar o tamanho do vetor, mas para exibir a terceira matricula usaria matriculas[3] Tamanho é 6 e para exibir a terceira matricula usaria matriculas[2] Tamanho é 6 e para exibir a terceira matricula usaria matriculas[3] Tamanho é 5 e para exibir a terceira matricula usaria matriculas[3] 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: Lembro que o número entre o par [ ] significa o deslocamento em relação ao endereço base onde se encontra o primeiro elemento do vetor. 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", &nome); scanf("%&s", &nome); scanf("%s", nome); scanf("%s&c", nome[0]); 1. 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 coluna na matriz são zerados. Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. Os valoresarmazenados nos elementos de uma mesma linha na matriz são iguais. O programa não executa pois há falta de chaves. Os valores armazenados nos elementos de uma mesma coluna 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 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. 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], cargos[32]; float sal[32]; int dep[32]; char dados[32][20]; float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20]; float dadosN[32][2]; char dadosC[32][30]; float sal[32]; int dep[32]; char nomes[32][30], cargos[32][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. 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]; https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp int jogadas[21][1]; char nomes[21][30]; int jogadasB[21], jogadasR[21]; char nomes[21][30] int jogadasB[22], jogadasR[22]; char nomes[22][30]; int jogadas[22][2]; char nomes[22][30]; Explicação: Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que desejamos. Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena? 45 elementos 5 elementos 50 elementos 36 elementos 10 elementos https://simulado.estacio.br/bdq_simulados_exercicio.asp 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 quinta sábado quarta dia não existe 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp do-if-else-while do-if-for-while while-for-do-for do-while-for-for do-for-for-while Gabarito Comentado 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++) 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 todos seus elementos. 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 vazia. O programa multiplica dois vetores de dimensão igua a 5. O programa não executa; 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 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 mapa[3][30]; float turmas[30]notas[3]; int turmas[30]; int mapa[30][3]; 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]; 1. O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo: float calcSalario(float salario, float percentual); Baseado nesse protótipo é CORRETO afirmar que a função: Retornará dois valores para a função chamadora. Recebe dois valores, salário e o percentual de reajuste, passados por valor. Não retorna nenhum valor para a função chamadora. Retornará o salário somado ao percentual. Recebe dois valores passados por referência. Explicação: Passagem por referência precisava do & antes do nome de cada variável. Se não retornasse, teria que ser void. Nunca retorna dois valores. Não tem como dizer porque o https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp corpo não está presente. Ao definirmos uma função, podemos afirmar que: I Toda função tem parâmetros II Quando nada retorna, o tipo é void III Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes dos parâmetros por vírgulas IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada Após uma análise das afirmativas acima, escolha a opção correta. As afirmativas II e III estão corretas Somente a afirmativa II está correta As afirmativas I e II estão corretas As afirmativas II, III e IV estão corretas As afirmativas II e IV estão corretas Explicação: Dominar os conceitos iniciais será fundamental para responder a essa questão. Sintaxe na definição de uma função está bem explicada na Aula 8 javascript:duvidas('2953780','6855','2','7192297','2'); https://simulado.estacio.br/bdq_simulados_exercicio.aspjavascript:duvidas('2954187','6855','3','7192297','3'); Suponha uma Universidade cujo critério para aprovação seja o seguinte: a soma das duas provas PR1 e PR2 tem que ser maior, ou superior a 14. Caso o aluno não consiga fazer esse total, deverá ir fazer a PR3, cuja nota, acrescida à soma da PR1 com PR2, precisará ser, no mínimo, o que falta para completar 21 pontos. Assinale a opção CORRETA da definição de uma função que receba como parâmetros as notas da PR1 e da PR2, retornando a nota mínima que o aluno precisará tirar na terceira prova para que seja aprovado. float aprovacaoFinal(float pr1, float pr2) { return 21-(pr1 + pr2); } float aprovacaoFinal(float pr1,float pr2) { pr3=(pr1 + pr2); } void aprovacaoFinal (float pr1, float pr2) { return (21 - pr1 -pr2); } float aprovacaoFinal( float pr1, pr2) { return 21 - ( pr1 + pr2); } float aprovacaoFinal(float pr1, float pr2) { pr3 = (21-pr1-pr2); } Explicação: Se fosse do tipo void, não retornaria nada. O tipo de cada parâmetro precisa estar presente. O tipo float tem que retornar. 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); int multiplicar(int a, int b) ; void multiplicar(int a, int b) https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2954177','6855','4','7192297','4'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 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 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: O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). 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(). 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]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). 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. javascript:duvidas('2953920','6855','5','7192297','5'); https://simulado.estacio.br/bdq_simulados_exercicio.asp 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 é: vetor tipo de dados structs variáveis funções 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. Dada a função abaixo, qual o valor que será retornado quando esta função for chamada com: perc(200, 15) float perc(float val, float perc) { float resp; resp = val + val * (perc/100); return resp; } 30 170 230 215 130 javascript:duvidas('2953907','6855','6','7192297','6'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('902054','6855','7','7192297','7'); https://simulado.estacio.br/bdq_simulados_exercicio.asp javascript:duvidas('2953917','6855','8','7192297','8'); 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() 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: As afirmativas I e III estão corretas As afirmativas I e II estão corretas Todas as afirmativas estão corretas Apenas a afirmativa I está correta As afirmativas I e IV 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(). 1. A função fgets(): lê um arquivo inteiro de uma vez. imprime uma linha inteira de uma vez. lê uma linha inteira de uma vez. lê um caracter de cada vez. imprime um caracter de cada vez. Gabarito Comentado Gabarito Comentado 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+ 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 r a w+ a+ Explicação: Para responder a essa questão, o aluno precisa conhecer os seis modos de abertura para um arquivo texto. 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( ...); fseek( ...); fopen(..); fclose(...); feof(...); Explicação: Essa é uma resposta conclusiva. https://simulado.estacio.br/bdq_simulados_exercicio.asp 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 - abrir - fopen char - fopen - fechar int - open - close float - fopen - fclose char - fopen - fclose Gabarito ComentadoAssinale 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. fscanf(...); fread(...); fgetc(...); sscanf(...); fgets(...); 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 Aula com muitas funções e o aluno precisa conehcer todas. 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 fputc() . Função que fecha um arquivo. Funções para gravar uma linha. Função para gravar um caractere. Funções para gravação formatadas. Função que detecta o fim do arquivo. Gabarito Comentado Gabarito Comentado 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 ler um caractere. Funções para leitura formatada. Funções para gravar uma linha. Função que detecta o fim do arquivo. Função que fecha um arquivo. Gabarito Comentado 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. arquivo = fopen("material.dat", "r+"); arq = fopen("texto.txt", "a+"); arq = fopen("texto.txt", "w"); 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 https://simulado.estacio.br/bdq_simulados_exercicio.asp arquivo = fopen("material.dat", "a+"); arquivo = fopen("material.dat", "w+"); 1. Assinale a opção que apresenta o modo de abertura que permite leitura/ escrita e acrescentar ao final em um arquivo binário. w+ rb+ ab+ a+ r+ Explicação: Para responder a essa questão, o aluno precisa conhecer os seis modos de abertura para um arquivo binário. Assinale a opção que apresenta a função que grava dados em um arquivo binário. printf(...); fputs(...); fputc(...); fwrite(...); fprintf(...); 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 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(quantidade, ptrArq, endreçoElemento,tamanho); fwrite( tamanho, endreçoElemento, ptrArq); fwrite(endreçoElemento, ptrArq, quantidade); fwrite(endreçoElemento, tamanho, quantidade); Gabarito Comentado Gabarito Comentado A função rewind() de protótipo void rewind (FILE *fp); tem como comportamento: Retornar 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. Adiantar para a próxima posição corrente do arquivo. Adiantar a posição corrente do arquivo para o início. Gabarito Comentado Gabarito Comentado 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. fgetc() sscanf() fgets() fprint() fscanf() Gabarito Comentado 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 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 Assinale a opção que apresenta a função que seta o indicador de posição do arquivo no início rewind(...); ftell(...); fclose(...); fputs(...); fopen(...); Explicação: São muitas funções nessa aula que precisam ser estudadas. Assinale a opção que apresenta a função que lê dados de um arquivo binário. fgets(...); fgetc(...); sscanf(...); fscanf(...); fread(...); 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
Compartilhar