Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tipo de
Ejemplos Espacios en memoria
arreglo
Pseudocódigo Lenguaje C
Pseudocódigo Lenguaje C
Tipo_dato identif_arreglo[tam_arreglo] Tipo_dato identif_arreglo[tam_arreglo];
Donde:
Tipo_dato se refiere al tipo de dato de cada elemento del arreglo; puede ser
entero, real, carácter, etc.
Identif_arreglo es el nombre que representa a todo el arreglo
Tam_arreglo es la cantidad de elementos que contiene el arreglo.
Representación en memoria de un
arreglo entero lista [4]
Posición de la memoria 1000 1001 1002 1003 1004 1005 1006 1007
lista 0 1 2 3
Representación en memoria de un
arreglo real [8]
Pseudocódigo Lenguaje C
Real x[8] Float x[8];
Cx[6]/2 Cx[6]/2;
El subíndice debe ser un entero o una
expresión cuyo resultado sea entero
Pseudocódigo Lenguaje C
Pseudocódigo Lenguaje C
Tipo_dato identif[tam_arreglo][valores] int lista[5]={10,17,8,4,9};
Entero lista[5]{10,17,8,4,9}
Lectura e impresión de una arreglo
unidimensional
Pseudocódigo Lenguaje C
#include<stdio.h>
Principal() #include<conio.h>
Inicio
Entero lista [10], i main()
{
Desde (i0, i<=9, ii+1) int lista [10], i;
Inicio For (i=0, i<=9, i++)
Imprimir “Dame el elemento” {
Leer lista[i] cout <<“Dame el elemento”;
fin cin>>lista[i];
Imprimir “elementos de la lista” fin
Desde (i0, i<=9, ii+1) cout<<“elementos de la lista”;
Imprimir lista[i] For (i=0, i<=9, i++)
cout<< lista[i];
Fin System(“PAUSE”);
Return 0;
}
Modificación de un elemento del arreglo
unidimensional
Pseudocódigo Lenguaje C
Tipo_dato identif_arr[pos]valor Tipo_dato identif_arr[pos]= valor;
Entero b[3]18 int b[3]= 18;
Arreglos de caracteres
Son necesarios para la implementación de cadenas de
caracteres. Una cadena de texto es un conjunto de caracteres.
Pseudocódigo Lenguaje C
Pseudocódigo Lenguaje C
Posición memoria 1315 1316 1317 1318 1319 1320 1321 1322 1323
Contenido L e n g u a j e \0
Elemento del arreglo Cad[0] Cad[1] Cad[2] Cad[3] Cad[4] Cad[5] Cad[6] Cad[7] Cad[8]
Carácter nulo
Inicializar un arreglo de 10 elementos,
realizar e imprimir la suma
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
Entero x [10]{6,7,9,2,4,7,4,3,2,9}
Entero i, s0 main()
{
Desde (i0, i<10, ii+1) int x [10]={6,7,9,2,4,7,4,3,2,9};
ss+x[i] int i, s=0;
Imprimir “La suma es”,s for (i=0, i<10, i++)
Fin s+=x[i];
Cout<<“La suma es”<<s;
System(“PAUSE”);
Return 0;
}
posición 0 1 2 3 4 5 6 7 8 9 elementos
6 7 9 2 4 7 4 3 2 9
Almacenar la edad de todos los alumnos de un salón de
clases y posteriormente imprimir la edad de alguno de ellos
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
Entero alumn[45],total_a,i
Imprimir “total de alumnos:” main()
Leer total_a {
Desde (i0, i<total_a, ii+1) int alumn[45],total_a,i;
inicio Cout<< “total de alumnos:”;
Imprimir “Dame la edad del alumno”,i+1 Leer total_a;
Leer alumn[i] Desde (i=0, i<total_a, i++)
Fin {
Imprimir “De que alumno desea la Cout<< “Dame la edad del alumno”,i+1;
edad?” Cin>>alumn[i];
Leer i }
Imprimir “La edad”,i,”es:”,alumn[i-1] Cout<<“De que alumno desea la edad?”;
Fin Cin>>i;
Cout<< “La edad”<<i<<”es:”<<alumn[i-1];
System(“PAUSE”);
Return 0;
}
Calcule el promedio de las calificaciones de las materias del
semestre anterior, usando un arreglo para almacenar todas las
calificaciones y el promedio guárdelo en la siguiente posición
después de la última calificación
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
real cal[10],prom0
Entero i, mat main()
Imprimir “Cuantas materias llevas(max9)” {
Leer mat float cal[10],prom=0;
Desde (i0, i<mat, ii+1) int i, mat;
inicio Cout<< “Cuantas materias llevas(max9)”;
Imprimir “Calificación de la ”,i+1,”materia” Cin>> mat;
Leer cal[i] for (i=0, i<mat, i++)
{
promprom + cal[i] Cout<< “Calificación de la
Fin ”<<i+1<<”materia”<<endl;
Cal[mat]prom/mat Cin>> cal[i];
Imprimir”el promedioes”,cal[mat] prom=prom + cal[i];
Fin }
cal[mat]=prom/mat;
Cout<<”el promedio es”<<cal[mat]<<endl;
System(“PAUSE”);
Return 0;
}
Almacene en un arreglo n elementos de tipo entero, calcule el
cuadrado de cada uno de los elementos y guárdelo en un segundo
arreglo. Imprimir ambos vectores.
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
Entero x[10],y[10],i,n #include<math.h>
Imprimir “Dame el tamaño del arreglo” main()
{
Leer n int x[10],,i,n;
Desde (i0, i<n, ii+1) Float y[10];
inicio Cout<<“Dame el tamaño del arreglo”;
Imprimir “Dame un numero” Cin>> n;
Leer x[i] For (i=0, i<n, i++)
{
y[i]cuadrado x[i] Cout<< “Dame un numero”;
Fin Cin>> x[i];
Imprimir”Los cuadrados son” y[i]=pow( x[i],2);
Desde (i0, i<n, ii+1) }
Imprimir x[i], y[i] Cout<<”Los cuadrados son”;
for (i=0, i<n, i++)
Cout<< x[i]<< y[i];
Fin System(“PAUSE”);
Return 0;
}
Calcular la desviación estándar S de 5 números
(desv_stan= cuadrado de la diferencia de media y cada numero de la serie y
a esto dividirlo entre el total de valores ingresados)
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
Entero num[5], i #include<math.h>
main()
Real s0, m0 {
Imprimir “Introduce los 5 números” int num[5], i;
Desde (i0, i<5, ii+1) float s=0.0, m=0.0;
inicio Cout<< “Introduce los 5 números”<<endl;
Leer num[i] for (i=0, i<5, i++)
{
Mm+num[i] Cin>> num[i];
Fin M+=num[i];
mm/5 }
Desde (i0, i<5, ii+1) m=m/5 ;
for (i=0, i<5, i++)
ss + cuadrado(m-num[i]) s+=pow((m-num[i],2);
sraizcuad(s/5) s=sqrt(s/5);
Imprimir “la media es:”, m Cout<< “la media es:”<< m<<endl;
Imprimir “la desviación estándar es”,s Cout<< “la desviación estándar es”<<s<<endl;
System(“PAUSE”);
Return 0;
Fin }
Almacenar en un vector, n elementos[máximo 30] e
insertar un elemento ni en la posición pos, recorriendo
los siguientes elementos una posición a la derecha
Pseudocódigo Lenguaje C
Constante MAX30 #include<stdio.h>
#include<conio.h>
Principal() #define MAX 30
Inicio main()
Entero lista[MAX], i,ni,n,pos {
int lista[MAX], i,ni,n,pos;
Imprimir “Dame el tamaño del arreglo” Cout<< “Dame el tamaño del arreglo”<<endl;
Leer n Cin>>n;
Imprimir “Dame el numero a insertar” Cout<< “Dame el numero a insertar”<<endl;
Leer ni Cin>> ni;
Cout<< “Dame la posición”<<endl;
Imprimir “Dame la posición” Cin>> pos;
Leer pos for (i=0, i<n, i++)
Desde (i0, i<n, ii+1) {
Cout<<“Dame el valor cuya posición es:”<< i<<endl;
inicio Cin>> lista[i];
Imprimir“Dame el valor cuya posicion es:”, i }
Leer lista[i] for (i=n; i>pos; i--)
Lista[i]=lista[i-1];
fin Lista[pos]=ni;
Desde (in, i>pos, ii-1) for (i=0; i<=n; i++)
Cout<<lista[i]<<endl;
Lista[i]lista[i-1] System(“PAUSE”);
Lista[pos]ni Return 0;
}
Desde (i0, i<=n, ii+1)
Imprimir lista[i]
Fin
Almacene en un arreglo a, un conjunto de n elementos
de tipo entero (max 15) almacenar en el arreglo b los
elementos del arreglo a en forma invertida
Pseudocódigo Lenguaje C
Principal() #include<stdio.h>
Inicio #include<conio.h>
Entero a[15],b[15],n,i,j
Imprimir “total de números” main()
{
Leer n int a[15],b[15],n,i,j;
Desde (i0, i<n, ii+1) Cout<< “total de números”<<endl;
Leer a[i] Cin>> n;
Desde (i0, jn-1; i<n,j>=0;ii+1,jj-1) for (i=0; i<n, i++)
Cin>> a[i];
b[i]a[j] for (i=0, j=n-1; i<n,j>=0;i++,j--)
Desde (i0, i<n, ii+1) b[i]=a[j];
Imprimir a[i] for (i=0, i<n, i++)
Desde (i0, i<n, ii+1) Cout<< a[i]<<endl;
for (i=0, i<n, i++
Imprimir b[i] Cout<< b[i]<<endl;
Fin System(“PAUSE”);
Return 0;
}
Ejercicio Laboratorio
Abstracción Herencia
Atributos
Instancia
Clases y objetos
Mensaje
Clase base
Método
Clase derivada
Operaciones
Comportamiento
Polimorfismo
Correspondencia entre
Reutilización
objetos
Reusabilidad
Encapsulamiento
Sobrecarga
Estado
TAD
Función miembro
Variable de instancia
Programación Estructurada (P.E) – Programación
Orientada a Objetos
P.E P.O.O
Comportamiento=Funciones
Persona.CaminaconAceleracion(…)
Persona.CaminaconRetardo()
Existe separación entre los datos “Combina en una sola entidad (objeto), los
datos y funciones”.
y las funciones.
Programación Orientada a objetos (POO)
OBJETOS
DATOS 1
DATOS 2
DATOS 3
FUNCIONES
FUNCION 1()
FUNCION 2 ()
EJEMPLO DE UN OBJETO
ALUMNO AUTO
Cod_matricula num_matricula
Edad fabricante
Fecha_nac Precio_compra
Mostrar_fecha_nac () acelerar ()
mostrar_edad ()
Frenar ()
Matricular ()
Estacionar ()
Estudiar ()
Función Miembro
OBJETO 1
DATOS
Es la forma como
se comunican los Función miembro 1
objetos Función miembro 1
OBJETO 2
OBJETO 3 DATOS
DATOS
Función miembro 1
Función miembro 1
Función miembro 1
Función miembro 1
Tipo abstracto de dato (TAD)
class Equipo_fulbito {
// atributos
entero jugadores;
cadena_caracteres color_camiseta;
entero partidos_jugados;
entero tiempo_de_juego;
// operaciones (métodos)
reemplazar_jugador();
entero tiempo_suplementario(); }
Métodos
Llegada
De
mensajes
Métodos
Clases y objetos
Nivel abstracto:
La clase se representa como una interfaz, describiendo los
métodos, que realizan sus objetos.
La vista abstracta de la clase como una interfaz,
proporciona una vista de salida mientras oculta su
estructura interna y detalles de comportamiento.
Nivel de instrumentación:
Vista interior de la clase, mostrando la organización de los
datos en dos secciones principales: pública, privada.
Modo de acceso a elementos objeto
OBJETO
PRIVADO NO
ACCESIBLE
DATOS O DESDE EL
FUNCIONES EXTERIOR
PÚBLICO ACCESIBLE
DATOS O DESDE EL
FUNCIONES EXTERIOR
(INTERFAZ
PÚBLICO)
Public, Private, Protected
Las palabras :
public, private, protected
son palabras reservadas.
//publicos:
publico AsignarNombre(String nom){
nombre=nom; }
publico AsignarEdad(int e){ edad=e; }
publico Caracters ObtenerNombre(){… }
publico entero ObtenerEdad(){ return edad;};
}
Principal () {
Persona alumno=new Persona();
Persona profesor=new Persona();
alumno.AsignarNombre("Miguel");
alumno.AsignarEdad(20);
profesor.AsignarNombre("José");
Escribir("Nombre del alumno:"+alumno.ObtenerNombre());
Escribir("edad del alumno:"+alumno.ObtenerEdad());
Escribir("Nombre del profesor:"+profesor.ObtenerNombre());
}
Constructor
clase frutas {
privado:
entero datos;
publico:
frutas () { datos = 0; }
~ frutas() { }
}
Ejercicio