Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/07/2018 Unicesumar - Ensino a Distância 1/8 ATIVIDADE 2 - TI - ALGORITMOS E LÓGICA DE PROGRAMAÇÃO ll - 2018B1 Período:28/06/2018 22:30 a 05/07/2018 23:59 (Horário de Brasília) Data Final:06/07/2018 23:59 valendo 50% data nota! Status:ABERTO Nota máxima:0,50 Gabarito:Gabarito será liberado no dia 08/07/2018 00:00 (Horário de Brasília) Nota ob�da: 1ª QUESTÃO Diferentemente de um fluxo sequencial, o fluxo condicional permite que o código fonte de um programa tome decisões próprias. Através das estruturas de decisão, o programa pode escolher em tempo de execução, por tomar um dentre vários caminhos possíveis, de acordo com uma condição pré-estabelecida. De acordo com as estruturas de decisão compostas e tomando por base código fonte abaixo, avalie as afirmações a seguir: 1 #include <stdio.h> 2 #include <stdlib.h> 3 int main(){ 4 int numero, resto; 5 scanf("%d", &numero); 6 resto = numero/2; 7 resto = numero - (resto*2); 8 if(resto == 1){ 9 printf("Primeira condição.\n"); 10 } 11 else{ 12 printf("Segunda condição.\n"); 13 } 14} ALTERNATIVAS Nesse algoritmo, a variável resto é utilizada para armazenar um valor informado diretamente pelo usuário. Há um erro na linha 4, devido a termos duas váriaveis declaradas na mesma linha, o correto, seria cada variável em uma linha. Há um erro de sintaxe na linha 7, pois a variável "resto" recebe uma expressão que contém a própria variável "resto". A expressão é: numero ? (resto * 2). Caso o usuário digite o valor 5, no teclado (linha 5), fará com que a variável "numero" receba 5 e o algoritmo escreverá "Segunda Condição", na tela do computador. Caso o usuário digite o valor 8, no teclado (linha 5), fará com que a variável "numero" receba 8 e o algoritmo escreverá "Segunda Condição", na tela do computador. 2ª QUESTÃO Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 2/8 A repetição permite executar um conjunto de instruções n vezes, o quanto for necessário sem a necessidade de replicar o mesmo trecho de código por várias vezes. Replicar código fonte de maneira desregulada, além de deselegante, pode tornar o código ineficiente e dificultar em muito a manutenção de um algoritmo. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação I. Maringá: Unicesumar, 2018. 1#include<stdio.h> 2#include<stdlib.h> 3int main(){ 4 int cont, x; 5 scanf("%d", &x); 6 for(cont = 1; cont <= 5; cont++){ 7 x = x * 2; 8 } 9 printf("%d", x); 10} Com base no código fonte apresentado acima, realize o teste de mesa com base nos dados informados nas afirmações abaixo. I – Caso o usuário insira o valor x = 3 (linha 5), ao fim do algoritmo, a variável x valerá 729. II - Caso o usuário insira o valor x = 2 (linha 5), ao fim do algoritmo, a variável x valerá 64. III - Caso o usuário insira o valor x = 1 (linha 5), ao fim do algoritmo, a variável x valerá 1. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. I e II, apenas. I, II e III. 3ª QUESTÃO Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 3/8 As estruturas de dados homogêneas permitem a representação de diversas informações do mesmo tipo, sendo divididas em unidimensionais e multidimensionais. Frequentemente é preciso utilizá-las em conjunto com estruturas de repetição, devido ao acesso a seus elementos serem controlados por um ou mais índices. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Assim, considere o seguinte vetor de nome “medias”, a seguir: Tomando por base o vetor apresentado acima, avalie as afirmações abaixo. I – O valor da expressão “(medias 1 + medias 2 + medias 3 + medias 4 )/4” é igual a aproximadamente 8,8. II – A declaração desse vetor deve ser feita da seguinte forma: “int v 4 ;”. III – Esse arranjo (vetor) é uma estrutura de dados bidimensional de tamanho 4. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. I e II, apenas. I e III, apenas. I, II e III. 4ª QUESTÃO Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 4/8 Os elementos da matriz são guardados numa sequência contínua de memória, isto é, um seguido ao outro. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. O que diferencia a declaração de uma matriz da declaração de uma variável é a parte que segue o nome, ou seja, os pares de ____________________ que envolvem um número inteiro, que indica o compilador o tamanho da matriz. ALTERNATIVAS Aspas. Hífens. Colchetes. Apóstrofos. Parênteses. 5ª QUESTÃO Um vetor ou matriz de uma linha consiste em um arranjo de elementos do mesmo tipo, armazenados na memória principal do computador e alocada de forma contígua. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Desta forma, assinale abaixo a correta utilização deste arranjo na linguagem C. I. int x 10 ; II. int x 0..10 ; III. float x 10 ; IV. float x 0..10 ; V. int x . . .10 ; Assinale a alternativa correta. Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 5/8 ALTERNATIVAS Somente a afirmativa II está correta. Somente as afirmativas I e II estão corretas. Somente as afirmativas I e III estão corretas. Somente as afirmativas II e III estão corretas. Somente as afirmativas III e V estão corretas. 6ª QUESTÃO Um registro (struct) é uma estrutura heterogênea para armazenamento de dados. Considere a seguinte estrutura para um cadastro de pessoas: struct cadastro { char nome[50]; int idade; }; int temp; struct cadastro cad; (...) Considerando o trecho de código acima, assinale a alternativa com a forma correta de recuperar a informação idade do cadastro de pessoa na variável cad. ALTERNATIVAS temp = cad<-idade; temp = cad:=idade; temp = cad-idade; temp = cad.idade; temp = cad:idade; 7ª QUESTÃO Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 6/8 Dentro da construção de código em linguagem C para criação de programas diversos, a saída de dados é essencial para que dados sejam passados ao usuário, por exemplo. Para isso, usamos a função "printf" que permite, por meio de parâmetros, essa comunicação entre o software e o mundo real. As afirmativas a seguir se referem a exemplos de instruções desse tipo. Assinale a alternativa que contenha apenas exemplos válidos da instrução. I - printf (' Exemplo de Texto ') II - printf ("Valor: %f", altura); III - printf "&c", letra ; IV - printf ('Teste da função', &valor); ALTERNATIVAS I, apenas. II, apenas. III, apenas. IV, apenas. II e III, apenas. 8ª QUESTÃO A linguagem C não possui um operador que atue com operandos do tipo string. Deste modo, a manipulação de strings é realizada por meio de funções. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. Sendo assim, qual a função que conta o número de caracteres da string. ALTERNATIVAS strlen(x) strcpy(x,y) strcat(x,y) strcmp(x,y) strlcpy(x,y,n) 9ª QUESTÃO Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 7/8 Construções if-else facilitam a escrita de programas que devem escolher uma entre duas alternativas. Em alguns casos, o programa necessitaescolher uma entre várias alternativas. Embora construções if-else possam executar testes de vários modos, elas não são de maneira nenhuma elegante. LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2018. O código pode ficar difícil de ser seguido e confundir até mesmo seu autor, num momento futuro. Para estes casos, C oferece a construção de _______________. ALTERNATIVAS for while define switch do while 10ª QUESTÃO Looping infinito é um nome dado a uma sequência de repetições sem fim. Pode ser usado como um recurso para um sistema que deve ficar sempre em execução repetindo tarefas ou pode levar a erros e travamento do sistema. Veja o código abaixo. 1 #include <stdio.h> 2 3 int main() { 4 int n, fat; 5 6 printf("Escreva um número inteiro:"); 7 scanf("%d", &n); 8 fat = 1; 9 10 while (n > 1) { 11 fat = n * fat; 12 } 13 printf("Resultado: %d\n", fat); 14 return 0; 15 } Considerando o código acima, temos diferentes formas de evitar o looping infinito. Assinale a afirmativa que evita o looping infinito, sem prejudicar o cálculo do fatorial. ALTERNATIVAS Loading [MathJax]/jax/output/HTML-CSS/jax.js 04/07/2018 Unicesumar - Ensino a Distância 8/8 Abaixo da linha 11, incluir a instrução "n--". Acima da linha 11, incluir a instrução "n = n - 1". Abaixo da linha 11, incluir a instrução "if (n > fat) { break }". Na linha 10, trocar o conteúdo da linha por "for (int i = 0; i < n; i++) {". Na linha 10, trocar todo o conteúdo por "do {" e todo o conteúdo da linha 12 por "} while (n == 1);". Loading [MathJax]/jax/output/HTML-CSS/jax.js
Compartilhar