Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/07/2018 Unicesumar - Ensino a Distância 1/8 ATIVIDADE 03 - ALGORITMOS E LÓGICA DE PROGRAMAÇÃO II - 2018A1 Período:03/07/2018 22:30 a 08/07/2018 23:59 (Horário de Brasília) Status:ENCERRADO Nota máxima:0,50 Gabarito:Gabarito será liberado no dia 09/07/2018 00:00 (Horário de Brasília) Nota ob�da:0,45 1ª QUESTÃO A estrutura condicional é fundamental para qualquer linguagem de programação, uma vez que sem elas o fluxo seria seguido sequencialmente, sem nenhum desvio, ou seja, instrução a instrução. A estrutura condicional possibilita o desvio do fluxo do programa, sendo também denominada de estrutura de seleção ou estrutura de controle (MANZANO; OLIVEIRA, 1997; ASCENCIO; CAMPOS, 2010). LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Assim, com base nas definições acima, analise as seguintes proposições considerando as estruturas condicionais da Linguagem C: I. Numa estrutura condicional podemos gerar condições que permitem o desvio do fluxo da execução de um programa. II. Na Linguagem C, as estruturas condicionais são estrutura condicional simples, estrutura condicional composta e estrutura case. III. A estrutura condicional é uma estrutura de controle de fluxo, cujo objetivo é permitir ou não a execução de um ou mais comandos, dependendo do resultado de uma condição pré-estabelecida. IV. Diferentemente da condicional simples, a estrutura condicional composta executa um bloco de instruções se a condição for verdadeira e outro se a condição for falsa. V. Na estrutura case pode haver uma ou mais condições a serem testadas sobre o conteúdo de uma mesma variável. Está correto o que se afirma em: ALTERNATIVAS II e V, apenas. I, II e III, apenas. I, III e V, apenas. I, II, III, IV, apenas. I, II, III, IV, V. 2ª QUESTÃO 10/07/2018 Unicesumar - Ensino a Distância 2/8 Uma string, consiste em uma cadeia de caracteres ou um agregado de caracteres que deve ser finalizado com o caractere especial \0, indicando o final da string. Por não possuir um operador que atue com operandos do tipo string, em linguagem C, a manipulação é realizada através de funções. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação I.; Maringá: Unicesumar, 2018 (adaptado). Sobre este assunto, classifique as funções a seguir de acordo com suas características. 01) strlen (x) ( ) Função que realiza a cópia de uma string para outra. 02) strcat (x,y) ( ) Função que realiza a conversão da variável “x” para o tipo int. 03) strcmp (x,y) ( ) Lê toda a string até encontrar o caractere que indica nova linha ('\n') gerado ao pressionar a tecla [enter]. 04) strcpy (x,y) ( ) Função que imprime uma string na tela seguida de nova linha. 05) strlcpy (x,y,n) ( ) Função que transforma string “x” para o tipo Long. 06) atoi (x) ( ) Função que retorna o tamanho de uma string, sem ´\0´. 07) atol (x) ( ) Procura por uma string dentro de outra. 08) gets (x) ( ) Função para armazenar na variável “x” os “n” primeiros caracteres de “y”. 09) puts (x) ( ) Compara, caractere a caractere, duas cadeias e retorna o resultado dessa comparação. 10) strstr (x,y) ( ) Concatena duas strings, a primeira string recebe o seu conteúdo seguido do conteúdo da segunda string. A sequência correta dessa clasificação é: ALTERNATIVAS 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1. 4, 6, 8, 9, 7, 1, 10, 5, 3, 2. 6, 1, 5, 2, 4, 3, 10, 7, 8, 9. 10, 8, 3, 6, 4, 5, 1, 2, 7, 9. 3ª QUESTÃO 10/07/2018 Unicesumar - Ensino a Distância 3/8 Um objeto é dito recursivo se ele for definido em termos de si próprio. Destaca-se que o conceito de recursão não é encontrado na apenas programação mas também na matemática e no dia a dia como, por exemplo, quando vemos uma imagem que contém a si própria. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Assim, considere o seguinte trecho de código em Linguagem C: #include <stdio.h> #include <stdlib.h> int SVR(int *v, int n){ if(n == 0){ return 0; } else{ return v[n] + SVR(v, n-1); } } int main(){ int A[3], s; A[0]=3; A[1]=2; A[2]=1; s = SVR(A, 2); printf("O resultado é: %d", s); } Ao realizar o teste de mesa no algoritmo recém apresentado, constata-se que seria apresentada a seguinte mensagem na tela do computador: ALTERNATIVAS O resultado é: 6 O resultado é: 5 O resultado é: 3 O resultado é: 1 O resultado é: 0 4ª QUESTÃO 10/07/2018 Unicesumar - Ensino a Distância 4/8 Matrizes e vetores são estruturas de dados que aceitam quantidades consideráveis de dados de um mesmo tipo, sendo muito úteis em diversos tipos de aplicações, como jogos e aplicações matemáticas. Pensando na ideia de jogos, se tivermos que declarar matrizes para indicar um tabuleiro de xadrez e um jogo da velha, qual das afirmativas abaixo contém as formas corretas de se declarar estas duas estruturas de dados. I – int velha 2 2 ; II – char xadrez 8 8 ; III – char velha 3 3 ; IV – int xadrez 8, 8 ; Considerando o contexto apresentado, está correto: ALTERNATIVAS I e II, apenas. I e III, apenas. II e III, apenas. II e IV, apenas. III e IV, apenas. 5ª QUESTÃO Um vetor consiste em um arranjo de elementos armazenados na memória principal, sequencialmente, todos com o mesmo nome. É um conjunto de variáveis de um mesmo tipo de dado as quais são acessadas e referenciadas por meio de índices. LEAL, G. C. P. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2016. Levando em consideração que um número inteiro, do tipo long, ocupe 4 bytes na memória, assinale a alternativa que contém o espaço ocupado por um vetor de 8 posições de números long com apenas as 2 primeiras posições utilizadas: 10/07/2018 Unicesumar - Ensino a Distância 5/8 ALTERNATIVAS 4 bytes. 8 bytes. 32 bytes. 40 bytes. 64 bytes. 6ª QUESTÃO Durante a passagem de valores na entrada de sub-rotinas, eles podem ser passados por valor ou por referência. Assim sendo, analise o código a seguir: #include <stdio.h> int x; // Passagem por referência void teste1(int *x) { *x = 5; } // Passagem por valor void teste2(int x) { x = 0; } int main() { x = 3; teste1(&x); printf("%d\n", x + 4); teste2(x); printf("Valor final: %d\n", x); return 0; } Considerando o código apresentado, assinale a alternativa que indica o valor correto de x ao final da execução: ALTERNATIVAS 0 3 5 7 9 7ª QUESTÃO 10/07/2018 Unicesumar - Ensino a Distância 6/8 Quando pensamos em arquivo nos vem em mente aquele armário com um monte de pastas para guardar informações. É exatamente essa a ideia de arquivos, um local para armazenar informações e resgatá-las quando for necessário. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Conhecendo os conceitos sobre arquivos e com base em sua habilidade em inferir conclusões, leia as asserções abaixo: I. Realizar uma operação com a função fgetc() em um arquivo, tem função similar à execução uma operação scanf() para um usuário. PORQUE II. Ambas as funções fgetc() e scanf () têm o intuito de promover a inserção de novos dados externos junto às variáveis de um programa, ou seja, realizam operações de entrada e saída. A respeito de tais asserções, assinale a opção correta. ALTERNATIVAS As asserções I e II são proposições falsas. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e aII é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são proposições verdadeira mas a II não é uma justificativa correta da I. 8ª QUESTÃO Uma struct é uma variável especial que contém diversas outras variáveis normalmente de tipos diferentes. Podemos dizer que as structs da linguagem C são o equivalente ao que se denomina como registros, em outras linguagens de programação. Disponível em < http://linguagemc.com.br/struct-em-c/ >, acessado em 30/05/2018. Assim, com base nas definições acima, analise as seguintes proposições considerando a estrutura Struct da Linguagem C: I. As variáveis internas contidas pela struct são denominadas membros da struct. II. Para se criar uma estrutura usa-se o comando struct. III. A estrutura, então, serve para agrupar um conjunto de dados não similares, formando um novo tipo de dados. IV. Numa estrutura, o acesso aos elementos é realizado através do nome do campo que se pretende acessar. V. Cada item da estrutura é denominado “campo’ e podem ser de diferentes tipos. Desta forma, é correto o que se afirma em: ALTERNATIVAS 10/07/2018 Unicesumar - Ensino a Distância 7/8 I, apenas. I, II, III, apenas. I, II, IV, apenas. I, II, III, V, apenas. I, II, III, IV, V. 9ª QUESTÃO Uma função é uma sub-rotina que tem como objetivo desviar a execução do programa principal para realizar uma tarefa específica e retornar um valor. São estruturas que possibilitam ao usuário separar seus programas em blocos (ASCENCIO; CAMPOS, 2010). Um programa em C é um conjunto de funções que são executadas a partir da execução de uma função denominada main(). Cada função pode conter declarações de variáveis, instruções e ou até mesmo outras funções. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. (adaptado) As regras de _________________ em linguagem de programação, definem a ____________________ das variáveis durante a execução do programa. As variáveis que são declaradas dentro das ______________ são chamadas de _____________________________ e são conhecidas somente dentro do seu próprio bloco. Quando a mesma é declarada no corpo principal do programa recebe o nome de __________________________. ALTERNATIVAS visibilidade, funções, variáveis locais, escopo de variáveis, variáveis globais funções, escopo de variáveis, visibilidade, variáveis globais, variáveis locais variáveis locais, escopo de variáveis, visibilidade, funções, varáveis locais escopo de variáveis, visibilidade, funções, variáveis locais, variáveis globais variáveis globais, escopo de variáveis, visibilidade, funções, varáveis locais 10ª QUESTÃO 10/07/2018 Unicesumar - Ensino a Distância 8/8 Existem situações nas quais é necessário verificar condições de teste sucessivas, onde uma ação será executada caso um conjunto anterior de ações seja satisfeito. Podemos usar para resolver esse tipo de problemas uma estrutura denominada Desvio Condicional Aninhado, que nada mais é do que o encadeamento de estruturas de decisão compostas em um algoritmo. Disponível em: <http://www.bosontreinamentos.com.br/logica-de-programacao/12-logica-de- programacao-desvio-condicional-aninhado-se-entao-senao-se/>. Acesso em: 15 jun. 2018. Analise o seguinte algoritmo, com estruturas condicionais aninhadas: 1 #include <stdio.h> 2 3 int main () { 4 int dia; 5 char diasemana[10]; 6 7 dia = 25; 8 sprintf(diasemana, "quarta"); 9 10 if (dia > 5) { 11 if (dia < 20 || diasemana != "domingo") { 12 printf("A"); 13 } else { 14 if (dia > 24 && diasemana == "quarta") { 15 printf("B"); 16 } else { 17 printf("C"); 18 } 19 } 20 } else { 21 if (dia < 30 || diasemana == "quinta") { 22 printf("D"); 23 } else { 24 printf("E"); 25 } 26 } 27 28 return 0; 29 } Considerando o código apresentado, assinale a alternativa que indica o valor que será exibido na tela: ALTERNATIVAS A B C D E
Compartilhar