Buscar

unidade 04

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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&section=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

Outros materiais