Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


codigo de programacao, Exercícios de Teoria da Computação

como funciona um codigo bem eficiente

Tipologia: Exercícios

2024

Compartilhado em 14/05/2026

david-tchitembo
david-tchitembo 🇧🇷

2 documentos

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Copilot may make mistakes 1
TAD de Esfera em C
TAD de Esfera em C
Este código implementa um Tipo Abstrato de Dados (TAD) para representar uma esfera em
linguagem C. Ele inclui funções para criação, destruição e operações como cálculo da área da
superfície e do volume.
Arquivo de Cabeçalho (Esfera.h)
#ifndef ESFERA_H
#define ESFERA_H
typedef struct esfera Esfera;
// Criação e destruição
Esfera* Esfera_cria(float raio);
void Esfera_libera(Esfera* e);
// Operações
float Esfera_raio(Esfera* e);
float Esfera_area(Esfera* e); // área da superfície
float Esfera_volume(Esfera* e);
#endif
pf3

Pré-visualização parcial do texto

Baixe codigo de programacao e outras Exercícios em PDF para Teoria da Computação, somente na Docsity!

TAD de Esfera em C

TAD de Esfera em C

Este código implementa um Tipo Abstrato de Dados (TAD) para representar uma esfera em linguagem C. Ele inclui funções para criação, destruição e operações como cálculo da área da superfície e do volume.

Arquivo de Cabeçalho (Esfera.h)

#ifndef ESFERA_H #define ESFERA_H

typedef struct esfera Esfera;

// Criação e destruição Esfera* Esfera_cria(float raio); void Esfera_libera(Esfera* e);

// Operações float Esfera_raio(Esfera* e); float Esfera_area(Esfera* e); // área da superfície float Esfera_volume(Esfera* e);

#endif

Implementação (Esfera.c)

#include #include #include #include "Esfera.h"

struct esfera { float raio; };

Esfera* Esfera_cria(float raio) { Esfera* e = (Esfera*) malloc(sizeof(Esfera)); if (e != NULL) { e->raio = raio; } return e; }

void Esfera_libera(Esfera* e) { free(e); }

float Esfera_raio(Esfera* e) { return e->raio; }

float Esfera_area(Esfera* e) { return 4 * M_PI * e->raio * e->raio; }

float Esfera_volume(Esfera* e) { return (4.0/3.0) * M_PI * e->raio * e->raio * e->raio; }