SlideShare una empresa de Scribd logo
1 de 38
UNIVERSIDAD ANDINA
“NÉSTOR CÁCERES VELÁSQUEZ”
FACULTAD DE INGENIERÍA Y CIENCIAS
PURAS
CAP INGENIERÍA CIVIL
TEMA : Estructuras anidadas
Presentado Por :
Apaza Coaquira Edward Jhonatan
Choque Istalla Pablo Roberto
Galarza Gonzales Anthony Jhosep
Tipula Yanapa Carlos Gabriel
Calcina Aza Joel
Estructura
program circulo
Real :: r, area
write (*,*) 'Escribe el radio r:'
read (*,*) r
area = 3.14159*r*r
write (*,*) 'Area = ', area
stop
end
Este programa lee un
número real r y muestra
el área del círculo con
radio r.
UNIONES
ES SIMILAR A LA DE "ESTRUCTURA", LA
DIFERENCIA ENTRE LAS DOS ES QUE EN UNA
ESTRUCTURA, LOS MIEMBROS OCUPAN
DIFERENTES ÁREAS DE LA MEMORIA, PERO
EN UNA UNIÓN, LOS MIEMBROS OCUPAN LA
MISMA ÁREA DE MEMORIA.
Uniones
Una unión es una estructura en la que se comparte una región de memoria para
almacenar datos de tipos distintos.
El tamaño de la unión es igual al del tipo de datos más grande.
union prueba{
int a;
float b;
char c;
};
main(){
prueba x;
x.a = 5;
printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c);
x.b = 5.0;
printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c);
x.c = '5';
printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c);
getch();
}
b
prueba
c
a
a= 5, b= 0.000000, c= ♣
a= 1084227584, b=
5.000000, c=
a= 1084227637, b=
5.000025, c= 5
Estructuras y Uniones
En la creación de soluciones para algunos problemas surge la
necesidad de agrupar datos de diferente tipo o de manejar datos
que serían muy difícil de describir en los tipos de datos primitivos,
esta es la situación en la que debemos aprovecharnos de las
características que hacen al lenguaje C especial, o sea el uso de
estructuras, uniones y punteros .
Programación en C/Estructuras y Uniones
Una estructura puede estar dentro de otra estructura
a esto se le conoce como anidamiento o estructuras
anidadas. Ya que se trabajan con datos en
estructuras si definimos un tipo de dato en una
estructura y necesitamos definir ese dato dentro de
otra estructura solamente se llama el dato de la
estructura anterior.
Estructuras Anidadas
Estructuras Anidados
if (x > 0) then
if (x >= y) then
write(*,*) 'x es positivo y x >= y'
else
write(*,*) 'x es positivo pero, x < y'
endif
elseif (x < 0) then
write(*,*) 'x es negativo'
else
write(*,*) 'x es cero'
endif
Estructuras anidadas
Las estructuras pueden contener a
otras estructuras como
componentes.
Una estructura que tiene
componentes de tipo estructura se
llama estructura anidada.
Ejemplo
Ejemplo de estructuras anidadas
struct fecha{
int dia,mes,anyo;
};
struct persona{
char nombre[20];
char apellido[20];
fecha nacimiento;
int edad;
int sexo;
char CURP[19];
char telefono[20];
};
nombre apellido nacimiento edad sexo CURP telefono
dia mes año
Desplegar una fecha
void despliegaFecha(fecha f){
printf("%d de ",f.dia);
switch(f.mes){
case 1:printf("ene");break;
case 2:printf("feb");break;
case 3:printf("mar");break;
case 4:printf("abr");break;
case 5:printf("may");break;
case 6:printf("jun");break;
case 7:printf("jul");break;
case 8:printf("ago");break;
case 9:printf("sep");break;
case 10:printf("oct");break;
case 11:printf("nov");break;
case 12:printf("dic");break;
}
printf(" de %dn",f.anyo);
}
Acceso a estructuras
anidadas
Se puede acceder a los campos de una estructura
anidada mediante el operador “.”. Por ejemplo:
persona per,*per2;
per.nacimiento.dia = 5;
per.nacimiento.mes = 7;
per.nacimiento.anyo = 1998;
per2->nacimiento.dia = 1;
per2->nacimiento.mes = 8;
per2->nacimiento.anyo = 2005;
Note que el campo anidado se accede mediante el operador “.” y el no anidado
mediante “->”.
dia mes año
calle colonia ciudad estado pais numero
nombreapellidos
direccionDatos personales
nombre apellidos calle colonia ciudad estado pais num cp
fecha
direccionStruct
nombreStruct
Gráfico de las estructuras
depto trabajo
posicion
empleado
dirnom
nombre apellidos calle colonia ciudad estado pais num cp
nombredireccion
depto trabajo
trabajo salario numDepto fechaIngreso
dia mes año
estudiante
direccionDatos personales
nombre apellidos calle colonia ciudad estado pais num cp
nombredireccion carrera promedio creditos
Ejemplos
Despliega nombre y teléfono de los pacientes con la máxima gravedad.
for(i = 0;i<50;i++)
if(pas[i].condicion==5)
printf(“Nombre: %s, telefono: %sn”,
pas[i].nombre,pas[i].telefono);
Calcula porcentaje de pacientes hombres y mujeres
suma = 0;sumaF = 0;
for(i = 0;i<50;i++)
if(pas[i].sexo==‘H’)
sumaH++;
else
sumaF++;
printf(“% de Hombres= %.2fn”,sumaH/50*100);
printf(“% de Mujeres= %.2fn”,sumaF/50*100);
Estructuras anidadas
 Nada impide que los miembros de una estructura
sean a su vez tipos de datos estructurados, es
decir:
 Otras estructuras
 Arreglos
 Estas estructuras se denominan anidadas.
 Incuso pueden ser estructuras recursivas.
Ejemplo
struct fecha{
int dia,mes,anyo;
};
struct persona{
char nombre[20],apellido[20];
fecha nacimiento;
char sexo;
union{
struct {
float peso,estatura;
}varon;
struct {
int medidas[3];
}hembra;
};
};
Estructuras anidadas
struct punto{
double x;
double y;
};
struct circunferencia{
struct punto centro;
double radio;
};
Estructuras anidadas
double perimetro(struct circunferencia c){
return 2*PI*c.radio;
}
double area(struct circunferencia c){
return PI*c.radio*c.radio;
}
Estructuras anidadas
double distancia(struct punto p1, struct punto p2){
return sqrt( pow(p2.x+p1.x,2) + pow(p2.y+p1.y,2));
}
int intersectan(struct circunferencia c1,struct
circunferencia c2){
double dist = distancia(c1.centro, c2.centro);
printf("%.2f vs %.2fn",dist,c1.radio+c2.radio);
return (dist < c1.radio+c2.radio);
}
Estructuras anidadas
int main(){
struct circunferencia ca;
struct circunferencia cb;
ca.centro.x=0;
ca.centro.y=0;
ca.radio = 1;
cb.centro.x=1.9;
cb.centro.y=0;
cb.radio = 1;
printf("p:%.2f, a:%.2f, int?
%sn",perimetro(ca),area(ca),
(intersectan(ca,cb)?"Si":"No"));
}
Estructuras anidadas
Arbol binario:
Estructura formada
Con nodos de los
cuales cuelgan cero,
uno o dos hijos, lo
Cuales son a su vez
arboles binarios
Estructuras anidadas
Valor nulo  0
Puntero nulo  NULL
ESTRUCTURAS ANIDADAS
struct arbol_binario{
int valor;
struct arbol_binario hijo_derecho;
struct arbol_binario hijo_izquierdo;
};
struct arbol_binario{
int valor;
struct arbol_binario* hijo_derecho;
struct arbol_binario* hijo_izquierdo;
};
ESTRUCTURAS ANIDADAS
void mostrar(struct arbol_binario
arbol){
printf("%d ",arbol.valor);
if(arbol.hijo_derecho!=0)
mostrar(*arbol.hijo_derecho);
if(arbol.hijo_izquierdo!=0)
mostrar(*arbol.hijo_izquierdo);
}
Estructuras anidadas
int main(){
struct arbol_binario arbol;
struct arbol_binario hoja1;
struct arbol_binario hoja2;
hoja1.valor=1;
hoja1.hijo_derecho=0;
hoja1.hijo_izquierdo=0;
hoja2.valor=2;
hoja2.hijo_derecho=0;
hoja2.hijo_izquierdo=0;
arbol.valor=0;
arbol.hijo_derecho=&hoja1;
arbol.hijo_izquierdo=&hoja2;
mostrar(arbol);
}
int main(){
struct arbol_binario arbol;
struct arbol_binario hoja1;
struct arbol_binario hoja2;
hoja1.valor=1;
hoja1.hijo_derecho=0;
hoja1.hijo_izquierdo=0;
hoja2.valor=2;
hoja2.hijo_derecho=0;
hoja2.hijo_izquierdo=&arbol;
arbol.valor=0;
arbol.hijo_derecho=&hoja1;
arbol.hijo_izquierdo=&hoja2;
mostrar(arbol);
}
Estructuras anidadas
struct alumno{
int rol;
char dig;
double notas[3];
};
double promedio(struct alumno a){
return (a.notas[0] + a.notas[1] +
a.notas[2])/3.0;
}
Estructuras anidadas
int main(){
struct alumno a;
a.rol=1;
a.dig='1';
a.notas[0]=55;
a.notas[1]=50;
a.notas[2]=61;
printf("Prom:
%.2fn",promedio(a));
}
Según lo expresado, las estructuras de decisión simple y doble permiten seleccionar entre dos
alternativas posibles. Sin embargo, la instrucción SI-ENTONCES puede ser utilizada también en casos
de selección de más de dos alternativas. Esto es posible anidando estas instrucciones. Es decir, una
estructura SI-ENTONCES puede contener a otra, y esta a su vez a otra. La representación en
pseudocódigo es la siguiente:
SI <condición_1> ENTONCES
< sentencias_1 >
SINO
SI <condición_2> ENTONCES
< sentencias_2 >
SINO
SI <condición_3> ENTONCES
< sentencias_3 >
SINO
.
.
FIN-SI
FIN-SI
FIN-SI
Estructura de selección. Sentencias anidadas.
Como se puede observar, el anidamiento de
instrucciones alternativas permite ir descartando
valores hasta llegar al bloque de instrucciones
que se debe ejecutar.
En las instrucciones SI anidadas, las
instrucciones ENTONCES y FIN-SI se aplican
automáticamente a la instrucción SI anterior más
próxima.
A fin de que las estructuras anidadas sean más
fáciles de leer, es práctica habitual aplicar sangría
al cuerpo de cada una.
Ejemplo: Un sensor toma (lee) la temperatura ambiente y de
acuerdo al rango en que se encuentre, debe emitir un mensaje.
La escala es la siguiente:
Mayor que 100 “Temperatura muy alta – Mal
funcionamiento”
Entre 91 y 100 “Rango normal”
Entre 51 y 90 “Bajo el rango normal”
Menor que 50 “Muy frío – Apague el equipo”
ALGORITMO Sensor
INICIO
LEER temperatura
SI temperatura > 100 ENTONCES
ESCRIBIR “Temperatura muy alta – Mal funcionamiento”
SINO
SI temperatura > 90 ENTONCES
ESCRIBIR “Rango normal”
SINO
SI temperatura > 50 ENTONCES
ESCRIBIR “Bajo el rango normal”
SINO
ESCRIBIR “Muy frío – Apague equipo”
FIN-SI
FIN-SI
FIN-SI
FIN
Estructura de selección. Sentencias anidadas.
La sentencia IR-A (go to)
La sentencia GO TO pertenece a un grupo de sentencias conocidas como sentencias de salto
(jump). La característica de este grupo es hacer que el flujo de control salte a otra parte del
programa. Otras sentencias de este grupo son interrumpir o romper (BREAK), continuar
(CONTINUE), volver (RETURN), lanzar (THROW). Las dos primeras se utilizan generalmente con
sentencias de alternativa múltiple. Para retornar de la ejecución de funciones o métodos se usa
RETURN.
La sentencia GO TO se utilizaba mucho en los primeros lenguajes de programación porque era
la única manera de saltar de una instrucción del programa a otra.
Esta instrucción consta de una sentencia IR_A y una sentencia asociada con una etiqueta.
Cuando se ejecuta esta instrucción, se transfiere el control del programa a la etiqueta asociada.
Estructura de selección. Sentencias anidadas. Casos
Particulares
La sentencia IR-A (go to)
La representación en pseudocódigo es la siguiente:
INICIO
.
.
IR_A etiqueta_1
.
.
FIN
etiqueta_1:
. // El flujo salta aquí
El efecto de esta instrucción es transferir sin condiciones el control del programa a la etiqueta
especificada. Es una de las operaciones más primitivas para traspasar el control de una parte del
programa a otra. Sin embargo, su uso produce código inconsistente, incompleto o complicado de
mantener. Justamente por ello en los años 60 y 70, cuando surgió la programación estructurada, la
comunidad informática se expresó a favor de otras sentencias de control (IF ó bucles FOR y DO-
WHILE) en lugar del GOTO.
Estructura de selección. Sentencias anidadas.
Casos Particulares
La sentencia IR-A (go to)
Tal creencia está tan arraigada que el GOTO es
muy criticado y desaconsejado por todos los que
se dedican a la enseñanza de la programación.
Si bien la instrucción GOTO puede parecer útil y
muy flexible, es precisamente en esa flexibilidad
donde radica su peligro y los motivos de su
obsolescencia.
6.5 Estructura de selección. Sentencias anidadas.
Casos Particulares
En un algoritmo puede existir y es muy frecuente que
existan 2 o más bucles. Dependiendo de la forma en
que estén dispuestos, estos pueden ser anidados o
independientes.
Decimos que los bucles están anidados cuando están
dispuestos de forma tal que unos son interiores a
otros; y los bucles serán independientes cuando son
extremos unos con otros.
Así como se podían anidar estructuras de selección,
también es posible insertar un bucle dentro de otro.
Las reglas para construir estructuras repetitivas
anidadas son iguales en ambos casos: la estructura
interna debe estar incluida totalmente dentro de la
externa y no puede existir solapamiento.
Diseño de bucles. Bucles Anidados
Diseño de bucles. Bucles Anidados
INDEPENDIENTES ANIDADAS
PERMITIDAS Y PROHIBIDAS
NIDOS CRUZADOS
SALIR DEL BUCLE ENTRAR AL BUCLE
Diseño de bucles. Bucles Anidados

Más contenido relacionado

La actualidad más candente

condiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtoncondiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtonCarlos Saldaña
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y forMiguel Angel Peña
 
Generador van-de-graaff
Generador van-de-graaffGenerador van-de-graaff
Generador van-de-graaffFranklin Lara
 
Lecture 03 potencial electrico
Lecture 03   potencial electricoLecture 03   potencial electrico
Lecture 03 potencial electricoRodolfo Bernal
 
Dinámica del movimiento rotacional
Dinámica del movimiento rotacionalDinámica del movimiento rotacional
Dinámica del movimiento rotacionalYuri Milachay
 
ElectrostáTica Presentacion
ElectrostáTica PresentacionElectrostáTica Presentacion
ElectrostáTica Presentacionjorge camargo
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Lab 6. Campo Magnetico De Un Solenoide
Lab 6. Campo Magnetico De Un SolenoideLab 6. Campo Magnetico De Un Solenoide
Lab 6. Campo Magnetico De Un Solenoidegueste28c999
 
Campo electrico
Campo electricoCampo electrico
Campo electricojesus
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
 
Magnetismo Fuerza Magnetica
Magnetismo Fuerza MagneticaMagnetismo Fuerza Magnetica
Magnetismo Fuerza MagneticaNiels
 
electricidad y magnetismo ejercicios resueltos Capitulo 5
electricidad y magnetismo  ejercicios resueltos  Capitulo 5electricidad y magnetismo  ejercicios resueltos  Capitulo 5
electricidad y magnetismo ejercicios resueltos Capitulo 5J Alexander A Cabrera
 
Transformaciones lineales de la reflexión y rotación en forma matricial en 2D
Transformaciones lineales de la reflexión y rotación en forma matricial en 2DTransformaciones lineales de la reflexión y rotación en forma matricial en 2D
Transformaciones lineales de la reflexión y rotación en forma matricial en 2DJlm Udal
 
Corriente electrica y_resistencia_7445
Corriente electrica y_resistencia_7445Corriente electrica y_resistencia_7445
Corriente electrica y_resistencia_7445Alfredo Loayza Guzmán
 
Ejercicios Resueltos de Circuitos RC
Ejercicios Resueltos de Circuitos RCEjercicios Resueltos de Circuitos RC
Ejercicios Resueltos de Circuitos RCHairol Lucas G.
 
Problemas resueltos-cap-5-fisica-serway2
Problemas resueltos-cap-5-fisica-serway2Problemas resueltos-cap-5-fisica-serway2
Problemas resueltos-cap-5-fisica-serway2Luis Ajanel
 
Funciones primitivas y constante de integración
Funciones primitivas y constante de integraciónFunciones primitivas y constante de integración
Funciones primitivas y constante de integraciónCesar Alan Villegas Mendez
 

La actualidad más candente (20)

condiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtoncondiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newton
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Generador van-de-graaff
Generador van-de-graaffGenerador van-de-graaff
Generador van-de-graaff
 
Tabla de equivalencias y formulas
Tabla de equivalencias y formulasTabla de equivalencias y formulas
Tabla de equivalencias y formulas
 
Lecture 03 potencial electrico
Lecture 03   potencial electricoLecture 03   potencial electrico
Lecture 03 potencial electrico
 
Dinámica del movimiento rotacional
Dinámica del movimiento rotacionalDinámica del movimiento rotacional
Dinámica del movimiento rotacional
 
ElectrostáTica Presentacion
ElectrostáTica PresentacionElectrostáTica Presentacion
ElectrostáTica Presentacion
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Lab 6. Campo Magnetico De Un Solenoide
Lab 6. Campo Magnetico De Un SolenoideLab 6. Campo Magnetico De Un Solenoide
Lab 6. Campo Magnetico De Un Solenoide
 
Campo electrico
Campo electricoCampo electrico
Campo electrico
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
 
Flujo eléctrico
Flujo eléctricoFlujo eléctrico
Flujo eléctrico
 
Magnetismo Fuerza Magnetica
Magnetismo Fuerza MagneticaMagnetismo Fuerza Magnetica
Magnetismo Fuerza Magnetica
 
electricidad y magnetismo ejercicios resueltos Capitulo 5
electricidad y magnetismo  ejercicios resueltos  Capitulo 5electricidad y magnetismo  ejercicios resueltos  Capitulo 5
electricidad y magnetismo ejercicios resueltos Capitulo 5
 
Transformaciones lineales de la reflexión y rotación en forma matricial en 2D
Transformaciones lineales de la reflexión y rotación en forma matricial en 2DTransformaciones lineales de la reflexión y rotación en forma matricial en 2D
Transformaciones lineales de la reflexión y rotación en forma matricial en 2D
 
Corriente electrica y_resistencia_7445
Corriente electrica y_resistencia_7445Corriente electrica y_resistencia_7445
Corriente electrica y_resistencia_7445
 
Ejercicios Resueltos de Circuitos RC
Ejercicios Resueltos de Circuitos RCEjercicios Resueltos de Circuitos RC
Ejercicios Resueltos de Circuitos RC
 
Problemas resueltos-cap-5-fisica-serway2
Problemas resueltos-cap-5-fisica-serway2Problemas resueltos-cap-5-fisica-serway2
Problemas resueltos-cap-5-fisica-serway2
 
Funciones primitivas y constante de integración
Funciones primitivas y constante de integraciónFunciones primitivas y constante de integración
Funciones primitivas y constante de integración
 
Sem7 electrmodi fisica ii
Sem7 electrmodi fisica iiSem7 electrmodi fisica ii
Sem7 electrmodi fisica ii
 

Destacado

Presentatie ro cv a-roc f basis
Presentatie ro cv a-roc f basisPresentatie ro cv a-roc f basis
Presentatie ro cv a-roc f basisKees van Eijk
 
Solentive / InRule AADI Gartner Summit 2014
Solentive / InRule AADI Gartner Summit 2014Solentive / InRule AADI Gartner Summit 2014
Solentive / InRule AADI Gartner Summit 2014Solentive
 
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...NBPCSanDiego
 
Addressing the cloud computing security menace
Addressing the cloud computing security menaceAddressing the cloud computing security menace
Addressing the cloud computing security menaceeSAT Publishing House
 
Lecture ii indus valley civilization
Lecture ii  indus valley civilizationLecture ii  indus valley civilization
Lecture ii indus valley civilizationHena Dutt
 
Kaoru.K_portfolio_ADV124
Kaoru.K_portfolio_ADV124Kaoru.K_portfolio_ADV124
Kaoru.K_portfolio_ADV124Kaoru Kishigami
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativopvf79
 
Загадки о птицах
Загадки о птицахЗагадки о птицах
Загадки о птицахdrugsem
 
Power quality analysis using lab view
Power quality analysis using lab viewPower quality analysis using lab view
Power quality analysis using lab vieweSAT Publishing House
 
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...i2Coalition
 
Utilization of industrial waste in the construction industry
Utilization of industrial waste in the construction industryUtilization of industrial waste in the construction industry
Utilization of industrial waste in the construction industryeSAT Publishing House
 

Destacado (20)

Presentatie ro cv a-roc f basis
Presentatie ro cv a-roc f basisPresentatie ro cv a-roc f basis
Presentatie ro cv a-roc f basis
 
Solentive / InRule AADI Gartner Summit 2014
Solentive / InRule AADI Gartner Summit 2014Solentive / InRule AADI Gartner Summit 2014
Solentive / InRule AADI Gartner Summit 2014
 
Berkari 6.19
Berkari 6.19  Berkari 6.19
Berkari 6.19
 
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...
NBPC 1613 San Diego, CA Proposed 2014 bylaws draft_july_24_unanimous_consensu...
 
Physical
PhysicalPhysical
Physical
 
Leyes de gestalt
Leyes de gestaltLeyes de gestalt
Leyes de gestalt
 
Reosto ppt
Reosto pptReosto ppt
Reosto ppt
 
Addressing the cloud computing security menace
Addressing the cloud computing security menaceAddressing the cloud computing security menace
Addressing the cloud computing security menace
 
Lecture ii indus valley civilization
Lecture ii  indus valley civilizationLecture ii  indus valley civilization
Lecture ii indus valley civilization
 
Kaoru.K_portfolio_ADV124
Kaoru.K_portfolio_ADV124Kaoru.K_portfolio_ADV124
Kaoru.K_portfolio_ADV124
 
Computer Network
Computer NetworkComputer Network
Computer Network
 
history602
history602history602
history602
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
biology DNA
biology DNAbiology DNA
biology DNA
 
Ar
ArAr
Ar
 
Hydraulic cylinder trubleshoting
Hydraulic cylinder trubleshotingHydraulic cylinder trubleshoting
Hydraulic cylinder trubleshoting
 
Загадки о птицах
Загадки о птицахЗагадки о птицах
Загадки о птицах
 
Power quality analysis using lab view
Power quality analysis using lab viewPower quality analysis using lab view
Power quality analysis using lab view
 
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...
Webinar: Protect Your Customers, Protect Yourself Learn How to Take Precautio...
 
Utilization of industrial waste in the construction industry
Utilization of industrial waste in the construction industryUtilization of industrial waste in the construction industry
Utilization of industrial waste in the construction industry
 

Similar a ESTRUCTURAS ANIDADAS PRESENTACION

Informe tecnico marleni
Informe tecnico marleniInforme tecnico marleni
Informe tecnico marlenilenithoz
 
Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdfSANTOS400018
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2louis
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentalesluis cedeño
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevopabesacv
 
Tema 9 www.fresymetal.com
Tema 9 www.fresymetal.comTema 9 www.fresymetal.com
Tema 9 www.fresymetal.comFresyMetal
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datosluna_72
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)luis freddy
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)luis freddy
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujoElizabeth Reyna
 

Similar a ESTRUCTURAS ANIDADAS PRESENTACION (20)

Semana 4 Javascript funciones y Metodos
Semana 4   Javascript funciones y MetodosSemana 4   Javascript funciones y Metodos
Semana 4 Javascript funciones y Metodos
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Informe tecnico marleni
Informe tecnico marleniInforme tecnico marleni
Informe tecnico marleni
 
Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdf
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentales
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevo
 
Tipos basicos de java
Tipos basicos de javaTipos basicos de java
Tipos basicos de java
 
Tema 9 www.fresymetal.com
Tema 9 www.fresymetal.comTema 9 www.fresymetal.com
Tema 9 www.fresymetal.com
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmos
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
CLASE 05.pdf
CLASE 05.pdfCLASE 05.pdf
CLASE 05.pdf
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujo
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 

Más de Carlos Gabriel Tipula Yanapa (13)

La interculturalidad en puno y peru power point
La interculturalidad en puno y peru power pointLa interculturalidad en puno y peru power point
La interculturalidad en puno y peru power point
 
Interculturalidad en puno y peru
Interculturalidad en puno y peruInterculturalidad en puno y peru
Interculturalidad en puno y peru
 
S10
S10S10
S10
 
Matematica concepto presentacion
Matematica concepto presentacionMatematica concepto presentacion
Matematica concepto presentacion
 
Matematica concepto
Matematica conceptoMatematica concepto
Matematica concepto
 
EL COMPAS SIMPLE
EL COMPAS SIMPLEEL COMPAS SIMPLE
EL COMPAS SIMPLE
 
EL COMPAS SIMPLE
EL COMPAS SIMPLEEL COMPAS SIMPLE
EL COMPAS SIMPLE
 
EL TEATRO
EL TEATROEL TEATRO
EL TEATRO
 
EL COMPAS SIMPLE
EL COMPAS SIMPLEEL COMPAS SIMPLE
EL COMPAS SIMPLE
 
EL TEATRO
EL TEATROEL TEATRO
EL TEATRO
 
LA DANZA
LA DANZALA DANZA
LA DANZA
 
LOS SIGNOS MUSICALES
LOS SIGNOS MUSICALESLOS SIGNOS MUSICALES
LOS SIGNOS MUSICALES
 
EL COMPÁS SIMPLE
EL COMPÁS SIMPLEEL COMPÁS SIMPLE
EL COMPÁS SIMPLE
 

Último

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 

Último (20)

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 

ESTRUCTURAS ANIDADAS PRESENTACION

  • 1. UNIVERSIDAD ANDINA “NÉSTOR CÁCERES VELÁSQUEZ” FACULTAD DE INGENIERÍA Y CIENCIAS PURAS CAP INGENIERÍA CIVIL TEMA : Estructuras anidadas Presentado Por : Apaza Coaquira Edward Jhonatan Choque Istalla Pablo Roberto Galarza Gonzales Anthony Jhosep Tipula Yanapa Carlos Gabriel Calcina Aza Joel
  • 2. Estructura program circulo Real :: r, area write (*,*) 'Escribe el radio r:' read (*,*) r area = 3.14159*r*r write (*,*) 'Area = ', area stop end Este programa lee un número real r y muestra el área del círculo con radio r.
  • 3. UNIONES ES SIMILAR A LA DE "ESTRUCTURA", LA DIFERENCIA ENTRE LAS DOS ES QUE EN UNA ESTRUCTURA, LOS MIEMBROS OCUPAN DIFERENTES ÁREAS DE LA MEMORIA, PERO EN UNA UNIÓN, LOS MIEMBROS OCUPAN LA MISMA ÁREA DE MEMORIA.
  • 4. Uniones Una unión es una estructura en la que se comparte una región de memoria para almacenar datos de tipos distintos. El tamaño de la unión es igual al del tipo de datos más grande. union prueba{ int a; float b; char c; }; main(){ prueba x; x.a = 5; printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c); x.b = 5.0; printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c); x.c = '5'; printf("a= %d, b= %f, c= %cn",x.a,x.b,x.c); getch(); } b prueba c a a= 5, b= 0.000000, c= ♣ a= 1084227584, b= 5.000000, c= a= 1084227637, b= 5.000025, c= 5
  • 5. Estructuras y Uniones En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que serían muy difícil de describir en los tipos de datos primitivos, esta es la situación en la que debemos aprovecharnos de las características que hacen al lenguaje C especial, o sea el uso de estructuras, uniones y punteros . Programación en C/Estructuras y Uniones
  • 6. Una estructura puede estar dentro de otra estructura a esto se le conoce como anidamiento o estructuras anidadas. Ya que se trabajan con datos en estructuras si definimos un tipo de dato en una estructura y necesitamos definir ese dato dentro de otra estructura solamente se llama el dato de la estructura anterior. Estructuras Anidadas
  • 7.
  • 8. Estructuras Anidados if (x > 0) then if (x >= y) then write(*,*) 'x es positivo y x >= y' else write(*,*) 'x es positivo pero, x < y' endif elseif (x < 0) then write(*,*) 'x es negativo' else write(*,*) 'x es cero' endif
  • 9. Estructuras anidadas Las estructuras pueden contener a otras estructuras como componentes. Una estructura que tiene componentes de tipo estructura se llama estructura anidada.
  • 10. Ejemplo Ejemplo de estructuras anidadas struct fecha{ int dia,mes,anyo; }; struct persona{ char nombre[20]; char apellido[20]; fecha nacimiento; int edad; int sexo; char CURP[19]; char telefono[20]; }; nombre apellido nacimiento edad sexo CURP telefono dia mes año
  • 11. Desplegar una fecha void despliegaFecha(fecha f){ printf("%d de ",f.dia); switch(f.mes){ case 1:printf("ene");break; case 2:printf("feb");break; case 3:printf("mar");break; case 4:printf("abr");break; case 5:printf("may");break; case 6:printf("jun");break; case 7:printf("jul");break; case 8:printf("ago");break; case 9:printf("sep");break; case 10:printf("oct");break; case 11:printf("nov");break; case 12:printf("dic");break; } printf(" de %dn",f.anyo); }
  • 12. Acceso a estructuras anidadas Se puede acceder a los campos de una estructura anidada mediante el operador “.”. Por ejemplo: persona per,*per2; per.nacimiento.dia = 5; per.nacimiento.mes = 7; per.nacimiento.anyo = 1998; per2->nacimiento.dia = 1; per2->nacimiento.mes = 8; per2->nacimiento.anyo = 2005; Note que el campo anidado se accede mediante el operador “.” y el no anidado mediante “->”.
  • 13. dia mes año calle colonia ciudad estado pais numero nombreapellidos direccionDatos personales nombre apellidos calle colonia ciudad estado pais num cp fecha direccionStruct nombreStruct Gráfico de las estructuras
  • 14. depto trabajo posicion empleado dirnom nombre apellidos calle colonia ciudad estado pais num cp nombredireccion depto trabajo trabajo salario numDepto fechaIngreso dia mes año estudiante direccionDatos personales nombre apellidos calle colonia ciudad estado pais num cp nombredireccion carrera promedio creditos
  • 15. Ejemplos Despliega nombre y teléfono de los pacientes con la máxima gravedad. for(i = 0;i<50;i++) if(pas[i].condicion==5) printf(“Nombre: %s, telefono: %sn”, pas[i].nombre,pas[i].telefono); Calcula porcentaje de pacientes hombres y mujeres suma = 0;sumaF = 0; for(i = 0;i<50;i++) if(pas[i].sexo==‘H’) sumaH++; else sumaF++; printf(“% de Hombres= %.2fn”,sumaH/50*100); printf(“% de Mujeres= %.2fn”,sumaF/50*100);
  • 16. Estructuras anidadas  Nada impide que los miembros de una estructura sean a su vez tipos de datos estructurados, es decir:  Otras estructuras  Arreglos  Estas estructuras se denominan anidadas.  Incuso pueden ser estructuras recursivas.
  • 17. Ejemplo struct fecha{ int dia,mes,anyo; }; struct persona{ char nombre[20],apellido[20]; fecha nacimiento; char sexo; union{ struct { float peso,estatura; }varon; struct { int medidas[3]; }hembra; }; };
  • 18.
  • 19.
  • 20. Estructuras anidadas struct punto{ double x; double y; }; struct circunferencia{ struct punto centro; double radio; };
  • 21. Estructuras anidadas double perimetro(struct circunferencia c){ return 2*PI*c.radio; } double area(struct circunferencia c){ return PI*c.radio*c.radio; }
  • 22. Estructuras anidadas double distancia(struct punto p1, struct punto p2){ return sqrt( pow(p2.x+p1.x,2) + pow(p2.y+p1.y,2)); } int intersectan(struct circunferencia c1,struct circunferencia c2){ double dist = distancia(c1.centro, c2.centro); printf("%.2f vs %.2fn",dist,c1.radio+c2.radio); return (dist < c1.radio+c2.radio); }
  • 23. Estructuras anidadas int main(){ struct circunferencia ca; struct circunferencia cb; ca.centro.x=0; ca.centro.y=0; ca.radio = 1; cb.centro.x=1.9; cb.centro.y=0; cb.radio = 1; printf("p:%.2f, a:%.2f, int? %sn",perimetro(ca),area(ca), (intersectan(ca,cb)?"Si":"No")); }
  • 24. Estructuras anidadas Arbol binario: Estructura formada Con nodos de los cuales cuelgan cero, uno o dos hijos, lo Cuales son a su vez arboles binarios
  • 25. Estructuras anidadas Valor nulo  0 Puntero nulo  NULL
  • 26. ESTRUCTURAS ANIDADAS struct arbol_binario{ int valor; struct arbol_binario hijo_derecho; struct arbol_binario hijo_izquierdo; }; struct arbol_binario{ int valor; struct arbol_binario* hijo_derecho; struct arbol_binario* hijo_izquierdo; };
  • 27. ESTRUCTURAS ANIDADAS void mostrar(struct arbol_binario arbol){ printf("%d ",arbol.valor); if(arbol.hijo_derecho!=0) mostrar(*arbol.hijo_derecho); if(arbol.hijo_izquierdo!=0) mostrar(*arbol.hijo_izquierdo); }
  • 28. Estructuras anidadas int main(){ struct arbol_binario arbol; struct arbol_binario hoja1; struct arbol_binario hoja2; hoja1.valor=1; hoja1.hijo_derecho=0; hoja1.hijo_izquierdo=0; hoja2.valor=2; hoja2.hijo_derecho=0; hoja2.hijo_izquierdo=0; arbol.valor=0; arbol.hijo_derecho=&hoja1; arbol.hijo_izquierdo=&hoja2; mostrar(arbol); } int main(){ struct arbol_binario arbol; struct arbol_binario hoja1; struct arbol_binario hoja2; hoja1.valor=1; hoja1.hijo_derecho=0; hoja1.hijo_izquierdo=0; hoja2.valor=2; hoja2.hijo_derecho=0; hoja2.hijo_izquierdo=&arbol; arbol.valor=0; arbol.hijo_derecho=&hoja1; arbol.hijo_izquierdo=&hoja2; mostrar(arbol); }
  • 29. Estructuras anidadas struct alumno{ int rol; char dig; double notas[3]; }; double promedio(struct alumno a){ return (a.notas[0] + a.notas[1] + a.notas[2])/3.0; }
  • 30. Estructuras anidadas int main(){ struct alumno a; a.rol=1; a.dig='1'; a.notas[0]=55; a.notas[1]=50; a.notas[2]=61; printf("Prom: %.2fn",promedio(a)); }
  • 31. Según lo expresado, las estructuras de decisión simple y doble permiten seleccionar entre dos alternativas posibles. Sin embargo, la instrucción SI-ENTONCES puede ser utilizada también en casos de selección de más de dos alternativas. Esto es posible anidando estas instrucciones. Es decir, una estructura SI-ENTONCES puede contener a otra, y esta a su vez a otra. La representación en pseudocódigo es la siguiente: SI <condición_1> ENTONCES < sentencias_1 > SINO SI <condición_2> ENTONCES < sentencias_2 > SINO SI <condición_3> ENTONCES < sentencias_3 > SINO . . FIN-SI FIN-SI FIN-SI Estructura de selección. Sentencias anidadas. Como se puede observar, el anidamiento de instrucciones alternativas permite ir descartando valores hasta llegar al bloque de instrucciones que se debe ejecutar. En las instrucciones SI anidadas, las instrucciones ENTONCES y FIN-SI se aplican automáticamente a la instrucción SI anterior más próxima. A fin de que las estructuras anidadas sean más fáciles de leer, es práctica habitual aplicar sangría al cuerpo de cada una.
  • 32. Ejemplo: Un sensor toma (lee) la temperatura ambiente y de acuerdo al rango en que se encuentre, debe emitir un mensaje. La escala es la siguiente: Mayor que 100 “Temperatura muy alta – Mal funcionamiento” Entre 91 y 100 “Rango normal” Entre 51 y 90 “Bajo el rango normal” Menor que 50 “Muy frío – Apague el equipo” ALGORITMO Sensor INICIO LEER temperatura SI temperatura > 100 ENTONCES ESCRIBIR “Temperatura muy alta – Mal funcionamiento” SINO SI temperatura > 90 ENTONCES ESCRIBIR “Rango normal” SINO SI temperatura > 50 ENTONCES ESCRIBIR “Bajo el rango normal” SINO ESCRIBIR “Muy frío – Apague equipo” FIN-SI FIN-SI FIN-SI FIN Estructura de selección. Sentencias anidadas.
  • 33. La sentencia IR-A (go to) La sentencia GO TO pertenece a un grupo de sentencias conocidas como sentencias de salto (jump). La característica de este grupo es hacer que el flujo de control salte a otra parte del programa. Otras sentencias de este grupo son interrumpir o romper (BREAK), continuar (CONTINUE), volver (RETURN), lanzar (THROW). Las dos primeras se utilizan generalmente con sentencias de alternativa múltiple. Para retornar de la ejecución de funciones o métodos se usa RETURN. La sentencia GO TO se utilizaba mucho en los primeros lenguajes de programación porque era la única manera de saltar de una instrucción del programa a otra. Esta instrucción consta de una sentencia IR_A y una sentencia asociada con una etiqueta. Cuando se ejecuta esta instrucción, se transfiere el control del programa a la etiqueta asociada. Estructura de selección. Sentencias anidadas. Casos Particulares
  • 34. La sentencia IR-A (go to) La representación en pseudocódigo es la siguiente: INICIO . . IR_A etiqueta_1 . . FIN etiqueta_1: . // El flujo salta aquí El efecto de esta instrucción es transferir sin condiciones el control del programa a la etiqueta especificada. Es una de las operaciones más primitivas para traspasar el control de una parte del programa a otra. Sin embargo, su uso produce código inconsistente, incompleto o complicado de mantener. Justamente por ello en los años 60 y 70, cuando surgió la programación estructurada, la comunidad informática se expresó a favor de otras sentencias de control (IF ó bucles FOR y DO- WHILE) en lugar del GOTO. Estructura de selección. Sentencias anidadas. Casos Particulares
  • 35. La sentencia IR-A (go to) Tal creencia está tan arraigada que el GOTO es muy criticado y desaconsejado por todos los que se dedican a la enseñanza de la programación. Si bien la instrucción GOTO puede parecer útil y muy flexible, es precisamente en esa flexibilidad donde radica su peligro y los motivos de su obsolescencia. 6.5 Estructura de selección. Sentencias anidadas. Casos Particulares
  • 36. En un algoritmo puede existir y es muy frecuente que existan 2 o más bucles. Dependiendo de la forma en que estén dispuestos, estos pueden ser anidados o independientes. Decimos que los bucles están anidados cuando están dispuestos de forma tal que unos son interiores a otros; y los bucles serán independientes cuando son extremos unos con otros. Así como se podían anidar estructuras de selección, también es posible insertar un bucle dentro de otro. Las reglas para construir estructuras repetitivas anidadas son iguales en ambos casos: la estructura interna debe estar incluida totalmente dentro de la externa y no puede existir solapamiento. Diseño de bucles. Bucles Anidados
  • 37. Diseño de bucles. Bucles Anidados INDEPENDIENTES ANIDADAS PERMITIDAS Y PROHIBIDAS NIDOS CRUZADOS SALIR DEL BUCLE ENTRAR AL BUCLE
  • 38. Diseño de bucles. Bucles Anidados