TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Universidade Federal Rural do Rio de Janeiro Primeiro Trabalho de Avaliação

Por:   •  7/9/2022  •  Trabalho acadêmico  •  1.519 Palavras (7 Páginas)  •  108 Visualizações

Página 1 de 7

[pic 1]

Universidade Federal Rural do Rio de Janeiro

Primeiro Trabalho de Avaliação

  [pic 2]

SEROPÉDICA,

                2021.

Questão 1

Código original:

#include <stdio.h>

#define MAX_VAL 65  

int f(int t);

int main(void){

      char plot[MAX_VAL + 2];

      int i, t, funval;

      for  (i = 0;  i <= MAX_VAL;  i += 5)

          printf("%5d", i);

      printf("\n");

      for  (i = 0;  i <= MAX_VAL;  i += 5)

          printf("    |");

      printf("\n");

      for  (i = 0;  i <= MAX_VAL + 1;  ++i)

          plot[i] = ' ';

      for  (t = 0;  t <= 10;  ++t) {

          funval = f(t);

          plot[funval] = '*';

          plot[funval + 1] = '\0';

          printf("t=%2d%s\n", t, plot);

          plot[funval] = ' ';

          plot[funval + 1] = ' ';

      }

      return (0);

}

/*

*  f(t) = t^2  -  4t  +  5

 */

int f (int t) {

      return (t * t - 4 * t + 5);

}

Código adaptado para a função: f(t) = t² - 6t - 1

#include <stdio.h>

#define MAX_VAL 45

int f(int t);

int main(void){

      char plot[MAX_VAL + 2];

      int i, t, funval;

      for  (i =  -10;  i <= MAX_VAL;  i += 5)

          printf("%5d", i);

      printf("\n");

      for  (i = -10;  i <= MAX_VAL;  i += 5)

          printf("    |");

      printf("\n");

      for  (i = -10;  i <= MAX_VAL + 1;  ++i)

          plot[i + 10] = ' ';

      for  (t = 0;  t <= 10;  ++t) {

          funval = f(t);

          plot[funval + 10] = '*';

          plot[funval + 11] = '\0';

          printf("t=%2d%s\n", t, plot);

          plot[funval+10] = ' ';

          plot[funval + 11] = ' ';

      }

      return (0);

}

/*

 *  f(t) = t² - 6t - 1

 */

int f (int t) {

      return (t * t - 6 * t - 1);

}

Explicação: O primeiro for vai imprimir os valores de 0 até 65 (MAX_VAL) fazendo o intervalo de 5 em 5. O segundo for irá realizar o mesmo procedimento, porém, ele vai por barras para dar o aspecto de gráfico. O terceiro for coloca um espaço em branco em todos os espaços até o valor de 65 (MAX_VAL). O último for acrescenta as linhas do gráfico (eixo x), onde funval recebe o resultado da função f com o valor do índice do for. O resultado dessa função irá adicionar o caractere “*” no lugar do resultado da função.

A função que retorna o resultado da função t² - 4t + 5.

Esse programa vai imprimir o resultado da função quando x e y forem valores inteiro e isso só irar ocorrer dentro do intervalo de 0 até 10. Para desenhar a função t² - 6t - 1, também entre 0 e 10, será preciso somente alterar a função e os valores do gráfico, uma vez que essa função em questão tem valores negativos e não precisa ir até 65. Será necessário adaptar o array plot, pois caso não seja feita essa mudança o programa vai tentar marcar um índice negativo no array e além disso é necessário acrescentar 10 no array plot, já que o gráfico vai começar em -10.

Questão 2

        Código:

#include <stdio.h>

#include <locale.h> //Biblioteca do C para aceitar a acentuação

//a função usa a abscissa recebida pelo usuário para substituí-la pelo x e gerar a altura do retângulo

float Altura (float ab){

    return (ab*ab*ab -3*ab +1);

}

//a função calcula a área do retangulo e retona o valor dessa multiplicação

float Area(float base,float altura){

    return (base * altura);

}

int main (){

    setlocale(LC_ALL, "Portuguese");//habilitando a acentuação no programa

    float base;

    float ab;//essa é a abscissa

    float h;//é a altura;

    float area;

    printf("\nO Programa calcula a área do retângulo de acordo com a função dada.\n");

    printf("\nNote que o mesmo está localizado para o português, logo, use a vírgula como separador dos números decimais\n \nEX: 1,5 e 3,4\n");

    printf("\nInsira o valor da base: ");

    scanf("%f", &base);

    printf("\nInsira o valor da abscissa: ");

    scanf("%f", &ab);

    h = Altura(ab);

    area = Area(base, h);

    printf("\nA área do retângulo é %.2f", area);

...

Baixar como (para membros premium)  txt (6.6 Kb)   pdf (127.9 Kb)   docx (26.2 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com