Baixe o app para aproveitar ainda mais
Prévia do material em texto
Apol 1 Linguagem de programação Questão 1/5 - Linguagem da Programação Qual a função que serve como o ponto de partida para a execução do programa e controla a execução direcionando as chamadas para outras funções no programa? B - A função main(). Questão 2/5 - Linguagem da Programação Na linguagem de programação C, existem comandos que são processados durante a compilação do programa. Estes comandos são conhecidos como? C - Diretivas de compilação. Questão 3/5 - Linguagem da Programação A memória de um computador é dividida em Bytes, numerados de zero até o limite de memória da máquina. Esses números são chamados endereços de Bytes, que são usados como referências, pelo computador, para localizar? A - As variáveis. Questão 4/5 - Linguagem da Programação Quais as duas tarefas principais que são executadas por um compilador no processo de tradução? D - Análise e síntese. Questão 5/5 - Linguagem da Programação Armazenam o endereço de outras variáveis na memória. Ou seja, ao invés de termos um valor numérico ou caracteres, por exemplo, armazenado na variável, temos um endereço. Essa definição refere-se a qual das alternativas abaixo? D - Os ponteiros. Apol 2 Linguagem de programação Questão 1/5 - Linguagem da Programação A declaração de uma union é muito semelhante à uma struct. A union se difere da struct em que aspecto? B - Permitir que um conjunto de variáveis compartilhem o mesmo espaço na memória. Questão 2/5 - Linguagem da Programação Um ponteiro é uma variável que armazena um endereço de memória, que corresponde a localização de outra variável. Dizemos que uma variável aponta para outra variável quando a primeira contém o endereço da segunda. Com base no conceito de ponteiros, está correto: A - int x, y, z; // Essa instrução declara três variáveis comuns. B - int *x, y, z; // Essa instrução declara somente x como ponteiro. C - int *x, *y, *z; // Essa instrução declara três ponteiros. D - int x, *y, *z; // Essa instrução declara y e z como ponteiros. E - Todas as alternativas estão corretas. Questão 3/5 - Linguagem da Programação A linguagem de programação C permite a criação dos nossos próprios tipos de variáveis e um desses tipos pode ser visto como um conjunto de variáveis referenciadas pelo mesmo nome, sendo que cada uma delas pode ter o mesmo tipo de dado ou vários tipos. E todas as variáveis possuem valores independentes. Isto se refere à: A - Struct. Questão 4/5 - Linguagem da Programação O conteúdo de uma variável pode ser modificado diretamente na memória quando passado seu endereço através dos ponteiros para uma função, ou seja, as alterações dos dados sofridas dentro da função também serão sentidas fora dela. Essa passagem é chamada de? A - Passagem de parâmetros por referência. Questão 5/5 - Linguagem da Programação Analise o código abaixo. 1. struct cadastroDeAluno 2. { 3. char nome[40]; 4. char disciplina[20]; 5. float nota1; 6. float nota2; 7. }; 8. struct cadastroDeAluno aluno; Responda a alternativa correta acerca deste código. A - cadastroDeAluno é o nome da union. B - aluno é a variável que irá utilizar a struct. C - Uma struct só pode conter variáveis do mesmo tipo. D - A variável aluno é um membro da struct. E - Todas as alternativas estão corretas. Apol 3 Linguagem de programação Questão 1/5 - Linguagem da Programação Analise o código abaixo e responda a alternativa correta. 1. struct calendário { 2. int dia; 3. int mes; 4. int ano; 5. }; 6. struct calendario agora, *depois; 7. 8. depois = &agora; // Coloca o endereço no ponteiro ‘depois’ C - A linha 6 declara o ponteiro “depois”. Questão 2/5 - Linguagem da Programação Podemos dizer que uma passagem de parâmetros por referência pode: A - Modificar o conteúdo da variável diretamente na memória. B - Passar seu endereço através dos ponteiros para uma função. C - As alterações sofridas dentro da função serão refletidas para fora dela. D - É enviado para a função uma referência às variáveis utilizadas. E - Todas as alternativas estão corretas. Questão 3/5 - Linguagem da Programação O comando typedef é usado para criar o que? A - Um sinônimo ou um alias. Questão 4/5 - Linguagem da Programação Analise o código abaixo e responda a alternativa correta. 1. struct calendario{ 2. int dia; 3. int mes; 4. int ano; 5. }; 6. struct calendario agora, *depois; 7. 8. depois = &agora; // Coloca o endereço no ponteiro ‘depois’ B - “dia”, “mes” e “ano” são componentes de uma estrutura heterogênea de dados. Questão 5/5 - Linguagem da Programação Analise as instruções abaixo e responda a alternativa correta. 1. (*depois).dia = 28; 2. (*depois).mes = 09; 3. (*depois).ano = 2018; D - Podemos substituir “(*depois).dia” por “depois->dia”. Apol 4 Linguagem de programação Questão 1/5 - Linguagem da Programação Em recursividade, para evitar que um LOOP seja executado de uma forma infinita é necessário. A - Definir uma condição que vai parar o processo. Questão 2/5 - Linguagem da Programação O uso de funções recursivas é uma prática bastante comum em programação. Acerca de recursividade e funções recursivas, assinale a alternativa correta. A - Uma função recursiva pode realizar chamadas de si própria diversas vezes. Assim, é necessário tomar muito cuidado com a quantidade de instâncias abertas da função devido ao excesso de uso de memória. B - Quando não controlada, a função recursiva será chamada de forma infinita, gerando infinitas chamadas da própria função e excedendo o tamanho de memória da máquina. C - É considerada como um processo repetitivo de uma rotina (procedimento ou função) que faz uma chamada para ela mesma. D - Um LOOP eterno ou infinito ocorre quando um bloco do código repete a instrução descontroladamente, sobrecarregando a memória e ocasionando o travamento de todo o sistema. E - Todas as alternativas estão corretas. Questão 3/5 - Linguagem da Programação Ponteiros também podem ser definidos como componentes de estruturas. Em linguagem C, qual o operador utilizamos para identificar uma variável ponteiro? A - ‘*’ (asterisco) Questão 4/5 - Linguagem da Programação A função calloc() tem como objetivo? B - Criar um vetor com tamanho dinâmico. Questão 5/5 - Linguagem da Programação Uma das vantagens de criar um ponteiro para uma struct é? A - a possibilidade de passar o seu endereço como um parâmetro para uma função. Apol 5 Linguagem de programação Questão 1/5 - Linguagem da Programação Nesta disciplina aprendemos sobre macros. Acerca de funções macros, assinale a alternativa correta. A - São informados o nome e os parâmetros da função como sendo o nome da macro e o trecho de código semelhante a ser aplicado na substituição. Questão 2/5 - Linguagem da Programação A função memset() preenche (inicializa) uma quantidade de memória e sua sintaxe é? A - void * memset ( void * nPonteiro , int nValor , size_t nBytes ); Questão 3/5 - Linguagem da Programação Na manipulação de arquivos, podemos abrir um arquivo de diversos modos de acesso. O modo de acesso é uma string que contém uma sequência de caracteres que informam se o arquivo será aberto para escrita ou leitura. Depois que abrir o arquivo, podemos executar os tipos de ação previstos pelo modo de acesso. Assim, não será possível ler de um arquivo que foi aberto somente para escrita. Acerca dos modosde acesso usados na linguagem C, assinale a alternativa que contém todos eles. I. ‘r’ - Leitura de arquivo II. ‘w’ - Escrita em arquivo III. ‘a’ - Escrevendo ao final do arquivo (anexando) IV. ‘w+’ - Abre um arquivo tanto para leitura quanto para escrita. Se o arquivo já existir terá seu conteúdo substituído. V. Todas as alternativas estão corretas. D - V. Questão 4/5 - Linguagem da Programação Nesta disciplina aprendemos sobre códigos iterativos. Acerca desta assunto, assinale a alternativa correta. C - Utiliza a repetição em forma de laços ou estruturas de repetição (para, enquanto, repita) Questão 5/5 - Linguagem da Programação As funções memset(), memcpy(), memmove() e memcmp() pertencem a qual biblioteca na linguagem C? D - string.h Discursivas Questão 1/5 - Linguagem de Programação Seu professor pediu para que você fizesse o código, em C/C++, para uma calculadora capaz de realizar as quatro operações. O código que você entregou pode ser visto a seguir: #include.<stdlio.h> #include.<stdlib.h> int main () { float nunl, num2; int choice; prtntf( “[0] Exit\n[1] somar\n[2] subitratrtract\n[3] multipItcar\n[4] divtdtrin" ); printf( “Digite a operacao desejada: " I; scanf_s( "%d", &chotce ); switch (ChOiCe) { case 0: return 0; break; case 1: printf( "Digite o primeiro operando: ' ); scanf_s( "%f', &mun( ); prtntf1 "(Dtgtte o segundo operando: " 1) scanf_s( "%f', 6mium2 ); printf( "%f', somar( sumi, nume ) ); break; case 2: printf( "Digite o primeiro operando: ' ); scanf s( "%f', Lnuml ); prtnt-fl "Dtgtte o segundo operando: " ); scanf_s( 6,nun2 ); prtntf( -%f subttratr( nunl, nun2 1 ); break; case 3: printf( 'Digite o primeiro operando: ' ); scanf_s( "%f', 6~111 ); printf1 "Dlotte o segundo operando: ); scanf s( 6num2 ); .... ; . ...... I 1. pi 1015111 10 , 11551, break; case 4: prtntfl 'Dtg tte o pr (metro operando: ' 1; scanf_s( "%', &num] ); printfl 'Digite o segundo operando: " ); scanf_s( &num? ); if ( nun2 == 1 ) { prtntf( '\nOtvisao por yeroll\n" 1; break; } printfl "%f', dividir( numl, num? 1 /: break; default: prtntfl 'Opcao tnvallda 1; break; } prtntfl r\n. 1; system( 'Pause); return 0; A correção voltou com apenas uma observação: faltaram as funções! Para conseguir resolver esta questão você terá que escrever as funções que permitirão que o seu código funcione. Nota: 20.0 #include.<stdlio.h> #include.<stdlib.h> float somar( float, float ); float subitrair( float. float ); float multiplicar( float, float ); float dividir( float, float ); int main() { float nun1, num2; Int choice; Printf(“[0] Exit\n[1] somar\n[2] subitrairtract\n[3]; multiplicar\n[4] dividtr\n" ); Printf(“Digite a operacao desejada: "); scanf_s(“%d”, &choice ); switch (choite) { case 0: return 0; break; case 1: Printf(“'Digite o primeiro operando: " ); scanf_s( "%f”, &muml ); Printf(“Digite o segundo operando: " ); .... Resposta: float somar(float numl, float num2); { float a; a= numl=num2; return(a); } float subitrair (float numl, float num2); { float b; b=numl-num2; return(b); } float multiplicar(float numl, float num2); { float a; a=numl*num2; return(a); } float dividir(float numl, float num2); { float a a=numl/num2; return(a); } Questão 2/5 - Linguagem de Programação Você foi encarregado de fazer um programa que receberá quantos números o usuário quiser digitar e devolverá o maior e o menor entre eles. Para isso você recebeu o seguinte código: #include <stdlib.h> #include <stdio.h> int main() { int x,numere=0, mator=0, nenor=100; while (numero >= 0) { printf(*Informe um valor positivo: 1; scanf(•%d', &numero); } printf("0 maior: VI e o menor: VIVI", maior, menor); systen("pause"); return e; Sel alterar o código indicado, digite as linhas que faltam para cumprir a tarefa. Resposta: If (numero>0) { If (numero>meior); maior=numero ; if (numero<manor); menor=numero; } } printf("\n\n O maior %d e o menor %d\n", maior, menor); system(“pause”); return 0; Questão 3/5 - Linguagem de Programação Você foi encarregado de fazer um programa para armazenar o nome completo, um numero de identificação para cada aluno e a nota de todos os alunos de uma escola e, depois que os dados tiverem sido digitados, imprimir o nome completo e a nota do aluno que obteve a maior nota na escola. Considerando que não será possivel ter dois alunos com a mesma nota e que você mesmo deve criar os números de identificação você escreveu o seguinte código para testes Para concluir esta tarefa, você deverá escrever apenas as linhas que devem ser modificadas no código para que ele funcione como esperado. Resposta: dados[i].id = i+1; Questão 4/5 - Linguagem de Programação Seu gerente lhe encarregou de fazer um programa que receba salário, idade e sexo de 3 funcionados da sua empresa e determine e escreva no console do Windows as seguintes informações: a) quantos destes que possui o sexo masculino, com idade inferior a 25 anos, ganham salário inferior a R$ 1200,00 reais. b) quantos destes com o sexo feminino, com idade superior a 30 anos, ganham salário superior a R$ 5000,00 reais. Resposta: If ((sal<1200) || (idade<25) || (sexo == ‘ m ’)) { ca++; } If ((sal>5000) || (idade>30) || (sexo == ‘ f ’)) { cb++; } Questão 1/4 - Linguagem da Programação Explique com as suas palavras os seguintes conceitos em programação: a) typedef; b) recursividade; c) union; d) macro — diretiva //define; Nota: 25.0 Gabarito: a) typedef - empregado para criar apelidos e novos nomes para variáveis. Empregado especialmente para renomear sinais e deixar os nomes das variáveis mais curtos e legíveis; b) recursividade - é uma técnica de programação ande uma função realiza a chamada dela própria quantas vezes forem necessárias, abrindo diversas instâncias da mesma função na memória do programa; c) union - são variáveis criadas capazes de suportar dados diferentes, atacados em um mesmo espaço de memória, em momentos diferentes. Union permite que um conjunto de variáveis compartilhem o mesmo espaço de memória; d) macro - diretiva //define — associa um identificador a uma cadeia de caracteres de token. Após a definição da macro, o compilador pode substituir a cadeia de caracteres de token em cada ocorrência do identificador no arquivo de origem; Questão 1/4 - Linguagem da Programação Considere um algoritmo com as seguintes etapas: 1. Receba uma variável inteirana tela (variável x); 2. Imprime na tela o valor de x utilizando um ponteiro (variável px); 3. Imprima o endereço da variável px na tela; Observe o algoritmo abaixo e preencha as instruções faltantes nas linhas 8, 9 e 10. 1. #include <stdio.h> 2. #include <stdlio.h> 3. int main () 4. { 5. int *px 6. printf("Digite valor de um numero: \n”) 7. scanf_s("%d", &x); 8. _________________________________ 9. _________________________________ 10. ________________________________ 11. return 0; 12.)} Nota: 25.0 Gabarito:8. px = &x; 9. printf("Valor digitado: kn", *px); 10. printf("Valor digitado: M", &px);
Compartilhar