Prévia do material em texto
Disciplina(s): Linguagem da Programação Apol 1 Data de início: 07/08/2017 22:03 Prazo máximo entrega: - Data de entrega: 07/08/2017 22:17 Questão 1/5 - Linguagem da Programação Conforme apresentado na Aula 1, a Linguagem de Programação C foi inicialmente concebida para ser utilizada no Sistema Operacional Unix, sendo uma linguagem de programação de alto nível de característica genérica, criada para facilitar a criação de programas para resolver quaisquer problemas em um amplo espectro de aplicações, científicas e/ou comerciais. Com base no que foi apresentado no enunciado da questão, assinale a alternativa que apresenta os conceitos corretos em relação a linguagem de programação C: Nota: 0.0 A As Strings em C são delimitadas pelo caractere colchete [ ]; B Cada instrução deve ser inicializada por um ponto e vírgula; C O C é uma linguagem de programação case sensitive; A linguagem C diferencia caracteres maiusculos de minusculos. D A diretiva #include é utilizada para inclusão de variáveis globais no código; E É opcional a existência de uma função main() em um programa escrito na linguagem de programação C Questão 2/5 - Linguagem da Programação Na Aula 1 trabalhamos com o conceito de declaração de variáveis na Linguagem C. Imagine que você tem 2 variáveis declaradas no programa, uma do tipo int e outra do tipo float. Conforme imagem abaixo: Assuma que você precisa subtrair uma variável da outra. Qual deverá ser o tipo da variável que recebe o resultado da subtração e que leve em consideração a máxima otimização de memória sem descartar as casas decimais? Nota: 0.0 A Deverá ser float Deverá ser float, e somente float, para conseguir armazenar as casas decimais da variável 'x' que é do tipo float. Caso fosse int, a informação das casas decimais seria perdida. B Deverá ser int C Poderá ser int ou float. Tanto faz. D Deverá ser double E Deverá ser void Questão 3/5 - Linguagem da Programação Em códigos escritos em C, podemos utilizar laços de repetição e funções específicas para entrada e saída, como vimos na Rota de Aprendizado 2. Considerando o código a seguir: Determine o que será impresso na tela do terminal caso este código seja compilado e executado em uma máquina rodando Windows. Nota: 20.0 A A expressão "Curso de Redes", sem as aspas, será escrita 10 vezes na tela. Uma vez em cada linha. Além da mensagem "Pressione qualquer tecla para continuar..." também sem as aspas; Você acertou! Utilizando o Visual Studio ou o DevC++, digite este código, compile e rode para ver o resultado em uma tela de comando do Windows. B A expressão "Curso de Redes", sem as aspas, será escrita 10 vezes na tela, todas na mesma linha. Além da mensagem "Pressione qualquer tecla para continuar..."; C O código compilado não executará, existe um erro neste código, já que não há chaves {} limitando o bloco do if; D O código não irá compilar, pois a biblioteca "math.h" foi incluida no início do programa e nenhuma função dela é utilizada ao longo do código. E O código compilado não será executado já que existe um erro de digitação. Questão 4/5 - Linguagem da Programação Conforme abordado na Aula 1, todo e qualquer código, independente da linguagem de programação em que esteja escrito, necessita ser traduzido para uma linguagem de máquina para que possa ser executado. Para isso, faz-se necessário o uso de um conjunto de programas que recebe o código-fonte escrito em uma linguagem de programação e o traduz para código de execução, escrito em uma linguagem de máquina. Com base no que foi exposto no enunciado da questão, assinale a alternativa correta que corresponde à como são definidos os métodos de translação da linguagem de programação em linguagem de máquina: Nota: 20.0 A Estruturado, compilado e híbrido; B Compilação, interpretação pura e híbrido; Você acertou! Conforme abordado na Rota de Aprendizagem e Slides 16/42 e 17/42 da Aula 1, dentre os métodos de implementação de tradução do código-fonte em linguagem de máquina para execução estão a compilação, interpretação pura e híbrido. C Híbrido, estruturado e orientado a objetos; D Estruturado, Orientado a Objetos e Híbrido; E Concorrente, funcional e interpretação pura. Questão 5/5 - Linguagem da Programação De acordo com o exposto no conteúdo da Aula 1, independentemente de como é seguido o processo de desenvolvimento de software, é interessante que as linguagens de programação apresentem um conjunto de características interessantes e desejáveis: legibilidade, redigibilidade, confiabilidade, eficiência, facilidade de aprendizado, ortogonalidade, reusabilidade, modificabilidade e portabilidade. Com base na definição apresentada no enunciado da questão, assinale a alternativa correta que corresponde as características da propriedade de redigibilidade de uma linguagem de programação. Nota: 0.0 A Caracteriza a facilidade de leitura e entendimento de um determinado código; B Característica da linguagem de programação que indica se o processo de aprendizado da linguagem é simples e fácil; C Possibilita ao programador combinar os conceitos básicos da linguagem de programação sem que sejam produzidos efeitos distorcidos resultantes desta combinação; D Possibilita reutilizar o mesmo código para a solução de diversos problemas; E Possibilita ao programador se dedicar aos aspectos mais relevantes da solução do problema. Conforme apresentado na Rota de Aprendizagem da Aula 1. Regibilidade possibilita ao programador se dedicar aos aspectos mais relevantes da implementação, ou seja, não perde tempo buscando compreender características que não são necessárias para a resolução do problema. Disciplina(s): Linguagem da Programação Apol 2 Data de início: 12/08/2017 17:59 Prazo máximo entrega: - Data de entrega: 12/08/2017 18:02 Questão 1/5 - Linguagem da Programação Foi pedido a um aluno que escrevesse um trecho de código na linguagem de programação C, no qual, dado um número inteiro positivo X, imprimisse Yes caso este número fosse múltiplo, simultaneamente, de 3 e de 5. Assinale a alternativa correta que representa um código válido em C que satisfaz o pedido apresentado no enunciado da questão: Nota: 20.0 A if ( x / 3 ==0 && x / 5 == 0 ) { printf (“ Yes”); } B if ( 5 / x == 0 && 3 / x == 0 ) { printf (“ Yes”); } C if (5*3%15 == 0) { printf(“Yes”) } D if ( x % 15 == 0) { printf (“ Yes”); } Você acertou! A resposta correta é a alternativa D, pois como o enunciado solicita o múltiplo simultâneo de 3 e 5, então o menor múltiplo comum entre 3 e 5 é 15, assim qualquer número dividido por 15 que retorne como resto zero, é múltiplo de ambos os números. E if ( x % 3==0 || X % 5==0 ) { printf (“ Yes”); } Questão 2/5 - Linguagem da Programação Conforme apresentado na Aula 2, entre os operadores aritiméticos podemos destacar: + (adição), * (multiplicação) e / (divisão). Com base nestes conceitos, analise atentamente as definições das variáveis apresentadas abaixo: A=4; B=2; C=6; Análise as afirmativas a seguir e em seguida assinale a alternativa que contém a sequencia correta de Verdadeiro (V) e Falso (F). I. A+B = C; II. B+C < A; III. C < A*B; IV. B+C != 2*B. Nota: 20.0 A F, F, V, V; B V, F, V, V; Você acertou! I. (A+B = C) = (4 + 2 = 6) – Verdadeiro; II. (B+C < A) = (2 + 6 < 4) = (8 < 4) – Falso; III. (C < A*B) = (6 < 4 * 2) = (6 < 8) – Verdadeiro; IV. (B+C != 2*B) = (2 + 6 = 2 * 2) = (8 != 4) – Verdadeiro. C V, F, V, F; D F, V, V, F; E V, F, F, V. Questão 3/5 - Linguagem da Programação Conforme apresentadona Aula 2, os comandos de controle na linguagem de programação C, são divididos em condicional simples, condicional composto e case. Com base nesta definição, assinale a alternativa correta que corresponde ao valor lógico retornado após a execução da expressão de condicional simples apresentada abaixo: if (10 !=5) Nota: 20.0 A 10; B Falso; C 5; D Verdadeiro; Você acertou! Conforme conteúdo apresentado na Rota de Aprendizagem e slide 14/38 da Aula 2, o comando if somente é executado se a sua condição for verdadeira, portanto, como 10 é igual a 5 o retorno será verdadeiro. E 2. Questão 4/5 - Linguagem da Programação Conforme apresentado na Aula 2, entre os operadores aritiméticos podemos destacar: + (adição), * (multiplicação) e / (divisão). Com base nestes conceitos, analise atentamente as definições das variáveis apresentadas abaixo: A=5; B=3; C=7; Análise as afirmativas a seguir e em seguida assinale a alternativa que contém a sequencia correta de Verdadeiro (V) e Falso (F). Considerando as seguintes operações I. A+B = C; II. B+C < A; III. C < A*B; IV. B+C = 2*A; V. C / B > A. Nota: 20.0 A F, V, V, V, F; B F, F, V, V, F; Você acertou! I. (A+B = C) = (5 + 3 = 7) – Falso; II. (B+C < A) = (3 + 7 < 5) = (10 < 5) – Falso; III. (C < A*B) = (7 < 5 * 3) = (7 < 15) – Verdadeiro; IV. (B+C = 2*A) = (3 + 7 = 2 * 5) = (10 = 10) – Verdadeiro; V. (C / B > A) = (7 / 3 > 5) = (2,33 > 5) – Falso. C F, F, V, V, V; D V, F, V, V, F; E F, V, F, F, V. Questão 5/5 - Linguagem da Programação Analise atentamente o algoritmo escrito na linguagem de programação C apresentado abaixo: Assinale a alternativa correta que satisfaça a seguinte situação: Qual deve ser a condição de teste do “if” e qual deve ser a variável (ou expressão) do “printf”, para ocorrer a seguinte saída: “Aprovado com media maior ou igua a 60.00” Considerando-se as entradas “60” e “60” para o algoritmo, e que o algoritmo continue funcionando para quaisquer valores das variáveis de entrada. Sabendo que a nota de aprovação será a média aritimética das notas entradas. Nota: 20.0 A if – ((nota1+nota2)/2 >= 60) e printf – ((nota1+nota2)/2); Você acertou! A resposta correta é a alternativa A pois: Condição if: ((nota1+nota2)/2 >= 60) ((60+60)/2 >= 60) (120/2 >= 60) 60>= 60 Printf: ((nota1+nota2)/2) ((60+60)/2) (120/2) 60 B if – (nota1+nota2<=60) e printf – (nota2); C if – (nota1+nota2 >= 60) e printf – (nota1+nota2); D if – ((nota1+nota2)/2 >= 60) e printf – (nota1); E if – ((nota1+nota2)/2 > 60) e printf – ((nota1+nota2)/2). Disciplina(s): Linguagem da Programação Apol 3 Data de início: 21/08/2017 17:15 Prazo máximo entrega: - Data de entrega: 21/08/2017 17:26 Questão 1/5 - Linguagem da Programação Conforme visto na Aula 03, um vetor pode ser definido como um conjunto de elementos consecutivos, do mesmo tipo, que podem ser acessados individualmente a partir de um único nome. Assinale a alternativa que apresenta a sintaxe correta para inserção do valor inteiro 1 na posição inicial de um vetor: Nota: 20.0 A vetor [0] == 1; B int vetor[1] = 1; C vetor =1; D int vetor[0] = 1; Você acertou! Conteúdo abordado na Rota de Aprendizagem, páginas 01 a 06 da Aula 03. A posição inicial do vetor é a posição 0, portanto, para inserir o valor inteiro a forma correta é int vetor[0] = 1. E int vetor [0] := 1; Questão 2/5 - Linguagem da Programação Conforme visto na Aula 03, um vetor pode ser definido como um conjunto de elementos consecutivos, do mesmo tipo, que podem ser acessados individualmente a partir de um único nome. Com base nestes conceitos, assinale a alternativa correta em relação aos vetores: Nota: 20.0 A Um vetor pode conter elementos de somente um tipo de dados e pode ser de qualquer tipo de dados; Você acertou! Conteúdo abordado na Rota de Aprendizagem, páginas 01 a 06 da Aula 03. B É possível declarar vetores sem dimensão desde que você não faça a inicialização do vetor ao mesmo tempo; C Assim como as matrizes, os vetores podem ser multidimensionais; D Os elementos de um vetor não são sempre armazenados em posições contíguas de memoria; E O índice do primeiro elemento do vetor é sempre 1 (um). Questão 3/5 - Linguagem da Programação Você foi encarregado de fazer um programa para distrair seus dois sobrinhos chatos. Depois de horas de procura você encontrou o programa de Jogo da Velha cujo código está abaixo. Contudo, este programa não funciona. Marque nas alternativas a seguir a linha do código que está errada. Se você não conseguir ler o código, clique sobre ele com o botão direito do mouse e escolha a opção para abrir a imagem em outra aba. Nota: 20.0 A for (int i = 0; i < 9 && vencedor == 0; i++) B jogador = i % 2 + 1; C if ((jogador != 1)) board[linha][coluna] = 'X'; Você acertou! A linha certa deveria ser: if ((jogador == 1)) board[linha][coluna] = 'X'; D if (vencedor == 0) printf( "Empatou\n" ); E if ((board[0][0] == board[1][1] && board[0][0] == board[2][2]) || (board[0][2] == board[1][1] && board[0][2] == board[2][0])) vencedor = jogador; Questão 4/5 - Linguagem da Programação Na Aula 4 trabalhamos com o conceito de funções. Você precisa criar uma função que recebe 2 números reais quaisquer como parâmetros de entrada e retorna como resposta da função uma frase dizendo "O primeiro número digitado é maior." ou "O segundo número digitado é maior.". Assinale a alternativa que contém corretamente o tipo de dado que deve ser usado para declarar as variáveis de entrada da função (os 2 números reais) e também o tipo de retorno desta função. Nota: 20.0 A Tipo das variáveis de entrada da função: inteiro (int). Tipo de retorno da função: string. B Tipo das variáveis de entrada da função: inteiro (int). Tipo de retorno da função: ponto flutuante (float). C Tipo das variáveis de entrada da função: ponto flutuante (float). Tipo de retorno da função: ponto flutuante (float). D Tipo das variáveis de entrada da função: string. Tipo de retorno da função: string. E Tipo das variáveis de entrada da função: ponto flutuante (float). Tipo de retorno da função: string. Você acertou! Os números reais são do tipo float. Já a saida da função será um texto, portanto será uma string. Questão 5/5 - Linguagem da Programação Na aula 4 trabalhamos com o conceito de strings. Uma string é nada mais que um vetor de caracteres. Assinale a alternativa que contém o número que corresponde a primeira posição de uma string, bem como o caracter que corresponde ao fim de uma string (caracter que indica ao programa quando a string chegou ao final). Nota: 20.0 A Valor da posição de início de uma string: 0 Caracter de fim de string: \0 Você acertou! Uma string sempre inicia sua contagem na posição 0. O caracter de fim de string será SEMPRE o '\0'. B Valor da posição de início de uma string: 1 Caracter de fim de string: \0 C Valor da posição de início de uma string: 0 Caracter de fim de string: \fim D Valor da posição de início de uma string: 0 Caracter de fim de string: \1 E Valor da posição de início de uma string: 1 Caracter de fim de string: \fim Disciplina(s): Linguagem da Programação Apol 4 Data de início: 28/08/2017 19:40 Prazo máximo entrega: - Data de entrega: 28/08/2017 19:45 Questão 1/5 - Linguagem da Programação Na Aula 5 trabalhamos com o conceito de estrutura de dados heterogêneas, as chamadas structs. Acerca de structs, assinale a única alternativa que contém uma criaçãocorreta de uma struct. Nota: 20.0 A struct APOL { double nota; double resposta; }; Você acertou! Esta alternativa está correta. B struct APOL { double nota; double resposta; } Está faltando o ponto e virgula no final. C struct APOL { double nota, double resposta }; No lugar da vígula deve ser ponto e virgula e está faltando um ponto e vírgula no final de 'resposta'. D struct APOL { double nota; double resposta }; Está faltando um ponto e virgula no final de 'resposta' E struct APOL { double nota, double resposta } Está faltando 2 pontos e vírgula e no lugar da vírgula é ponto e vírgula. Questão 2/5 - Linguagem da Programação De acordo com o conteúdo visto na Aula 04, função é uma técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos, sendo um trecho de código contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. Com base nos conceitos apresentados acima, analise atentamente os procedimentos Ping e Pong apresentados abaixo: Com base nos procedimentos Ping e Pong apresentados acima, assinale a alternativa correta que corresponde a saída da chamada Pong(1): Nota: 20.0 A 0 B Alo C Passei em C D Não tem saída E Laço infinito com os números ímpares negativos Você acertou! O procedimento Pong é iniciado com o parâmetro int x = 1, como a instrução switch case 1 não tem nada para ser executado e também não tem a instrução break, passará direto para o segundo caso, onde executará a instrução Ping, repassando para o parâmetro int i o valor 1. Como nesta instrução as duas primeiras linhas também não tem nada para ser executado, será repassado diretamente para o caso 3, onde o valor i é decrementado duas vezes, na intrução while e ao apresentar o valor. Questão 3/5 - Linguagem da Programação De acordo com o conteúdo visto na Aula 04, função é uma técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos, sendo um trecho de código contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. Com base nos conceitos apresentados acima, analise atentamente os procedimentos Ping e Pong apresentados abaixo: Com base nos procedimentos Ping e Pong apresentados acima, assinale a alternativa correta que corresponde a saída da chamada Ping(25): Nota: 20.0 A 0 B Alo C Vou Sair D Não tem saída Você acertou! O procedimento Ping iniciará com o parâmetro int i = 25, A instrução switch executará o procedimento Pong com o parâmetro int x = 3. Ao chegar no switch deste procedimento, o retorno será nulo, pois como é do tipo void, não tem retorno. E -1 Questão 4/5 - Linguagem da Programação De acordo com o conteúdo visto na Aula 04, função é uma técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos, sendo um trecho de código contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. Com base nos conceitos apresentados acima, assinale a alternativa correta com relação as funções: Nota: 20.0 A Uma função em C tem que devolver sempre um inteiro; B Uma função em C precisa, obrigatoriamente, ter parâmetros do mesmo tipo; C Os parâmetros das funções podem ser do tipo void; D Uma função em C pode, ou não, ter parâmetros; Você acertou! Conteúdo apresentado nas páginas 6 e 7 da Rota de Aprendizagem da Aula 04. E Uma função em C pode devolver simultaneamente mais do que um valor. Questão 5/5 - Linguagem da Programação De acordo com o conteúdo visto na Aula 04, função é uma técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos, sendo um trecho de código contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. Com base nos conceitos apresentados acima, analise atentamente o procedimento apresentado abaixo: Assinale a alternativa que apresenta a saída correta do procedimento apresentado acima, excluíndo- se a mensagem enviada pela função system(). Nota: 20.0 A (1)(3)(5)(7)(9)(11)(13)(15)(17)(19)(21) B (11)(10)(9)(8)(7)(6)(5)(4)(3)(2)(1) Você acertou! Na instrução main, é executado o procedimento p1 com o parâmetro int x = -1, onde esse procedimento será executado enquanto x for menor do que 10. No momento em que x não for mais menor do que 10, será impresso todos os valores de x, do último ao primeiro valor armazenado. C (10)(9)(8)(7)(6)(5)(4)(3)(2)(1)(0) D (-1)(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10) E (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10) Disciplina(s): Linguagem da Programação Apol 5 Data de início: 04/09/2017 20:01 Prazo máximo entrega: - Data de entrega: 04/09/2017 20:04 Questão 1/5 - Linguagem da Programação Ainda tratando de structs em C/C++, considere o fragmento de código a seguir e escolha, entre as alternativas a definição correta da struc necessária para que o programa possa armazenar e imprimir dados relativos a nome, com até 110 caracteres, matricula, com até 6 caracteres, sexo, ou genero com um caracter e idade. Observe que não estamos considerando se o programa é capaz de imprimir caracteres acentuados ou não. Nota: 20.0 A Você acertou! B C D Questão 2/5 - Linguagem da Programação No que diz respeito a manipulação de arquivos na linguagem de programção C, como estamos estudando nesta disciplina, podemos afirmar que a maior parte da funções prédefinidas para o uso em programas que manipularão arquivos estão disponíveis na biblioteca: Nota: 0.0 A stdio.h Conteúdo abordado na Aula 6 (slide 6). B conio.h C stdlib.h D arquivo.h E file.h Questão 3/5 - Linguagem da Programação Observe que ao definirmos uma struc na linguagem de programação C/C++ estamos, na verdade, definindo um novo tipo de dado, que existirá na memória, enquanto o seu programa for executado. Sendo assim, podemos criar estruturas de dados contendo este tipo recém criado. Considerando esta afirmação. Indique, nas opções a seguir, qual declara corretamente um array, ou vetor, de structs, considerando a struct a seguir: Nota: 20.0 A int A[20] struct Livros; B double B[5] Livros struct; C struct Livros C[10]; Você acertou! struct Livros define o tipo do array C D struct[10] Livros D; E E[9] Livros Questão 4/5 - Linguagem da Programação Considerando a linguagem de programção C, como vem sendo estudado em nossa disciplina. Qual das opções a seguir está correta. Nota: 20.0 A Arrays, ou vetores, são capazes de armazenar dados de tipo diferentes; B Uma struct é capaz de armazenar dados de tipos diferentes; Você acertou! Veja o conteúdo a aula 5 C Um array multidimensional, ou matriz, é capaz de armazenar dados de tipos diferentes; D Uma função pode devolver mais de um dado desde que sejam de tipos diferentes; E O uso de estutruturas, structs, não permite o armazenamento simultâneo de números inteiros e reais. Questão 5/5 - Linguagem da Programação Um programador desejava fazer um programa para somar dois números reais. Infelizmente, por questões internas a sua empresa, o supervisor exigiu que o programa usasse apenas variáveis inteiras. Considerando o código a seguir, assinale a alterantiva que expressa o que será impresso na tela se o programa for executado, considerando que serão digitados os números 1,89 e 2,35. Cabe a você determinar exatamente o que seria impresso na tela considerando o código apresentado acima. Nota: 20.0 A O resultado= 4,24 B O resultado= 4,25 Você acertou! Para que o resultado apresente a soma correta teríamos que substituir a linhad3.cen = d3.cen - 99; por : d3.cen = d3.cen - 100; C O resultado= 2,25 D O resultado= 4,26 E O resultado= 1,89