EJEMPLOS DE ESTRUCTURAS EN C

Documentos relacionados
for(i = 0; i <= 45; i+=5) { x = (i*3.1416)/180; printf( seno(%d) = %f\n,i,seno(x));

Estructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente.

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y

Funciones y paso de parámetros

Apuntadores y Memoria dinámica. Apuntadores. M.C. Yolanda Moyao Martínez

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

Estructuras. //identificador del cliente

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Principal material bibliográfico utilizado

Realizar el ejercicio anterior utilizando Punteros

#include <stdio.h> /* Factorial de un número - versión 1- */

Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

Programación I Funciones

Ejercicios Tema 6. Funciones

OBJETIVO III. APLICAR A LOS PROGRAMAS EN C LAS ESTRUCTURAS DE SELECCIÓN IF Y SWITCH ACTIVIDAD TEÓRICA.

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Punteros. Programación en C 1

Punteros. Índice. 1. Qué es un puntero y por que son importantes.

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

PROGRAMACIÓN ESTRUCTURADA

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

PUNTEROS DOBLES EN C XIII CUIEET MASPALOMAS. Sidonio Pérez Matilla EUITI de Eibar UPV

Se guardan en archivos con extencion c y los cabezales con extension h

Asignatura: Estructuras de Datos. Grado y Sección: 6to INF A-B. Docente: Ing. Yesika Medina

Instituto Politécnico Nacional

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Capitulo 2. Programación Modular

Reales. Caracteres. Cadenas de Caracteres (String)

Codificación en C. Como pasar de Pseudocódigo a C (con pequeños trucos de C++)

Estructuración del programa en partes más pequeñas y sencillas

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

LENGUAJE. Tema 1 - Introducción

GUIA DE LABORATORIO # 13 Arreglos unidimensionales y bidimensionales

Cadenas y Estructuras

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C

Estructuras Dinámicas

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

Tema: Arreglos de Objetos en C++.

TEMA 5: Subprogramas. Programación modular EJERCICIOS DE TRAZAS

Practica 8 Contenido: typedef y struct

PUNTEROS (APUNTADORES)

Lenguajes de programación

Programación Estructurada

Introducción a la Programación

Apuntadores (Punteros)

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez

Modularización en lenguaje C. Funciones

Informática II Vectores y Matrices

Estructuras de Repetición (Hacer-Mientras)

PROGRAMACION MODULAR FUNCIONES

Prof. Dr. Paul Bustamante

OBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos.

SENTENCIAS DE CONTROL (SENTENCIA switch)

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

Ejercicios aplicando estructuras de asignación.

Tipos de Datos Estructurados

LENGUAJE. Tema 4 Vectores, Matrices y Cadenas de caracteres.

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Paso de Parámetros a una Función

Unidad 3. Estructuras simples de datos. Tema 1. Cadenas de caracteres

Programación. Test Autoevaluación Tema 3

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres

UNIVERSIDAD DE PAMPLONA - PROGRAMACION I

PUNTEROS EN C (APUNTADORES)

[SENTENCIAS DE CONTROL FOR Y WHILE

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Sentencias DO-WHILE EN C++

Repaso de lenguaje C. Índice. Repaso de lenguaje C. Repaso de lenguaje C: Tipos básicos

LISTAS ENLAZADAS FUNDAMENTOS TEORICOS

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD

1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.

PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)

Estructuras de Repetición (Repita para)

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

SESIÓN DE EJERCICIOS E1

#include <stdio.h> float cubica(float numero) { float cubica; cubica = numero * numero * numero; return cubica; }

Transcripción:

ASIGNATURA: EJEMPLOS DE ESTRUCTURAS EN C ALGORITMO Y ESTRUCTURA DE DATOS EJEMPLOS DE ESTRUCTURAS EN C 2012 D E P A R T A M E N T O D E COMPUTACIÓN UNAN-LEÓN

ESTRUCTURAS EN C 1. Crear un programa que contenga los siguientes elementos: Una estructura llamada Estudiante que represente a un estudiante, que tiene como datos: nombre, sexo, edad y un arreglo unidimensional de 5 elementos, correspondientes sus notas. El programa deberá calcular e imprimir cuál es el estudiante con mayor promedio de notas. #include <stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define NN 5 typedef struct char *nomest; int edad; char sexo; int *notas; Estudiante; // nombre estudiante typedef struct int numest; Estudiante *estu; RegistroNotas; void main () char Nombre[30]; 2

RegistroNotas rest; int i,n,sumnot=0,indicemay=0; float prom,mayorp=0; printf ("Cuantos Estudiantes?\n"); scanf ("%d", &rest.numest); rest.estu=(estudiante *) malloc(rest.numest * sizeof(estudiante)); if(rest.estu==null) printf("insuficiente Espacio de Memoria"); exit(1); for (i=0; i<rest.numest; i++) printf ("Nombre Estudiante[%d]: ",i+1); gets(nombre); rest.estu[i].nomest=(char *)malloc(sizeof (char) * (strlen(nombre)+1)); strcpy (rest.estu[i].nomest, Nombre); printf ("Edad[%d]: ",i+1); scanf ("%d",&rest.estu[i].edad); printf ("Sexo[%d]: ",i+1); scanf ("%c",&rest.estu[i].sexo); rest.estu[i].notas=(int *)malloc(nn *sizeof(int)); if(rest.estu[i].notas==null) printf("insuficiente Espacio de Memoria"); 3

exit(1); printf("las 5 calificaciones del estudiante %d son\n",i+1); sumnot=0; prom=0; for(n=0;n<5;n++) printf("nota [%d]: ",n+1); scanf("%d",&rest.estu[i].notas[n]); sumnot+=rest.estu[i].notas[n]; prom=sumnot/5; if(prom>mayorp) indicemay=i; mayorp=prom; printf("el estudiante con mayor promedio es:%s\n",rest.estu[indicemay].nomest); free(nomest); free(estu); free(notas); 4

2. Un zoológico desea guardar los datos de los pandas. Para ello crear una estructura con lo siguiente: nombre, peso, año de nacimiento, sexo. Cree una función para leer los datos de la estructura. void LeerPanda(Panda *p); Determinar la edad del panda y si puede tener bebés, sabiendo que para poder tener bebés debe ser mayor que 5 años y (obvio) ser hembra. Utilizar las siguientes funciones: int EdadPanda(Panda p); devuelve la edad int TenerBebes(Panda p); //devuelve 1 si puede tener bebes y 0 si no #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct Panda char *nombrep; float peso; int anyonac; char sexo; mip; void LeerPanda(mip *p); int EdadPanda(mip p); //devuelve la edad int TenerBebes(mip p); //devuelve 1 si puede tener bebes y 0 si no. void main() mip mp; int puede; LeerPanda(&mp); puede=tenerbebes(mp); 5

if(puede==1) printf("el panda %s puede tener bebes\n",mp.nombrep); else printf("el panda %s no puede tener bebes\n",mp.nombrep); void LeerPanda(mip *p) char nom[35]; printf("el panda se llama: "); gets(nom); p->nombrep=(char *)malloc(sizeof(char) * strlen(nom)+1); if(p==null) printf("insuficiente espacio de memoria\n"); exit(1); strcpy(p->nombrep,nom); printf("su peso es:"); scanf("%f",&p->peso); printf("su anyo de nacimiento es:"); scanf("%d",&p->anyonac); printf("su sexo es:"); scanf("%c",&p->sexo); int EdadPanda(mip p)//devuelve la edad 6

int edadp; edadp=2012 - p.anyonac; return(edadp); int TenerBebes(mip p) //devuelve 1 si puede tener bebes y 0 si no. int res,edad; edad=edadpanda(p); if(edad>=5 && (p.sexo=='f' p.sexo=='f')) res=1; else res=0; return(res); 7

3. Complete los espacios en blanco en el main y escriba el código de la función LeerFraccion y SumarFracciones. Este programa deberá sumar dos fracciones y mostrar el resultado de dicha operación por pantalla. #include <stdio.h> #include <stdlib.h> typedef struct racional int numerador; int denominador; fraccion; void LeerFraccion(fraccion *pf); //prototipo de la función fraccion *SumarFracciones(fraccion f1, fraccion f2); // prototipo de la función void main(void) fraccion fr1, fr2, *fr3; LeerFraccion(&fr1); //Llamar a la función LeerFraccion LeerFraccion(&fr2);//Llamar a la función LeerFraccion fr3=sumarfracciones(fr1,fr2); //Llamar a la funciónn SumarFracciones printf("\n\n%d/%d + %d/%d = %d/%d \n",fr1.numerador,fr1.denominador,fr2.numerador,fr2.denominador, fr3- >numerador, fr3->denominador); free(fr3); 8

//Definición de la función para leer una fracción void LeerFraccion(fraccion *pf) printf("numerador:"); scanf("%d",&pf->numerador); printf("numerador:"); scanf("%d",&pf->denominador); //Definición de la función para sumar dos fracciones fraccion *SumarFracciones(fraccion f1, fraccion f2) fraccion *pf; pf=(fraccion *) malloc(sizeof(fraccion)); if( pf == NULL ) printf("memoria insuficiente\n"); exit(-1); pf- >numerador=(f1.numerador*f2.denominador)+(f1.denominador*f2.numerador); pf->denominador=f1.denominador*f2.denominador; return (pf); 9