SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
UNIVERSIDAD
PEDAGOGICA NACIONAL
ALGORITMOS
P R E U F O D
Algoritmos
Es un conjunto de pasos
lógicos ordenados,
secuencialmente y finita,
escritos de tal forma que
permiten visualizar la
solución de un problema
determinado en un momento
específico.
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra
del matemático árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO: Nombre
ALGORITMO: Caracteríticas
FINITO
CONCRETO
LEGIBLE
DEFINIDO
PRECISO
NO
AMBIGUO
EFICIENTE
Debe ser...
Debe tener
terminar en algún
momento
Debe realizar las
funciones u
operaciones para
las que fue
creado.
Debe estar bien
estructurado
para su fácil
entendimiento.
Debe realizar las
operaciones con
un mínimo de
utilización de
recursos.
Debe estar libre
de errores.
(Validado)
Debe indicar un
orden de
realización de
cada paso.
Debe generar el
mismo resultado
siempre que se
siga.
ALGORITMO: Estructura
Datos
Procesos
Estructuras
de Control
Corresponden a los
datos requeridos
para realizar el
algoritmo (datos de
entrada) y los datos
que son generados
(datos de salida)
Conforma el grupo
de instrucciones
que realizan las
operaciones con los
datos.
Determinan la
organización de las
instrucciones que
deben ser
realizadas.
ALGORITMO: Elementos
Definición
de variables y
constantes
Proceso
Estructuras
de control
Entrada Salida
Es necesario
identificar que
datos se necesitan
ingresar, cuales
sirven de forma
auxiliar y cuales se
van a generar.
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Cuerpo del algoritmo
ALGORITMO: Quienes pueden
hacer un algoritmo?
Toda persona, implícitamente
y diariamente diseña y realiza
algoritmos, para dar solución
a situaciones cotidianas de
forma natural.
Sin embargo el programador,
diseña el algoritmo conciente
de que al realizar cada paso
obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
Supongamos que
deseamos ir al cine la
película The Matrix, ¿cómo
procedemos?
Buscar la página de cines
en el diario local y mirar si
ve la película anunciada. Si
la ve anunciada mira en qué
cine la hacen y se va a
verla. Si no la ve anunciada,
espera a los estrenos de
lasemana que viene.
El no programador haría lo siguiente:
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
Buscar la página de cines en el diario
local, con fecha de hoy
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título The Matrix, no seguir
buscando. Apuntar el nombre del cine, su
dirección y los horarios
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
1
2
3
4
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Encender un automóvil
ALGORITMO: Otro ejemplo
ALGORITMO: Requisitos
Los algoritmos se crean
para resolver
problemas.
Es importante que junto
al algoritmo,
describamos claramente
el problema que éste nos
permite resolver.
No debemos omitir el
contexto de nuestros
algoritmos.
Es necesario establecer
lo que se necesita y
dónde se debe comenzar.
Seguir los pasos del
algoritmo debe llevarnos
a la resolución del
problema.
Siempre que sea posible
seguiremos
personalmente los pasos
de nuestro algoritmo
para comprobar que son
efectivamente correctos y
conducen efectivamente a
la solución esperada.
Por ejemplo:
Si se requiere hallar la
velocidad de un automóvil,
es necesario, definir si la
distancia debe ser en
metros, kilómetros, etc y
el tiempo estará dado en
segundos u horas, ya que
la velocidad puede
representarse en Km/h ó
mts/seg.
Debe Definirse del
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Diseño
Es una técnica de diseño
descendente donde se
realiza un refinamiento
sucesivo, que permite
darle una organización a
las instrucciones, en
forma de módulos o
bloques.
Está técnica permite
dividir el problema en
pequeñas partes, a las
cuales se les da solución
por separado, luego se
integran las soluciones
para resolver el problema
principal.
Top Down
Divide y vencerás
ALGORITMO: Técnicas de Representación
Es una técnica que
permite representar
gráficamente las
operaciones y
estructuras que se van a
realizar, mediante una
simbología estándar, con
un único punto de inicio y
uno de finalización.
Está técnica permite
representar el algoritmo
mediante un lenguaje
más estructurado,
facilitando su posterior
codificación.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
.
.
.
Instrucción n
Fin
PSEUDOCÓDIGO:Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
1
2
3
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Fin: Denota el punto de finalización del algoritmo.
Se utiliza para
indicar el punto de
inicio y finalización
del diagrama
DIAGRAMA DE FLUJO: Simbología
Permite indicar la
Entrada de datos
desde
un dispositivo
estándar
Inicio
Fin
Lectura
Captura Permite indicar la
realización
de un proceso
matemático,
o una operación de
asignación
Proceso
Indica la realización de
operaciones de salida
a un
dispositivo estándar
(el monitor o
impresor.)
DIAGRAMA DE FLUJO: Simbología
Permite establecer una
condición relacional ó
lógica que puede tomar
un valor de verdadero o
falso, de este símbolo se
deducen 2 flujos
alternativos de
ejecución.
Impresión
Decisión Permiten dar continuidad
al diagrama si la página
o área de trabajo esta
llena, el círculo se
utiliza como un conector
dentro de la misma
página, el otro símbolo
se define como un
conector a otra página.
Conectores Permiten enlazar los
símbolos de un sentido
único pueden ser
horizontales o verticales.
Estas no pueden
entrecruzarse y cada una
de ellas debe tener un
único símbolo de partida
y un único símbolo de
destino.
Flujo
Condición
Si
No
Condición
Si No
Si condición entonces
Instrucciones
DIAGRAMA DE FLUJO: Simbología
Estructuras de Decisión (Condición)
Si condición entonces
Instrucciones
si no
Instrucciones
Decisión Simple
Decisión
Compuesta
Condición
Si No
Condición
No
Condición
Si No
Decisión
Anidada
Si condición entonces
Si condición entonces
Instrucciones
si no
Si condición entonces
Instrucciones
si no
Instrucciones
Caso condición
Val1:
Instrucciones
Val2:
Instrucciones
Val3:
Instrucciones
Otros:
Instrucciones
Fin Caso
Decisión Múltiple
Condición
Si
No
Condición
Val3
Val1 Val2 Otro
Condición
Si
No
Instrucciones
.
.
.
Mientras que condición
Instrucciones
Fin Mientras
.
.
.
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
.
.
.
Repita
Instrucciones
Hasta que condición
.
.
.
Ciclo Mientras
Ciclo Hasta
Ciclo Para .
.
.
Para v=valini, v=valfinal, inc
Instrucciones
Fin Para
.
.
.
v: variable
valini: valor inicial
valfinal: valor final
inc: incremento
Condición
Si
No
Instrucciones
Instrucciones
v=valini,v=valfinal, incremento
ALGORITMO: Fases de Diseño
Análisis del problema
Definición del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
Algo
ritm
o
ALGORITMO: Definición del Problema
Está dada por el enunciado
del problema, el cuál debe
ser claro y completo
Es importante que
conozcamos exactamente
que se desea.
Mientras qué esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
Proceso
ALGORITMO: Análisis del Problema
Entendido el problema para
resolverlo es preciso analizar
Los datos de
salida o
resultados que
se esperan
Los datos de
entrada que nos
suministran
Área
de
Trabajo
Fórmulas
Recursos
ALGORITMO: Selección de Alternativa
Analizado el problema
Posiblemente tengamos
varias formas de resolverlo
Solución ..1
Solución ..2
Solución ..3
Solución ..5
Lo importante es
determinar cuál
es la mejor alternativa
La que produce los
resultados Esperados en el
menor tiempo y al menor
costo
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
ALGORITMO: Diagramación
Una vez que
sabemos
cómo resolver el
problema
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Dar diferentes datos
de entrada al programa
seguir la secuencia
indicada
hasta
obtener los resultados
Se utiliza para
corroborar que el
algoritmo plasmado
en cualquier
herramienta presenta
la solución al
problema inicial
Al realizar lo anterior se
puede comprobar si el
algoritmo es correcto o
si hay necesidad
de hacer ajustes
(volver al paso anterior)
Es Recomendable
Dar diferentes datos de
entrada y considerar todos
los posibles casos, aún los
de excepción o no
esperados, para asegurar
que el programa no
produzca errores en
ejecución cuando se
presenten estos casos.
ALGORITMO: Conceptos
Minima parte de la
información.
Se refiere a los
elementos que se
utilizan en los
algoritmos para realizar
alguna operación sobre
estos.
Corresponde al tipo de
valor que puede
almacenarse en un
espacio de memoria
definido y a la cantidad
de espacio que requiere
para almacenar un valor.
Dato
Tipo de Dato
Corresponde a un
espacio de memoria que
almacena un dato que
dentro del programa en
ejecución cambia o varía
su contenido (valor)..
Variable
Corresponde a un
espacio de memoria que
almacena un dato que
dentro del programa en
ejecución mantiene
siempre su contenido
(valor).
Constante
Tipos
de
Datos
ALGORITMO: Tipos de Datos
Caracter
Real
Entero
Boleano
cadena
Numéricos
Lógicos
Carácter
ALGORITMO: Operadores
Aritméticos
Lógicos
Relacionales
+
-
>
<
=
No
Y &&
O ||
/
^
%
>=
<=
!=
<>
Clasificación de los tipos de datos según su estructura:
- Simples:
- Estándar (entero, real, carácter, booleano)
-No estándar (enumeración, subrango)
- Estructurados:
- Estáticos (arrays, cadena, registros, ficheros, conjuntos
- Dinámicos (punteros, listas enlazadas, árboles, grafos
INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS
Pilas
Colas
Los tipos simples son cuando cada dato representa un único elemento:
- Estándar: Están definidos por defecto por el lenguaje.
- No estándar: Tipos simples definidos por el usuario.
Los tipos de datos estructurados, son cuándo un dato es una estructura que se
construyen a partir de otros complementos.
•Estáticos: Ocupan un tamaño de memoria fijo, que tengo que definir antes de declararlo
.
•Dinámicos: La estructura no ocupa un tamaño fijo de memoria, sino que ocupa la memoria
que ocupa en cada momento. Se van a manejar a través del tipo de dato puntero.
ARRAYS UNIDIMENSIONALES: VECTORES.
Un array unidimensional, o lineal, o vector, es un conjunto finito y ordenado de
elementos homogéneos.
Es finito porque tiene un número determinado de elementos. Homogéneo porque todos los
elementos almacenados van a ser del mismo tipo.
Ordenado porque vamos a poder acceder a cada elemento del array de manera
independiente porque va a haber una forma de referenciar cada elemento.
Los arrays se almacenan siempre en posiciones consecutivas de memoria y podemos acceder
a cada elemento del array de manera independiente a través de los índices. Un índice no tiene
porque ser un valor constante, sino que puede ser también una variable o una expresión que
al ser evaluada devuelva ese índice.
A la hora de definir un array siempre habrá que dar el nombre del array, el rango de sus
índices y el tipo de los datos que contiene, y para hacer esa declaración, se utiliza la
siguiente nomenclatura.
<nom_array>: array [LI .. LS] de <tipo>
sueldo: array [1 .. 8] de real
sueldo: array [1990 .. 1997] de real
sueldo [1992]  100000
I: entero
I  1992
Sueldo [I]
Sueldo [I+2]
OPERACIONES CON ARRAYS UNIDIMENSIONALES O VECTORES
1.- Asignación de un dato a una posición concreta del array:
<nom_array>[indice]  valor
1 2 3 4 5 6 7 8 9 10 11 12
Ventas [3]  800000
leer <nom_array>[indice]
escribir <nom_array>[indice]
desde i=1 hasta 12
escribir “Introduce las ventas del mes”i
leer ventas [i]
fin desde
desde i=1 hasta 12
escribir “Ventas del mes”i”=”ventas [i]
fin desde
2.- Lectura y escritura de datos:
Utilizando diferente Ciclos
Hacer para I =1 hasta 12
leer ventas [ I ]
Fin para
Hacer mientras I <= 12
Leer ventas [ I ]
Fin mientras
I =1
Repetir
Leer vec[ i ] I = I + 1
Hasta que
3. Recorrido o acceso secuencial de un array:
- Consiste en pasar por todas las posiciones del array para procesar su información.
Desde i=1 hasta 12
Ventas [i]  ventas [i] + 1000000
Fin desde
4. Actualización de un array:
1º) Añadir datos:
Es un caso especial de la operación de inserción de un elemento en un array, pero el
elemento lo ingresamos después de la última posición que contiene información válida en
el array.
Para que esto se pueda hacer es necesario que si actualmente el array tiene K
posiciones de información válida, tenga un tamaño de al menos K+1 para que pueda
añadir otro elemento a continuación de K.
<nom_array>[K+1]  valor
2º) Inserción de datos:
Consiste en introducir un elemento en el interior de un array para lo cual será necesario desplazar
todos los elementos situados a la derecha del que vamos a insertar una posición a la derecha
con el fin de conservar el orden relativo entre ellos.
Para que se pueda insertar un nuevo elemento en el array si ya existen N elementos con
información en el array, el array tendrá que tener un tamaño de cómo mínimo N+1 para poder
insertar el elemento.
C E F J M O
“G”
Siendo K la posición en la que tengo que insertar el nuevo elemento y N el número de elementos
válidos en el array en el momento de la inserción y siempre suponiendo de N+1, el algoritmo de
inserción será:
Desde i=N hasta K
A[I+1]  A[I]
Fin desde
A[K]  valor
3º) Borrar datos:
Para eliminar un elemento de un array si ese elemento está posicionado al final del array,
no hay ningún problema, simplemente si el tamaño del array era N, ahora hay que considerar que
el tamaño del array es N-1.
Si el elemento a borrar ocupa cualquier otra posición entonces tendré que desplazar
todos los elementos situados a la derecha del que quiero borrar una posición hacia la izquierda
para que el array quede organizado.
C E F J M O
Borrar J.
Suponiendo que el número de elementos validos actualmente es N y
que quiero borrar el elemento de la posición K.
Desde i=K hasta N-1
A[I]  A[I+1]
Fin desde
Para indicar que el número de elementos validos es N, podríamos indicarlo como N  N-1.
ARRAYS BIDIMENSIONALES O MATRICES
En un array unidimensional o vector cada elemento se referencia por un índice, en un array
bidimensional cada elemento se va a referenciar por 2 índices, y ahora la representación lógica
ya no va a ser un vector, sino una matriz.
Un array bidimensional de M*N elementos es un conjunto de M*N elementos todos del mismo
tipo, cada uno de los cuales se referencia a través de 2 subíndices.
El primer subíndice podrá variar entre 1 y M si hemos empezado a numerar los índices por 1, y
el segundo índice variará entre 1 y N, si hemos empezado a numerar
los índices por el 1.
Y más en general podemos definir un array de 2 dimensiones de la siguiente manera.
<nom_array>: array [LI1..LS2,LI2..LS2] de <tipo>
<var_array>[I , J]
LI1 <= I <= LS1
LI2 <= J <= LS2
El tamaño del array será (LS1-LI1 +1)*(LS2-LI2 +1)
Ventas de cada mes de 1990 a 1995:
Ventas: array [1990..1995,1..12] de real
6*12=72
La representación lógica de un array bidimensional es una matriz de dimensiones M*N donde M
es el número de filas de la matriz y N es el número de columnas, es decir, la 1ª dimensión
indicaría las filas y la 2ª dimensión indicaría las columnas, es decir, al intentar acceder a un
elemento I,J estaríamos accediendo al elemento que ocupa la fila I y la columna J.
En memoria, sin embargo todos los elementos del array se almacenan en posiciones
contiguas pero nosotros lo vemos como una matriz.
1990
1991
1992
1993 X
1994
1995
Ventas [1993,3]
En memoria estaría almacenado todo seguido:
REPRESENTACION GRAFICA DE UNA MATRIZ
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
RENGLONES (R)
COLUMNAS ( C )
MATRIZ [R,C)
Llenando una matriz:
Por renglones:
Hacer para R= 1 a 3
Hacer para C= 1 a 3
leer Mat (R,C)
Fin para
Fin para
Por columnas
Hacer para C = 1 a 3
Hacer para R= 1 a 3
leer Mat (R,C)
Fin para
Fin para

Más contenido relacionado

Similar a presentacionalgoritmos-111003021701-phpapp01.pdf

Similar a presentacionalgoritmos-111003021701-phpapp01.pdf (20)

Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Tema 5 1
Tema 5 1Tema 5 1
Tema 5 1
 
Unidad algoritmos y df
Unidad algoritmos y dfUnidad algoritmos y df
Unidad algoritmos y df
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Tema 5
Tema 5Tema 5
Tema 5
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
1 Problemas
1 Problemas1 Problemas
1 Problemas
 
Guía de algoritmos teoría
Guía de algoritmos teoríaGuía de algoritmos teoría
Guía de algoritmos teoría
 
EL ALGORITMO
EL ALGORITMOEL ALGORITMO
EL ALGORITMO
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
CURSO HERRAMIENTAS INFORMATICAS
CURSO HERRAMIENTAS INFORMATICASCURSO HERRAMIENTAS INFORMATICAS
CURSO HERRAMIENTAS INFORMATICAS
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Tema 5
Tema 5Tema 5
Tema 5
 
preguntas y respuestas
preguntas y respuestas preguntas y respuestas
preguntas y respuestas
 

Más de MariselaBardales1

Más de MariselaBardales1 (18)

1 - Programacion III - 7 de febrero 2022.pdf
1 - Programacion III - 7 de febrero 2022.pdf1 - Programacion III - 7 de febrero 2022.pdf
1 - Programacion III - 7 de febrero 2022.pdf
 
PROGRAMACION.pptx
PROGRAMACION.pptxPROGRAMACION.pptx
PROGRAMACION.pptx
 
brief.pptx
brief.pptxbrief.pptx
brief.pptx
 
redes computadoras-.pptx
redes computadoras-.pptxredes computadoras-.pptx
redes computadoras-.pptx
 
html-.pptx
html-.pptxhtml-.pptx
html-.pptx
 
INTRODUCCION AL DISEÑO WEB.pptx
INTRODUCCION AL DISEÑO WEB.pptxINTRODUCCION AL DISEÑO WEB.pptx
INTRODUCCION AL DISEÑO WEB.pptx
 
APRENDIZAJE BASADO EN PROYECTOS.pptx
APRENDIZAJE BASADO EN PROYECTOS.pptxAPRENDIZAJE BASADO EN PROYECTOS.pptx
APRENDIZAJE BASADO EN PROYECTOS.pptx
 
ANALISIS CRITICO FACEBOOK.pdf
ANALISIS CRITICO FACEBOOK.pdfANALISIS CRITICO FACEBOOK.pdf
ANALISIS CRITICO FACEBOOK.pdf
 
etica.pptx
etica.pptxetica.pptx
etica.pptx
 
ACTITUD MENTAL POSITIVA.pptx
ACTITUD MENTAL POSITIVA.pptxACTITUD MENTAL POSITIVA.pptx
ACTITUD MENTAL POSITIVA.pptx
 
ETICA PROFESIONAL.pptx
ETICA PROFESIONAL.pptxETICA PROFESIONAL.pptx
ETICA PROFESIONAL.pptx
 
ANALISIS Y DISEÑO DE SISTEMAS.pptx
ANALISIS Y DISEÑO DE SISTEMAS.pptxANALISIS Y DISEÑO DE SISTEMAS.pptx
ANALISIS Y DISEÑO DE SISTEMAS.pptx
 
Anàlisis y Diseño. II Parcial. 040523.pptx
Anàlisis y Diseño. II Parcial. 040523.pptxAnàlisis y Diseño. II Parcial. 040523.pptx
Anàlisis y Diseño. II Parcial. 040523.pptx
 
ANÀLISIS.pptx
ANÀLISIS.pptxANÀLISIS.pptx
ANÀLISIS.pptx
 
MAPA CONCEPTUAL.pptx
MAPA CONCEPTUAL.pptxMAPA CONCEPTUAL.pptx
MAPA CONCEPTUAL.pptx
 
Técnicas de Recopilación de Información.pptx
Técnicas de Recopilación de Información.pptxTécnicas de Recopilación de Información.pptx
Técnicas de Recopilación de Información.pptx
 
DFD.pptx
DFD.pptxDFD.pptx
DFD.pptx
 
ETICAPRFESIONAL.pptx
ETICAPRFESIONAL.pptxETICAPRFESIONAL.pptx
ETICAPRFESIONAL.pptx
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 

presentacionalgoritmos-111003021701-phpapp01.pdf

  • 2. Algoritmos Es un conjunto de pasos lógicos ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico.
  • 3. El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum. ALGORITMO: Nombre
  • 4. ALGORITMO: Caracteríticas FINITO CONCRETO LEGIBLE DEFINIDO PRECISO NO AMBIGUO EFICIENTE Debe ser... Debe tener terminar en algún momento Debe realizar las funciones u operaciones para las que fue creado. Debe estar bien estructurado para su fácil entendimiento. Debe realizar las operaciones con un mínimo de utilización de recursos. Debe estar libre de errores. (Validado) Debe indicar un orden de realización de cada paso. Debe generar el mismo resultado siempre que se siga.
  • 5. ALGORITMO: Estructura Datos Procesos Estructuras de Control Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida) Conforma el grupo de instrucciones que realizan las operaciones con los datos. Determinan la organización de las instrucciones que deben ser realizadas.
  • 6. ALGORITMO: Elementos Definición de variables y constantes Proceso Estructuras de control Entrada Salida Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar. Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado. Cuerpo del algoritmo
  • 7. ALGORITMO: Quienes pueden hacer un algoritmo? Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural. Sin embargo el programador, diseña el algoritmo conciente de que al realizar cada paso obtendrá la solución de un problema específico.
  • 8. ALGORITMO: Cómo se hace? Supongamos que deseamos ir al cine la película The Matrix, ¿cómo procedemos? Buscar la página de cines en el diario local y mirar si ve la película anunciada. Si la ve anunciada mira en qué cine la hacen y se va a verla. Si no la ve anunciada, espera a los estrenos de lasemana que viene. El no programador haría lo siguiente:
  • 9. ALGORITMO: Cómo se hace? El programador sin embargo, lo haría de este otro modo: Buscar la página de cines en el diario local, con fecha de hoy Revisar la cartelera de arriba abajo y de izquierda a derecha, buscando entre los títulos existentes. Si se encuentra el título The Matrix, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista. 1 2 3 4
  • 10. 1. Poner la llave. 2. Asegurarse que el cambio esté en neutro. 3. Pisar el el acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). 7. Si el auto no arranca, llamar a la grúa. Encender un automóvil ALGORITMO: Otro ejemplo
  • 11. ALGORITMO: Requisitos Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver. No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dónde se debe comenzar. Seguir los pasos del algoritmo debe llevarnos a la resolución del problema. Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que son efectivamente correctos y conducen efectivamente a la solución esperada. Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km/h ó mts/seg. Debe Definirse del problema Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad
  • 12. ALGORITMO: Técnicas de Diseño Es una técnica de diseño descendente donde se realiza un refinamiento sucesivo, que permite darle una organización a las instrucciones, en forma de módulos o bloques. Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal. Top Down Divide y vencerás
  • 13. ALGORITMO: Técnicas de Representación Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización. Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación. Diagrama de Flujo Pseudocódigo Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . . . Instrucción n Fin
  • 14. PSEUDOCÓDIGO:Cómo se Hace? Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc. Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc. 1 2 3
  • 15. PSEUDOCÓDIGO:Cómo se Hace? Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada. Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Fin: Denota el punto de finalización del algoritmo.
  • 16. Se utiliza para indicar el punto de inicio y finalización del diagrama DIAGRAMA DE FLUJO: Simbología Permite indicar la Entrada de datos desde un dispositivo estándar Inicio Fin Lectura Captura Permite indicar la realización de un proceso matemático, o una operación de asignación Proceso
  • 17. Indica la realización de operaciones de salida a un dispositivo estándar (el monitor o impresor.) DIAGRAMA DE FLUJO: Simbología Permite establecer una condición relacional ó lógica que puede tomar un valor de verdadero o falso, de este símbolo se deducen 2 flujos alternativos de ejecución. Impresión Decisión Permiten dar continuidad al diagrama si la página o área de trabajo esta llena, el círculo se utiliza como un conector dentro de la misma página, el otro símbolo se define como un conector a otra página. Conectores Permiten enlazar los símbolos de un sentido único pueden ser horizontales o verticales. Estas no pueden entrecruzarse y cada una de ellas debe tener un único símbolo de partida y un único símbolo de destino. Flujo
  • 18. Condición Si No Condición Si No Si condición entonces Instrucciones DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Si condición entonces Instrucciones si no Instrucciones Decisión Simple Decisión Compuesta Condición Si No Condición No Condición Si No Decisión Anidada Si condición entonces Si condición entonces Instrucciones si no Si condición entonces Instrucciones si no Instrucciones Caso condición Val1: Instrucciones Val2: Instrucciones Val3: Instrucciones Otros: Instrucciones Fin Caso Decisión Múltiple Condición Si No Condición Val3 Val1 Val2 Otro
  • 19. Condición Si No Instrucciones . . . Mientras que condición Instrucciones Fin Mientras . . . DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo . . . Repita Instrucciones Hasta que condición . . . Ciclo Mientras Ciclo Hasta Ciclo Para . . . Para v=valini, v=valfinal, inc Instrucciones Fin Para . . . v: variable valini: valor inicial valfinal: valor final inc: incremento Condición Si No Instrucciones Instrucciones v=valini,v=valfinal, incremento
  • 20. ALGORITMO: Fases de Diseño Análisis del problema Definición del problema Selección de la mejor alternativa Diagramación Prueba de escritorio Algo ritm o
  • 21. ALGORITMO: Definición del Problema Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
  • 22. Proceso ALGORITMO: Análisis del Problema Entendido el problema para resolverlo es preciso analizar Los datos de salida o resultados que se esperan Los datos de entrada que nos suministran Área de Trabajo Fórmulas Recursos
  • 23. ALGORITMO: Selección de Alternativa Analizado el problema Posiblemente tengamos varias formas de resolverlo Solución ..1 Solución ..2 Solución ..3 Solución ..5 Lo importante es determinar cuál es la mejor alternativa La que produce los resultados Esperados en el menor tiempo y al menor costo Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma.
  • 24. ALGORITMO: Diagramación Una vez que sabemos cómo resolver el problema Dibujar gráficamente la lógica de la alternativa seleccionada Plasmar la solucion mediante el Pseudocódigo
  • 25. ALGORITMO: Prueba de Escritorio Esta prueba consiste en: Dar diferentes datos de entrada al programa seguir la secuencia indicada hasta obtener los resultados Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial Al realizar lo anterior se puede comprobar si el algoritmo es correcto o si hay necesidad de hacer ajustes (volver al paso anterior) Es Recomendable Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos.
  • 26. ALGORITMO: Conceptos Minima parte de la información. Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos. Corresponde al tipo de valor que puede almacenarse en un espacio de memoria definido y a la cantidad de espacio que requiere para almacenar un valor. Dato Tipo de Dato Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución cambia o varía su contenido (valor).. Variable Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución mantiene siempre su contenido (valor). Constante
  • 27. Tipos de Datos ALGORITMO: Tipos de Datos Caracter Real Entero Boleano cadena Numéricos Lógicos Carácter
  • 29. Clasificación de los tipos de datos según su estructura: - Simples: - Estándar (entero, real, carácter, booleano) -No estándar (enumeración, subrango) - Estructurados: - Estáticos (arrays, cadena, registros, ficheros, conjuntos - Dinámicos (punteros, listas enlazadas, árboles, grafos INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS Pilas Colas Los tipos simples son cuando cada dato representa un único elemento: - Estándar: Están definidos por defecto por el lenguaje. - No estándar: Tipos simples definidos por el usuario. Los tipos de datos estructurados, son cuándo un dato es una estructura que se construyen a partir de otros complementos. •Estáticos: Ocupan un tamaño de memoria fijo, que tengo que definir antes de declararlo . •Dinámicos: La estructura no ocupa un tamaño fijo de memoria, sino que ocupa la memoria que ocupa en cada momento. Se van a manejar a través del tipo de dato puntero.
  • 30. ARRAYS UNIDIMENSIONALES: VECTORES. Un array unidimensional, o lineal, o vector, es un conjunto finito y ordenado de elementos homogéneos. Es finito porque tiene un número determinado de elementos. Homogéneo porque todos los elementos almacenados van a ser del mismo tipo. Ordenado porque vamos a poder acceder a cada elemento del array de manera independiente porque va a haber una forma de referenciar cada elemento. Los arrays se almacenan siempre en posiciones consecutivas de memoria y podemos acceder a cada elemento del array de manera independiente a través de los índices. Un índice no tiene porque ser un valor constante, sino que puede ser también una variable o una expresión que al ser evaluada devuelva ese índice. A la hora de definir un array siempre habrá que dar el nombre del array, el rango de sus índices y el tipo de los datos que contiene, y para hacer esa declaración, se utiliza la siguiente nomenclatura. <nom_array>: array [LI .. LS] de <tipo> sueldo: array [1 .. 8] de real sueldo: array [1990 .. 1997] de real sueldo [1992]  100000 I: entero I  1992 Sueldo [I] Sueldo [I+2]
  • 31. OPERACIONES CON ARRAYS UNIDIMENSIONALES O VECTORES 1.- Asignación de un dato a una posición concreta del array: <nom_array>[indice]  valor 1 2 3 4 5 6 7 8 9 10 11 12 Ventas [3]  800000 leer <nom_array>[indice] escribir <nom_array>[indice] desde i=1 hasta 12 escribir “Introduce las ventas del mes”i leer ventas [i] fin desde desde i=1 hasta 12 escribir “Ventas del mes”i”=”ventas [i] fin desde 2.- Lectura y escritura de datos: Utilizando diferente Ciclos Hacer para I =1 hasta 12 leer ventas [ I ] Fin para Hacer mientras I <= 12 Leer ventas [ I ] Fin mientras I =1 Repetir Leer vec[ i ] I = I + 1 Hasta que
  • 32. 3. Recorrido o acceso secuencial de un array: - Consiste en pasar por todas las posiciones del array para procesar su información. Desde i=1 hasta 12 Ventas [i]  ventas [i] + 1000000 Fin desde 4. Actualización de un array: 1º) Añadir datos: Es un caso especial de la operación de inserción de un elemento en un array, pero el elemento lo ingresamos después de la última posición que contiene información válida en el array. Para que esto se pueda hacer es necesario que si actualmente el array tiene K posiciones de información válida, tenga un tamaño de al menos K+1 para que pueda añadir otro elemento a continuación de K. <nom_array>[K+1]  valor
  • 33. 2º) Inserción de datos: Consiste en introducir un elemento en el interior de un array para lo cual será necesario desplazar todos los elementos situados a la derecha del que vamos a insertar una posición a la derecha con el fin de conservar el orden relativo entre ellos. Para que se pueda insertar un nuevo elemento en el array si ya existen N elementos con información en el array, el array tendrá que tener un tamaño de cómo mínimo N+1 para poder insertar el elemento. C E F J M O “G” Siendo K la posición en la que tengo que insertar el nuevo elemento y N el número de elementos válidos en el array en el momento de la inserción y siempre suponiendo de N+1, el algoritmo de inserción será: Desde i=N hasta K A[I+1]  A[I] Fin desde A[K]  valor
  • 34. 3º) Borrar datos: Para eliminar un elemento de un array si ese elemento está posicionado al final del array, no hay ningún problema, simplemente si el tamaño del array era N, ahora hay que considerar que el tamaño del array es N-1. Si el elemento a borrar ocupa cualquier otra posición entonces tendré que desplazar todos los elementos situados a la derecha del que quiero borrar una posición hacia la izquierda para que el array quede organizado. C E F J M O Borrar J. Suponiendo que el número de elementos validos actualmente es N y que quiero borrar el elemento de la posición K. Desde i=K hasta N-1 A[I]  A[I+1] Fin desde Para indicar que el número de elementos validos es N, podríamos indicarlo como N  N-1.
  • 35. ARRAYS BIDIMENSIONALES O MATRICES En un array unidimensional o vector cada elemento se referencia por un índice, en un array bidimensional cada elemento se va a referenciar por 2 índices, y ahora la representación lógica ya no va a ser un vector, sino una matriz. Un array bidimensional de M*N elementos es un conjunto de M*N elementos todos del mismo tipo, cada uno de los cuales se referencia a través de 2 subíndices. El primer subíndice podrá variar entre 1 y M si hemos empezado a numerar los índices por 1, y el segundo índice variará entre 1 y N, si hemos empezado a numerar los índices por el 1. Y más en general podemos definir un array de 2 dimensiones de la siguiente manera. <nom_array>: array [LI1..LS2,LI2..LS2] de <tipo> <var_array>[I , J] LI1 <= I <= LS1 LI2 <= J <= LS2 El tamaño del array será (LS1-LI1 +1)*(LS2-LI2 +1) Ventas de cada mes de 1990 a 1995: Ventas: array [1990..1995,1..12] de real 6*12=72
  • 36. La representación lógica de un array bidimensional es una matriz de dimensiones M*N donde M es el número de filas de la matriz y N es el número de columnas, es decir, la 1ª dimensión indicaría las filas y la 2ª dimensión indicaría las columnas, es decir, al intentar acceder a un elemento I,J estaríamos accediendo al elemento que ocupa la fila I y la columna J. En memoria, sin embargo todos los elementos del array se almacenan en posiciones contiguas pero nosotros lo vemos como una matriz. 1990 1991 1992 1993 X 1994 1995 Ventas [1993,3] En memoria estaría almacenado todo seguido:
  • 37. REPRESENTACION GRAFICA DE UNA MATRIZ 1,1 1,2 1,3 1,4 2,1 2,2 2,3 2,4 3,1 3,2 3,3 3,4 RENGLONES (R) COLUMNAS ( C ) MATRIZ [R,C) Llenando una matriz: Por renglones: Hacer para R= 1 a 3 Hacer para C= 1 a 3 leer Mat (R,C) Fin para Fin para Por columnas Hacer para C = 1 a 3 Hacer para R= 1 a 3 leer Mat (R,C) Fin para Fin para