Baixe o app para aproveitar ainda mais
Prévia do material em texto
2022ED - Algoritmos e Programação II - G91-1368EAD2A Painel Meus cursos 2022ED - Algoritmos e Programação II - G91-1368EAD2A UNIDADE 4 - Strings e Programação Modular // UNIDAD 4- Strings y Programación Modular Atividade Avaliativa Unidade 4 Questão 1 Correto Atingiu 0,20 de 0,20 Marcar questão Questão 2 Correto Atingiu 0,20 de 0,20 Marcar questão Questão 3 Correto Atingiu 0,20 de 0,20 Marcar questão Questão 4 Correto Atingiu 0,30 de 0,30 Marcar questão Questão 5 Correto Atingiu 0,30 de 0,30 Marcar questão Questão 6 Correto Atingiu 0,20 de 0,20 Marcar questão Questão 7 Correto Atingiu 0,30 de 0,30 Marcar questão Questão 8 Correto Atingiu 0,30 de 0,30 Marcar questão Questão 9 Correto Atingiu 0,20 de 0,20 Marcar questão Questão 10 Correto Atingiu 0,30 de 0,30 Marcar questão Iniciado em quarta, 22 Jun 2022, 14:39 Estado Finalizada Concluída em domingo, 26 Jun 2022, 21:14 Tempo empregado 4 dias 6 horas Avaliar 2,50 de um máximo de 2,50(100%) Terminar revisão A entrada e a saída de dados dos programas necessitam de comandos específicos de entrada e saída conforme o tipo que desejamos, para que desta forma, possamos introduzir os dados necessários para o nosso programa, bem como para exibir estes dados para o usuário na tela do computador ou dispositivo de saída. Vários são os comandos de leitura e escrita de strings na Linguagem C. Com base nos comandos de entrada e saída da Linguagem C, associe cada comando a sua definição e funcionalidade. Permite a leitura de uma string e de somente strings. Não limitado a somente leitura de uma única palavra. Permite a impressão de uma string usando o formato %s, mas pode imprimir qualquer outro tipo , não somente string. Permite imprimir uma string e faz uma mudança automaticamente de linha Permite a leitura de uma string usando o formato %s, sem a precedência do símbolo “&”. Permite a leitura de um conteúdo de um arquivo de texto, mas podendo usar como entrada padrão a referência como “stdin”, para entrada padrão pelo teclado. gets() printf() puts() scanf() fgets() Considerando-se o algoritmo da função acima, escrito na linguagem C, os valores impressos pela função serão iguais quando o valor parâmetro n for igual a: Si se considera el algoritmo de la función anterior, escrito en el lenguaje C, los valores impresos por la función serán iguales cuando el valor parámetro n sea igual a: Escolha uma opção: a. 7 b. 12 c. 1 d. 13 e. 9 Vários são os benefícios de utilizar funções em C. Podemos citar duas principais vantagens como: reduzir a complexidade de um programa e evitar a repetição de código ao longo de um programa, ou seja, o reuso de código. DAMAS, Luís. Linguagem C. Tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. Para que possamos desenvolver corretamente uma função em C, necessitamos identificar as 4 partes distintas que compõem uma função. Assim, precisamos conhecê-las, são elas: 1- Nome da Função 2- Tipo de retorno 3- Lista de Parâmetros 4- Corpo da Função Tomando como base a seguinte função: double calculo ( float x, int y) { return ( x* pow(x,y) ); } Associe cada parte da função à sua representação no exemplo apresentado. Nome da função Tipo de retorno Lista de parâmetros Corpo da Função calculo double float x, int y return ( x* pow(x,y) ); Uma academia está automatizando algumas rotinas para os seus clientes e necessita de auxílio para calcular o peso ideal de seus clientes. A Academia vai oferecer o serviço de auxílio para o processo de emagrecimento e necessita de um programa que receba como dado de entrada a altura do cliente e o seu sexo. O sexo somente pode aceitar F ou M, e sempre armazenar em maiúsculo o que for digitado pelo usuário. Auxilie a empresa a desenvolver uma função que receba como parâmetro a altura e o sexo do cliente, calcula e retorna para o main() o peso ideal do seu cliente, conforme as fórmulas apresentadas: Para HOMENS, deverá calcular o peso ideal usando a Fórmula : peso_ideal = 72.7 * altura - 58 Para as MULHERES, deve calcular o peso ideal usando a Fórmula : peso_ideal = 62.1 * altura - 44.7 Avalie a solução apresentada a seguir: #include <stdio.h> #include <conio.h> #include <ctype.h> //prototipação das funções float ideal(float alt, char s); //função principal main( void ) { float altura; char sexo; do{ printf("Digite um numero: "); scanf("%f", &altura); }while(altura<0); do{ printf("Digite o sexo F/M: "); sexo=toupper(getche()); }while(sexo!='F' && sexo!='M'); printf("\nPeso ideal = %.2f", ideal(altura, sexo)); } float ideal(float alt, char s) { float peso_ideal; if (s=='F'){ peso_ideal = 62.1 * alt - 44.7; }else{ peso_ideal = 72.7 * alt - 58; } return peso_ideal; } Acerca da proposta da solução apresentada para o problema, avalie as afirmações a seguir: I – a função ideal() deveria retornar um valor inteiro e não float para a função principal main(). II - a função ideal() recebe como parâmetro um valor float e um char, calcula o peso ideal conforme o sexo recebido e retorna um valor float para a função main() e imprime o resultado na função principal main() III – a função toupper() transforma em minúsculo o valor digitado para a variável sexo. IV – a função ideal() poderia ser escrita da seguinte forma: float ideal(float alt, char s) { float peso_ideal; if (s=='F'){ return ( 62.1 * alt - 44.7); }else{ return (peso_ideal = 72.7 * alt – 58); } } É correto apenas o que se afirma em: a. II e IV b. I, II e IV c. II e III d. I, II e III e. III e IV Analise o programa abaixo: int incrementa(int z) { return (z + 1); } main(void) { int w = 0; int z = 0; int y = 0; while (w <= 3) { w++; z = incrementa(z) + 2; w = incrementa(w) + 1; } y = w - z; printf("w=%d\n", w); printf("y=%d\n", y); printf("z=%d\n", z); } Selecione a alternativa que representa corretamente os valores das variáveis “w”, “y” e “z (nesta ordem) , impressos no final da execução do programa: a. o programa nunca irá imprimir valores pois a condição do while nunca resulta em falso. b. w = 5, y = 0, z = 6 c. w = 5, y = 1, z = 3 d. w = 6, y = 0, z = 0 e. w = 6, y = 0, z = 6 A linguagem C tem a capacidade de manipular facilmente os seus tipos de dados básicos (char, float, int e double), no entanto apresenta algumas limitações no que diz respeito ao tratamento de vetores e strings, não fazendo o seu processamento direto. Mas a linguagem C possui uma biblioteca poderosa de funções para realizar praticamente todas as operações necessárias sobre string. DAMAS, Luís. Linguagem C. Tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. Analise as alternativas abaixo com a descrição da funcionalidade de várias funções de manipulação de strings. - A função strupr() converte todos os caracteres da cadeia para maiúsculo. - A função strcat() concatena uma quantidade de caracteres da segunda para a primeira string. - A função strlen() aceita um endereço de string como argumento e retorna o tamanho da string armazenada a partir deste endereço até um caracter antes de ‘\0’. - A função strcmp() é utilizada para comparar duas cadeias de caracteres. - A função strstr() recebe como argumentos duas string e retorna um ponteiro para a primeira ocorrência da segunda string na primeira string, ou seja, procura uma string dentro da outra. - A função strcpy() recebe dois endereços de strings como argumentos e copia o conteúdo da segundapara dentro na primeira. - A função strlwr() converte todos os caracteres da cadeia para minúsculo. Arraste a função no espaço da alternativa que representa corretamente a funcionalidade de cada função de manipulação de strings. Na linguagem C existem apenas funções, enquanto que em outras linguagens existem dois tipos distintos de rotinas – as funções e os procedimentos. Em C a diferença entre funções e procedimentos é que uma função tem sempre um tipo e um valor de retorno associados, enquanto um procedimento não devolve qualquer valor. Assim, a forma de invocar funções e procedimentos também é diferente. Não tendo um valor de retorno, um procedimento é invocado como se se tratasse de uma instrução simples. Em C existe uma palavra reservada - void – que permite indicar que uma função não devolve qualquer tipo. É habitual, encontrar a palavra reservada void para indicar que uma função não recebe qualquer parâmetro, assim, uma função que “retorna void” é chamada normalmente de Procedimento. DAMAS, Luís. Linguagem C. Tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. Com base nos conceitos apresentados, um programador gaúcho deseja desenvolver uma função ou um procedimento que receba um número inteiro positivo N como parâmetro e calcule e imprima a soma dos números inteiros entre 1 e o N(inclusive). Analise as alternativas para a solução do problema. Alternativa I Alternativa II Alternativa III #include <stdio.h> //prototipação das funções void soma(int n1); //função principal main( void ) { int n1; do{ printf("Digite um numero: "); scanf("%d", &n1); }while(n1<1); soma(n1); } void soma(int n1) { int i,result = 0; for ( i = 1; i <= n1; i++) { result = result + i; } printf("Soma = %d", result); } #include <stdio.h> //prototipação das funções int soma(int n1); //função principal main( void ) { int n1, r; do{ printf("Digite um numero: "); scanf("%d", &n1); }while(n1<1); r = soma(n1); printf("Soma = %d", r); } int soma(int n1) { int i, result=0; for ( i = 1; i <= n1; i++) { result = result + i; } return result; } #include <stdio.h> //prototipação das funções int soma(int n1); //função principal main( void ) { int n1; do{ printf("Digite um numero: "); scanf("%d", &n1); }while(n1<1); printf("Soma = %d", soma(n1)); } int soma(int n1) { int i, result=0; for ( i = 1; i <= n1; i++) { result = result + i; } return result; } É correto o que se apresenta em: a. Nenhuma alternativa b. II e III c. I e II d. I e III e. I, II e III Na linguagem C existem apenas funções, enquanto que em outras linguagens existem dois tipos distintos de rotinas – as funções e os procedimentos. Em C a diferença entre funções e procedimentos é que uma função tem sempre um tipo e um valor de retorno associados, enquanto um procedimento não devolve qualquer valor. Assim, a forma de invocar funções e procedimentos também é diferente. Não tendo um valor de retorno, um procedimento é invocado como se se tratasse de uma instrução simples. Em C existe uma palavra reservada - void – que permite indicar que uma função não devolve qualquer tipo. É habitual, encontrar a palavra reservada void para indicar que uma função não recebe qualquer parâmetro, assim, uma função que “retorna void” é chamada normalmente de Procedimento. DAMAS, Luís. Linguagem C. Tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. Com base nestes conceitos, auxilie o programador da empresa a selecionar a função correta para o cálculo de desconto que serão atribuídos aos produtos na campanha de promoção de aniversário da empresa. O corpo principal do programa já foi desenvolvido pelo programador, onde este invoca/chama a função que vai receber o valor do produto e o percentual de desconto que será aplicado. Esta função deve retornar para o main() o valor reajustado , já com o desconto aplicado. Analise o código da função principal main() já desenvolvida pelo programador da empresa: #include<stdio.h> main(void) { float desconto,valor_final, preco; preco=1000; desconto= float (10)/100; valor_final = calculo(preco,desconto); printf("%.2f",valor_final); } Com base na diferença entre função e procedimento e conforme necessidade relatada da empresa, analise as alternativas. Alternativa I Alternativa II Alternativa III float calculo(float x, float y) { float w; w= x-(x*y); return w; } void calculo(float x, float y) { float w; w= x-(x*y); } float calculo(float x, float y) { return ( x-(x*y) ); } É correto o que se apresenta em: a. Nenhuma alternativa b. I, II e III c. II e III d. I e II e. I e III Adaptado enade . Um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída. CORMEN, T. H. et al. Algoritmos Teoria e Prática. Rio de Janeiro: Elsevier, 2002 (adaptado). Muitas são as operações e problemas que podem ser solucionados utilizando-se das estruturas homogêneas denominadas de matrizes, ou vetores bidimensionais. Analise o trecho de programa apresentado: O valor que será impresso na variável x ao final da execução na linha 26 será: a. 7 b. 30 c. 11 d. 22 e. 4 Passagem de parâmetros por valor significa que a função trabalhará com cópias dos valores passados no momento de sua chamada. Assim, sempre que a passagem de parâmetros é realizada por valor não é a variável ou a expressão que é enviada para a função, mas sim uma cópia do seu valor. Desta forma, como consequência, dentro da função poderemos altera como quisermos os valores que recebemos como parâmetros que o valo original das variáveis não sofrerá qualquer alteração, porque estamos simplesmente alterando cópias dos valores originais. E assim, ao concluir a função, o programa continua executando com os valores originais das variáveis enviadas. DAMAS, Luís. Linguagem C. Tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. Com base na funcionalidade da passagem de parâmetros por valor, analise o programa: Avalie as asserções a seguir e a relação proposta entre elas. I. O programa apresentado realiza a troca entre os valores da variável a e b na função main() que foram passados como parâmetros para a função troca (int x, int y). Ou seja, na linha 19 serão impressos os valores 20 e 10. PORQUE II. A variável temp permite trocar os dois valores entre a e b que foram passados por parâmetro para a função troca () para as variáveis x e y , alterando assim no main() os valores das variáveis originais de a e b. A respeito dessas asserções, assinale a opção correta. a. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I b. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. c. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. d. As asserções I e II são proposições falsas. e. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Navegação do questionário Mostrar uma página por vez Terminar revisão 1 2 3 4 5 6 7 8 9 10 Resumo de retenção de dados Obter o aplicativo para dispositivos móveis WhatsApp: 51 4042-1423 (clique aqui). Você acessou como Rodrigo Luft (Sair) 2022ED - Algoritmos e Programação II - G91-1368EAD2A Grupo Uniftec https://www.uniftec.com.br/ relacionamentoead@ftec.com.br 0800 603 0 603 PortalMinhas disciplinas Aluno Professor Bibliotecas Virtuais Documentos Português (Brasil) Rodrigo Luft https://eadgraduacao.ftec.com.br/course/view.php?id=4941 https://eadgraduacao.ftec.com.br/my/ https://eadgraduacao.ftec.com.br/course/view.php?id=4941 https://eadgraduacao.ftec.com.br/course/view.php?id=4941§ion=7 https://eadgraduacao.ftec.com.br/mod/quiz/view.php?id=375695 https://eadgraduacao.ftec.com.br/mod/quiz/view.php?id=375695 https://eadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=806003&cmid=375695&showall=0 https://eadgraduacao.ftec.com.br/mod/quiz/view.php?id=375695 https://eadgraduacao.ftec.com.br/admin/tool/dataprivacy/summary.php https://download.moodle.org/mobile?version=2021051704.13&lang=pt_br&iosappid=633359593&androidappid=com.moodle.moodlemobile https://api.whatsapp.com/send?phone=555140421423 https://eadgraduacao.ftec.com.br/user/profile.php?id=286348 https://eadgraduacao.ftec.com.br/login/logout.php?sesskey=Ec4ZC1ghAr https://eadgraduacao.ftec.com.br/course/view.php?id=4941 https://www.facebook.com/GrupoUniftec/ https://www.linkedin.com/in/uniftec-caxias-do-sul-44a28042/ https://www.youtube.com/user/FtecFaculdades https://www.instagram.com/grupouniftec/ https://www.uniftec.com.br/ https://www.ftec.com.br/blog/ https://vimeo.com/ftec https://eadgraduacao.ftec.com.br/ http://ecampus.ftec.com.br/login
Compartilhar