Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algoritmo y Estructura de Datos

No description
by

Esther Cayetano Ramos

on 5 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algoritmo y Estructura de Datos

Integrantes: Cayetano Ramos Esther


Profesor: Cordova Neri, Teodoro Algoritmo Y Estructura de datos Conclusiones: Algoritmo y Estructura de Datos ALGORITMO Se denomina algoritmo al proceso que conduce a la solución de un problema. Para resolver un problema es necesario conocer que datos son necesarios como entrada , el proceso a utilizar y además la salida que se desea obtener. características: Definición Preciso: Indica el orden de realización de cada paso.
Definido: Si se sigue dos veces, se obtiene el mismo resultado.
Finito: Tiene un fin, un numero determinado de pasos. *Un algoritmo es independiente del lenguaje de programación y para construir se utilizan herramientas como los diagramas de flujos y el pseudocódigo. DIAGRAMA DE FUJO los símbolos mas utilizados son: Inicio/termino, Proceso, Decisión Entrada/Salida, y dirección de flujos. Los símbolos de uso mas frecuentes son los que se muestran en la figura siguiente: Es una representación gráfica de un algoritmo PSEUDOCODIGO Es una herramienta para la construcción de algoritmos en la que las instrucciones se escriben usando palabras de uso cotidiano que expresan de forma clara y entendible las acciones a realizarse. ejemplo: pseudocódigo para calcular el area de un triangulo INICIO Declarar las variables b,h area
Ingresar la base b
Ingresar la altura h
calcular Area =(b*h)/2
Imprimir "El area es=",area
Fin Aula: C-309 Temas a desarrollar: Concepto de Algoritmo y programas Método de programación estructurada

*Múltiple
*Secuenciales
*Selectivas
*Repetitivas Estructura de Datos(Arreglos)

*Unidimensionales (vectores o listas) *Multidimensionales ( tablas o matrices) Concepto de Algoritmo y programas Estructuras de Datos (ARREGLOS) Un arreglo es un grupo de variables del mismo tipo en cada variable representa un elemento del arreglo. características: * todos sus elementos tienen un mismo nombre *usando el índice puede tenerse acceso directo a cualquier elemento del arreglo los arreglos pueden clasificarse:

Unidimensional: Un solo índice(lista o vectores)
Bidimensionales: Dos índices(tablas o matrices)
Tridimensional:tres índices. Método de programación estructurada Estructuras Múltiples Estructuras Secuenciales Estructuras Selectivas Estructuras Repetitivas La estructura de selección múltiple switch o casos, permite al usuario elegir una entre varias alternativas posibles, evaluando para ello una expresión que puede tomar n valores distintos, 1,2, 3, 4, ... , n. Diagrama de Flujo Sintaxis void main()

{ // -------------------

switch (var int o char)

{ case opc 1 : <Instrucciones 1> ; break;

case opc 2 : <Instrucciones 2> ; break;

--------------------------------------

case opc n : <Instrucciones n> ; break;



default: <Instrucciones X>;

}

} Problema: A menos que se diga lo contrario un programa es ejecutado por el compilador una instrucción después de otra, en el orden en que están escritas (ejecución en orden de secuencia). Representación en Pseudocódigo Diagrama de Flujo En este caso el compilador evalúa una expresión lógica y dependiendo del resultado ejecuta uno, dos o más bloque de instrucciones. Estructura Selectiva Simple: Evalúa una expresión lógica, si el resultado es verdadero, ejecuta el bloque de instrucciones delimitado. Pseudocódigo Diagrama de Flujo Estructura selectiva Múltiple Selecciona solo un bloque de instrucciones de múltiples o posibles a ejecutar. Evalúa una expresión, comparándola con un conjunto de posibles valores o casos de selección. Pseudocódigo: Diagrama de Flujo: Estructura Selectiva Doble: Evalúa una expresión lógica, si el resultado es verdadero se ejecuta el primer bloque inmediato al token si, caso contrario (si es falso), se ejecuta el segundo bloque de instrucciones escritos a continuación del token si_no. Pseudocódigo Diagrama de Flujo Denominadas Bucles, y como se puede deducir estas estructuras repiten o iteran un bloque de instrucciones según el resultado de la evaluación de una expresión lógica. Bucles por condición (While): Mientras/fin_mientras Pseudocódigo: Diagrama de Flujo Bucles por condición (do/while): Repetir/ hasta_que Pseudocódigo Diagrama de Flujo Bucles por contador (For): Desde/fin_desde Pseudocódigo: Diagrama de Flujo: Unidimensionales (vectores o listas) Registros Una estructura de datos es un conjunto de datos con un cierto orden.
Las estructuras de datos pueden ser dinámicas o estáticas.

Estáticas: Son aquellas a las que se le asigna una cantidad fija de memoria de acuerdo a lo definido en la sección de declaración de la variable.
Dinámicas(Punteros): son aquellas cuyo tamaño en memoria aumenta o disminuye en tiempo de ejecución de acuerdo a las necesidades del programa. Definición Estructura de Datos Objetivos Estructura de datos Unidimensionales Vectores Un arreglo unidimensional o Vector es una estructura de datos en la cual permite almacenar un conjunto de datos todos de un mismo tipo. 1.- Se puede inicializar un array con la declaración:
int a[3] = {2,1,7}
int b[5] = {1,3,6} /*inicializa los tres primeros elementos a 1,
2 y 3, y los restantes a cero*/
2.- Se puede omitir el tamaño del array:
float lista[ ]={1.0,5.1.10.4} //Declara un array de tres elementos

El vector o array nos permite manipular sus elementos individuales como si fueran cualquier tipo de variable.

Se puede tratar como operandos, asignarles valores, compararlas con otro valor, etc:

Notas_p[ i ] + notas_e[ j ];// i, j son contadores en bucles

Notas [3] =15, compara[5]<=6. Resto_d[3]%2==0 Dato[i]!=’.’ Inicialización de un arreglo Problemas: r 1.- Definir estructuras de datos tipo:

* Arreglos Unidimensionales(vectores)
* Arreglos Bidimensionales(Tablas)
* Arreglos multidimensionales(cubos)

2.-Aplicaciones de operaciones con vectores: métodos de ordenación, inserción, eliminación,
búsquedas, crear sablistas, etc. Aplicaciones

3.- Aplicaciones de operaciones con Matrices, cubos, etc. Bidimensionales ( tablas o matrices) Dados n números, const obtener e imprimir la suma max = 100; de todos ellos. A continuación type mostrar por pantalla todos los t_numeros = array[1.. max] of integer; var sumandos. Program: Ejm3:
const
max=100;
tipos
t_numeros=array[1.....max]del número entero;
var
suma,i,n:entero;
promedio: real;
numeros : t_numeros;
comenzar
suma := 0;
escribir (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´);
Leer(n);
para i:= 1 a n comenzar
comenzar
leer(numeros[i] )
suma:= suma +numeros[i];
Final;
Escribir n (´La suma es ´,suma´);
para i := 1 a n hacer
escribir n (´El sumando´, i, ´es´, números[i]);
fin Ejemplo: Calcular el promedio de cada estudiante de una lista de veinticinco alumnos de una clase de informática con notas en cuatro asignaturas. Program Promedio;
Var
Notas : Array [1..25,1..4] de real;
I,J : Entero;
Suma,Prom : Real;
Comenzar
Para I := 1 to 25 do
Comenzar
Escribir (`Notas del estudiante: ´,I:1);
Escribir n (`En una misma línea digite todas las notas´);
Suma := 0;
Para J := 1 to 4 do
Comenzar
Leer (Notas[I,J]);
Suma := Suma + Notas[I,J]
Fin;
leer n;
Prom := Suma/4
; escribir (`La nota promedio del estudiante `,I:1,´ es `,Prom:1:1)
Fin.
Fin. Programador se identifica por Usuario=100 y Clave=123. Si los datos son correctos el sistema muestra el menú principal,
DONDE:
<M> : usuario ingresa 3 números de 2 cifras y el programa devuelve el mayor
<S> : Usuario ingresa sueldo bruto y el programa devuelve sueldo neto, que resulta de descontar
al sueldo inicial el 10%
<R> : usuario ingresa 3 números a,b,c y programa devuelve la afirmación de que relación se
Cumple:
a=b+c
b=a+c
c=a+b<A>: usuario ingresa un numero de 2 cifras y el programa devuelve el factorial de tal numero
<F>: Permite salir del modo compilación o finalizar con la Aplicación
Si programador ingreso mal sus datos, el sistema finaliza enviando el mensaje:” hasta pronto------” Subprogramas Cada subprograma es en realidad un algoritmo más pequeño que aporta parte de la solución al problema principal. En estos subprogramas podemos definir variables, realizar asignaciones, realizar lectura de datos, imprimir expresiones, variables y literales, usar ciclos, vectores, decisiones, incluso invocar o llamar a otros subprogramas. Diagrama: Los subprogramas tienen dos aspectos claves.

1. Un subprograma se crea una sola vez.
Esto implica hacer el algoritmo que se encuentra en el interior del subprograma de forma que cumpla un fin específico.
2. Un subprograma se usa n veces en un subprograma
Desde cualquier parte del programa se puede llamar a un subprograma creado con el fín de ser usado, solo se necesita enviar los parámetros necesarios para su correcto funcionamiento. Instrucciones que van dentro de un subprograma

Todas las que se han trabajo.

- Definición de variables

- Realización de operaciones lógicas, matemáticas...

- Toma de decisiones if, else, elif ...

- Realización de ciclos, simples y anidados.

- Aplicación de vectores

- Utilización de funciones definidas por el sistema

- Utilización de subprogramas. Registro *Hacer un programa que muestre la conversión desde 1
hasta 10 pulgadas a centímetros, sabiendo que 1 pulgada es igual a 2.54 centímetros.

#include <iostream.h>
#include <conio.h>
/* void main()
{
int x=1;
while(x<=10){
cout<<x*2.54<<endl;
x++;
};
getch();
} void main(){
int x=1;

do{
cout<<x*2.54<<endl;
x++;
}while(x<=10);
getch();
} *Ingrese un numero y que se repita n veces

#include<iostream.h>
#include<conio.h>
void main()
{
int i,num,n;
// char nom[4]; cout<<"Ingrese el numero";
cin>>num; cout<<"Ingrese la cantidad de n veces";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<num<<endl;
}getch();
} // Hacer un programa que ingrese por teclado
// teclado dos números enteros,y que muestre
// en pantalla cual es el mayor cin>> x;
cout<<"Ingrese el segundo numero:";
cin>> y;
if (x>y){
cout<<x;

}
else{
cout<<y;
}
getch();
}
#include <iostream.h>
#include <conio.h>
void main(){
int x,y;
cout<<"Ingrese el primer numero:"; //Hacer un programa que ingrese por teclado
//un numero entero, y diga si es positivo o
//negativo #include <iostream.h>
#include <conio.h>
void main(){
int x;
cout<<"Ingrese el numero:";
cin>> x;
if (x>0){
cout<<"El numero es positivo:";
}
else{
cout<<"El numero es negativo:";
}
getch();
} Está compuesto por un conjunto de estructuras denominadas campos.
Se procesa datos en términos de: registro lógico, registro físico, campo, claves primarias, foráneas. Clave primaria.- Es un campo que identifica al registro y cuida por la unicidad de sus datos. Es un tipo de dato (int, char.). Clave foránea. – Es un campo que identifica al registro y sirve para relacionar las tablas, asimismo, permite mezclar la información respectiva. Manejo de Base de Datos: El almacenamiento y gestión de datos en una empresa, da lugar al uso de los denominados archivos informáticos y bases de datos. Para lo cual se debe iniciar con los términos semánticas de: Entidad, modelos relacionales, etc.

Entidad: objeto del mundo real, con existencia independiente y distinguible de otros, del que queremos almacenar información en la base de datos.

Atributo o Campo: propiedades específicas de cada entidad: para describirla Registro: Lógico-Físico Subprogramas Ejercicios: La conclusión a lo que se he llegado con el desarrollo de este importante curso, es a poder estructurar un programa, lo que posteriormente nos facilitará el trabajo en los cursos venideros; utilizando para esto la lógica computacional y la estructuración; llegando a lograr comprender de esta manera que existen muchas soluciones a los problemas planteados tanto aplicados a ejemplos como a la vida real. Las personas que aprenden lenguajes y técnicas de programación, tienen un propósito elemental: “Usar la computadora como una herramienta para resolver problemas”. Gracias
Full transcript