Buscar

algoritmos e Programacao 2-unid-4

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

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

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
Você viu 3, do total de 12 páginas

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

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

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
Você viu 6, do total de 12 páginas

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

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

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
Você viu 9, do total de 12 páginas

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

20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 1/12
Painel / Meus cursos / 2022ED - Algoritmos e Programação II - G91-1368EAD4A
/ UNIDADE 4 - Strings e Programação Modular // UNIDAD 4- Strings y Programación Modular / Atividade Avaliativa Unidade 4
Iniciado em domingo, 20 Nov 2022, 08:25
Estado Finalizada
Concluída em domingo, 20 Nov 2022, 08:36
Tempo
empregado
10 minutos 38 segundos
Avaliar 2,50 de um máximo de 2,50(100%)
https://antigoeadgraduacao.ftec.com.br/course/view.php?id=5310
https://antigoeadgraduacao.ftec.com.br/my/
https://antigoeadgraduacao.ftec.com.br/course/view.php?id=5310
https://antigoeadgraduacao.ftec.com.br/course/view.php?id=5310&section=7
https://antigoeadgraduacao.ftec.com.br/mod/quiz/view.php?id=413617
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 2/12
Questão 1
Correto
Atingiu 0,30 de 0,30
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. w = 6, y = 0, z = 6  Parabéns! Alternativa Correta.
b. w = 5, y = 0, z = 6
c. o programa nunca irá imprimir valores pois a condição do while nunca resulta em falso.
d. w = 6, y = 0, z = 0
e. w = 5, y = 1, z = 3
Sua resposta está correta.
A resposta correta é:
w = 6, y = 0, z = 6 
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 3/12
Questão 2
Correto
Atingiu 0,20 de 0,20
 
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. 1
b. 13
c. 7
d. 12
e. 9
Sua resposta está correta.
A resposta correta é: 12
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 4/12
Questão 3
Correto
Atingiu 0,20 de 0,20
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.
Lista de parâmetros 
Tipo de retorno 
Nome da função 
Corpo da Função 
float x, int y
double
calculo
return ( x* pow(x,y) );
Sua resposta está correta.
A resposta correta é:
Lista de parâmetros → float x, int y,
Tipo de retorno → double,
Nome da função → calculo,
Corpo da Função → return ( x* pow(x,y) );.
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 5/12
Questão 4
Correto
Atingiu 0,30 de 0,30
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. I, II e III
b.  II e III
c. Nenhuma alternativa
d. I e II
e. I e III Parabéns !! Alternativa Correta.
Sua resposta está correta.
A resposta correta é:
I e III
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 6/12
Questão 5
Correto
Atingiu 0,20 de 0,20
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 usando o formato %s, sem a precedência do símbolo “&”.

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 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.

Permite a leitura de uma string e de somente strings. Não limitado a somente leitura de uma  única palavra.

scanf()
printf()
puts()
fgets()
gets()
Sua resposta está correta.
A resposta correta é:
Permite a leitura de uma string usando o formato %s, sem a precedência do símbolo “&”. → scanf(),
Permite a impressão de uma string usando o formato %s, mas pode imprimir qualquer outro tipo , não somente string. → printf(),
Permiteimprimir uma string e faz uma mudança automaticamente de linha → puts(),
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. → fgets(),
Permite a leitura de uma string e de somente strings. Não limitado a somente leitura de uma  única palavra. → gets().
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 7/12
Questão 6
Correto
Atingiu 0,30 de 0,30
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, e a II é uma justificativa correta da I.
b. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I
c. As asserções I e II são proposições falsas.  Parabéns ! Alternativa Correta.
d. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
e. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Sua resposta está correta.
A resposta correta é:
As asserções I e II são proposições falsas. 
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 8/12
Questão 7
Correto
Atingiu 0,20 de 0,20
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. 11
b. 7
c. 30
d. 4
e. 22 Parabéns! Alternativa Correta.
Sua resposta está correta.
A resposta correta é:
22
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 9/12
Questão 8
Correto
Atingiu 0,30 de 0,30
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. I e II
c. I, II e III  Parabéns ! Alternativa Correta.
d. II e III
e. I e III
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 10/12
Questão 9
Correto
Atingiu 0,20 de 0,20
Sua resposta está correta.
A resposta correta é:
I, II e III 
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 segunda para dentro na primeira. 
- A função strlwr()    converte todos os caracteres da cadeia para minúsculo. 
Arraste a função no espaçoda alternativa que representa corretamente a funcionalidade de cada função de manipulação de strings.
 
Sua resposta está correta.
A resposta correta é:
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 segunda para 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.
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 11/12
Questão 10
Correto
Atingiu 0,30 de 0,30
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()
20/05/2023, 21:12 Atividade Avaliativa Unidade 4: Revisão da tentativa
https://antigoeadgraduacao.ftec.com.br/mod/quiz/review.php?attempt=926900&cmid=413617 12/12
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.  I, II e III
b. III e IV
c. II e IV Parabéns ! Alternativa Correta.
d. II e III
e. I, II e IV 
Sua resposta está correta.
A resposta correta é:
II e IV

Continue navegando