Está en la página 1de 7

Practica 3.

1. Uso de Registros en C y en Java. Cree un TDA, que


represente, un registro de un grupo que tenga Usted en su
carga horaria con un mínimo de 4 datos, identifique también
por lo menos dos operaciones básicas.

C
#include<stdio.h>
#include<string.h>

typedef struct grupos {


char grupo[4];
int nAlumnos; // Definición del TDA.
char nDocente[50];
char aula[10];
}Grupo;

void imprimirGrupo(Grupo *A){

printf("%s\n",A->grupo);
printf("%d\n",A->nAlumnos);
printf("%s\n",A->nDocente);
printf("%s\n",A->aula);

void cargarDatosGrupo(Grupo *A,char *grupo,int nAlumnos,char *nDocente,char *aula){

strcpy(A->grupo,grupo);
A->nAlumnos=nAlumnos;
strcpy(A->nDocente,nDocente);
strcpy(A->aula,aula);
}

int main(){

Grupo A;
cargarDatosGrupo(&A,"S3B",20,"Francisco Suarez Ruiz","LCOM3");
imprimirGrupo(&A);
}

Java
public class Grupo
{
String grupo;
int nAlumnos;
String nDocente;
String aula;

Grupo(String grupo,int nAlumnos,String nDocente,String aula){


this.grupo=grupo;
this.nAlumnos=nAlumnos;
this.nDocente=nDocente;
this.aula=aula;

void CargarGrupo(String grupo,int nAlumnos,String nDocente,String aula){


this.grupo=grupo;
this.nAlumnos=nAlumnos;
this.nDocente=nDocente;
this.aula=aula;

void imprimirGrupo(){
System.out.println(grupo);
System.out.println(nAlumnos);
System.out.println(nDocente);
System.out.println(aula);
}
}

public class Implementacion


{
public static void main(String Tec[]){

Grupo g = new Grupo("S3A",25,"Francisco Suarez Ruiz","LCOM3");

g.imprimirGrupo();
}
}
2. Realiza un programa en C, donde cree un TDA llamado Byte,
utilice campo de bits, el TDA será capaz de convertir un
caracter a decimal y a binario, una ves concluido, realizar, el
mismo ejemplo en Java.

C
#include<stdio.h>
#include<string.h>

typedef struct ASCII {


int a:1;
int b:1;
int c:1;
int d:1; // Definición de mi TDA Byte
int e:1;
int f:1;
int g:1;
int h:1;
} Byte;

void imprimirBinario(Byte *A){

printf("Codigo Binario: ");


if(A->h) printf("1"); else printf("0");
if(A->g) printf("1"); else printf("0");
if(A->f) printf("1"); else printf("0");
if(A->e) printf("1"); else printf("0");
if(A->d) printf("1"); else printf("0");
if(A->c) printf("1"); else printf("0");
if(A->b) printf("1"); else printf("0");
if(A->a) printf("1"); else printf("0");

}
void imprimirDecimal(Byte *A){
int x = 0;
if(A->h) x+=128;
if(A->g) x+=64;
if(A->f) x+=32;
if(A->e) x+=16;
if(A->d) x+=8;
if(A->c) x+=4;
if(A->b) x+=2;
if(A->a) x+=1;

printf("Codigo Decimal: %d ",x);


}
int main(){

Byte A;
printf("Introduce un caracter: ");
scanf("%c",&A);

imprimirBinario(&A);
imprimirDecimal(&A);
}
Java
public class Byte
{
int c;

public Byte(int c){


this.c = c;
}

void imprimirBinario(){

String binario = "";


int c = this.c;

binario = binario + (c%2); c/=2;


binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;
binario = binario + (c%2); c/=2;

StringBuilder strb = new StringBuilder(binario);

System.out.println("Formato binario:" + strb.reverse().toString());


}

void imprimirDecimal(){
System.out.println("Formato decimal:" + c);
}
}

public class Implementacion


{
public static void main(String Tec[]){

Byte x = new Byte('a');

x.imprimirBinario();
x.imprimirDecimal();

}
}
3. Realiza un programa en C, donde cree un TDA llamado
T_color, que defina una enumeración de colores, rojo=0,
verde=1, azul=2, negro=3, blanco=4, el TDA será capaz de
imprimir un color definido en la colección y de obtener mediante
una cadena de caracteres la etiqueta, una ves concluido,
realizar, el mismo ejemplo en Java.

C
#include<stdio.h>
#include<string.h>

typedef enum color{


rojo=0,
verde=1,
azul=2,
negro=3,
blanco=4,
}T_color;

void imprimirColor(T_color c){

if (c==rojo) printf("Rojo\n");
else if (c==verde) printf("Verde\n");
else if (c==azul) printf("Azul\n");
else if (c==negro) printf("Negro\n");
else if (c==blanco) printf("Blanco\n");
else printf("Color indefinido");

char * obtenerColor(T_color c){

if (c==rojo) return "Rojo";


else if (c==verde) return "Verde";
else if (c==azul) return "Azul";
else if (c==negro) return "Negro";
else if (c==blanco) return "Blanco";
else return "Color indefinido";
}

int main(){

T_color r=rojo; // T_color r = 0;


T_color b=0;

imprimirColor(r);
printf("%s\n",obtenerColor(b));

}
Java
public enum T_color
{
ROJO, VERDE, AZUL, NEGRO, BLANCO
}

public class implementacion


{
// El método
public static void main(String[] args)
{
T_color c1 = T_color.ROJO;
System.out.println(c1);
}
}

4. Realiza un programa en C, donde se cree una estructura de


tipo union, que me permita compartir datos entre mas de una
variable, construya sus operaciones básicas. El ejemplo puede
ser libre.
#include<stdio.h>
#include<string.h>

typedef union join{


char a[4];
int b;
}tangled;

int main(){

tangled A;

A.a[3] = '\0';
A.a[2] = '!';
A.a[1] = 'i';
A.a[0] = 'H';

printf("%s\n",A.a); // Hi!

printf("%d\n",A.b); // 2189640

A.b = 7654321;
printf("%s\n",A.a); // '??t'

// \0 ! i H
// Hi! 00000000 00100001 01101001 01001000

También podría gustarte