Está en la página 1de 72

UNSTA

Facultad de Ingeniería
Ingeniería Informá tica

Introducció n a la
Informá tica

Añ o 2021
Unidad 5
La programació n como metodología de la resolució n de problemas

• Problemas de informá ticos.


• Etapas en la solució n de problemas.
• Concepto de algoritmo.
• Algoritmo informá tico. Características.
• Mé todo Heurístico. Diseñ o Top-Down.
• Programació n estructurada.
• Representació n grá fica de un algoritmo: diagrama de
flujo.
• Variables: concepto.
• Operació n de asignació n.
• Programació n modular. Subprogramas

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 2


Unidad 5
Problemas informá ticos

Problema: toda situació n en la que hay un planteamiento


inicial y una exigencia que obliga a transformarla, la vía de
solució n tiene que ser desconocida y que la persona quiere
realmente realizar la transformació n.
Un problema existe cuando hay tres elementos, cado uno
claramente definido:
1. una situació n inicial,
2. una situació n final u objetivo a alcanzar, y
3. restricciones o pautas respecto de métodos,
actividades, tipo de operaciones, etc., sobre los cuales
hay acuerdos previos.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 3


Unidad 5
Problemas informá ticos

La resolució n de un problema mediante un computador


consiste en el proceso que, a partir de la descripció n de un
problema, expresado habitualmente en lenguaje natural y en
términos propios del dominio del problema, permite
desarrollar un programa que resuelva dicho problema.
Para que un problema sea de interés informá tico debe
cumplir con las siguientes condiciones:
• general
• metodizable
• codificable

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 4


Unidad 5
Etapas para la resolució n de problemas informá ticos

El proceso para resolver un problema informá tico requiere


de las siguientes etapas:
1. Estudio y aná lisis del problema.
2. Investigació n de la solució n.
3. Metodizació n de la solució n.
4. Graficar el método.
5. Codificació n.
6. Carga del programa y ejecució n.
7. Aná lisis de los resultados.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 5


Unidad 5
Etapas para la resolució n de problemas informá ticos

1. Estudio y aná lisis del problema


2. Investigació n de la solució n
Estas dos etapas representan la parte heurística del
problema.
Heurística:
• Técnica de la indagació n y el descubrimiento.
• Manera de buscar la solució n de un problema
mediante métodos no rigurosos, tanteo, reglas
empíricas, etc.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 6


Unidad 5
Etapas para la resolució n de problemas informá ticos

1. Estudio y aná lisis del problema


Como inicio del proceso para encontrar la solució n de un
problema planteado, esta etapa consiste en el estudio del
problema.
En el aná lisis del problema se deben tener en cuenta las
acciones elementales que debe desarrollar el computador:
 Aritmético – ló gicas: Operaciones que, a partir de unos
determinados datos, realizan un cá lculo aritmé tico o un
cá lculo ló gico
 De entrada – salida: Acciones que permiten capturar datos
para su posterior tratamiento y guardar los resultados de
dicho tratamiento.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 7
Unidad 5
Etapas para la resolució n de problemas informá ticos

2. Investigació n de la solució n
En esta etapa se realiza el aná lisis de los distintos procesos a
los que deben someterse los datos de entrada para producir
los resultados.

3. Metodizació n de la solució n
Ya definido el proceso para obtener la solució n, debe
diseñ arse el método que ejecutará el proceso.
Este método debe ser tal que los pasos para obtener los
resultados a partir de los datos de entrada puedan ser
ejecutados por un autó mata.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 8


Unidad 5
Etapas para la resolució n de problemas informá ticos

4. Graficar el método
En este paso se concreta el algoritmo. Puede hacerse en
modo gráfico (diagrama de flujo) o en pseudocódigo
(herramienta de programació n en la que las instrucciones se
escriben en palabras similares a un lenguaje natural que
facilitan tanto la escritura como la lectura de programas).

5. Codificació n
El algoritmo expresado en diagrama de flujo o pseudocó digo
es editado en un lenguaje de programació n.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 9


Unidad 5
Etapas para la resolució n de problemas informá ticos

6. Carga del programa y ejecució n


El programa es cargado, compilado o interpretado en el
computador y, luego, ejecutado.

7. Aná lisis de resultados


Cuando el programa devuelve los resultados, estos deben ser
analizados para verificar si son los esperados. Si esto no
ocurre se deberá examinar el programa para detectar si los
errores corresponden a la etapa heurística o a la de
graficació n y codificació n.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 10


Unidad 5
Estrategias para la resolució n de problemas informá ticos

Estrategias de resolució n de problemas


George Polya (1887-1985)
("Có mo plantear y resolver problemas")

• Comprender el problema

• Trazar un plan

• Llevar a cabo el plan

• Mirar hacia atrá s


UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 11
Unidad 5
Recetas heurísticas de George Polya

• Si no consigues entender un problema, dibuja un


esquema.
• Si no encuentras la solució n, haz como si ya la
tuvieras y mira a ver que puedes deducir de ella
(razonando hacia atrá s).
• Si el problema es abstracto, prueba a examinar un
ejemplo concreto.
• Intenta abordar primero un problema má s general (es
la “paradoja del inventor”: el propó sito má s ambicioso
es el que tiene má s posibilidades de éxito).

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 12


Unidad 5
Citas de George Polya

• "Si no puedes resolver un problema, entonces hay una


manera má s sencilla de resolverlo: encuéntrala."
• "Un gran descubrimiento resuelve un gran problema,
pero hay una pizca de descubrimiento en la solució n
de cualquier problema. Tu problema puede ser
modesto, pero si es un reto a tu curiosidad y trae a
juego tus facultades inventivas, y si lo resuelves por
tus propios métodos, puedes experimentar la tensió n
y disfrutar del triunfo del descubrimiento."

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 13


Unidad 5
Citas de George Polya

• "Fantasear es imaginar cosas que no tienes...,


puede ser malo igual que demasiada sal es mala
en la sopa o incluso un poco de ajo en un pastel de
chocolate. Quiero decir que las fantasías pueden
ser malas si hay demasiadas o si está n en el lugar
equivocado, pero pueden ser buenas por sí
mismas y una gran ayuda en la vida y en la
solució n de problemas."

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 14


Unidad 5
Algoritmos

Concepto de algoritmo
Todo método o procedimiento que establece con claridad y
precisión la secuencia de pautas (o pasos) que deben
cumplirse para realizar un trabajo determinado.

Algoritmo informá tico


Es un conjunto de reglas e instrucciones codificables, que
permiten obtener un resultado específico a partir de datos
conocidos, y sin aporte racional alguno durante el proceso.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 15


Unidad 5
Algoritmos: Características de los algoritmos informá ticos

1. General: Representa una solució n para todos los casos


posibles definidos en el planteo del problema
2. Preciso: Debe carecer de ambigü edades
3. Definido: Si se sigue el algoritmo dos o mas veces se
obtendrá , siempre, el mismo resultado.
4. Finito: El algoritmo debe alcanzar la solució n correcta
en un limite de tiempo .
En un algoritmo siempre debe haber un punto de
inicio y un punto de terminació n, estos deben ser
ú nicos y fá cilmente identificables.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 16


Unidad 5
Algoritmos: La programació n estructurada

Programació n descendente o diseñ o Top-Down


Esta metodología de programació n, también llamada "de
refinamientos sucesivos", es una técnica que permite
diseñ ar la solució n de un problema basá ndose en la
modularizació n, dá ndole un enfoque desde lo general al al
detalle (de arriba hacia abajo).

se plantea una operación como un todo y se


divide en partes más sencillas o de menor
complejidad.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 17


Unidad 5
Algoritmos: La programació n estructurada

• Programa: Conjunto ordenado de instrucciones,


estructuras y/o mó dulos que deba cargarse previamente
en el computador e indica có mo deben ingresar los datos
de entrada, procesarlos y devolver resultados.
• Mó dulos: Una o má s estructuras agrupadas para cumplir
con un fin específico del problema.
• Estructuras: Conjunto ordenado y ló gicamente agrupado
de instrucciones.
• Instrucciones: Ordenes de ejecutar alguna acció n
evaluante o de cará cter interrogante.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 18
Unidad 5
Algoritmos: La programació n estructurada

Diagrama de un programa
Programa Instrucciones

Mó dulos

Estructuras

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 19


Unidad 5
Algoritmos: La programació n estructurada

Programa propio
Todo programa propio tiene un solo punto de entrada y un
solo punto de salida.

Programa equivalente
Dos programas son equivalentes cuando, para las mismos
datos de entrada, entregan los mismos resultados.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 20


Unidad 5
Algoritmos: La programació n estructurada

Teorema fundamental de la programació n


estructurada
Todo programa propio puede ser sustituido por
un programa equivalente que tenga únicamente
como estructuras lógicas a las siguientes
estructuras básicas:

 Secuencial o secuencia simple


 Selecció n
 Repetició n o iteració n

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 21


Unidad 5
Estructuras bá sicas de la programació n estructurada

Estructuras secuenciales (1/2)


Presentan una secuencia de problemas de evaluació n.
• Asignación: Consiste en pasar un valor constante a una
variable
a ← 15
• Contador: Consiste en usarla como un verificador del
nú mero de veces que se realiza un proceso
a←a+1

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 22


Unidad 5
Estructuras bá sicas de la programació n estructurada

Estructuras secuenciales (2/2)


• Acumulador: Consiste en usarla como un sumador en un
proceso
a←a+b
• De trabajo: Donde puede recibir el resultado de una
operació n matemá tica que involucre muchas variables
a←c+b*2/4

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 23


Unidad 5
Estructuras bá sicas de la programació n estructurada

Estructuras de selecció n
Cuando el algoritmo encuentra esta estructura debe evaluar
una expresió n cuyo resultado será "verdadero" o "falso". Este
resultado condicionará para ejecutar, o no, un conjunto de
instrucciones.
Hay dos tipos:
Selecció n simple (llamada también if. . .then. . .)

Selecció n mú ltiple (llamada también if. . .then. . .else. . .)

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 24


Unidad 5
Estructuras bá sicas de la programació n estructurada

Estructuras de repetició n o iteració n


Esta estructura repite un determinado nú meros de veces el
mismo proceso. La continuació n o finalizació n del ciclo
repetitivo está determinado por el resultado "verdadero" o
"falso" de una expresió n.
Bá sicamente existen dos estructuras de repetició n:

• while . . .
• do . . . while

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 25


Unidad 5
La programació n estructurada

Grá fico de la solució n


Todas estas estructuras se representará n mediante un
lenguaje de diseñ o grá fico, llamado:

Diagrama de flujo
Para los diagramas se utilizará la simbología descripta en las
Normas IRAM 36022, basadas en las ISO 1028.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 26


Unidad 5
Símbolos utilizados en la programació n estructurada

Símbolo Descripció n
Entrada de datos sin especificar el periférico utilizado.
Salida que exhibe informació n para el operador por pantalla.
Símbolo para indicar que se realiza un proceso.
Problema de decisió n. Bifurcació n del flujo del algoritmo.
Procesos predefinidos subprogramas.
Representació n de principio o fin de proceso e interrupciones.
Representació n de las direcciones de las líneas de flujo.
Conector dentro de la misma pá gina.
Conector fuera de pá gina.
Representació n de acotaciones o comentarios al margen.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 27


Unidad 5
Grá ficos de las estructuras de la programació n estructurada

Representació n grá fica de las estructuras bá sicas


Secuencial Selecció n simple Selecció n doble
F V F V
Expresión Expresión

Trabajo Trabajo B Trabajo A

while do ... while


F Trabajo
Expresión
V
Expresión F
Trabajo
V

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 28


Unidad 5
La programació n estructurada: Variables

Concepto informá tico de variable


Es un espacio de memoria reservado para almacenar un
valor.
Una variable es representada y utilizada a través de un
identificador (nombre).
• Un identificador o nombre está formado por uno o
má s caracteres alfanumé ricos (letras y nú meros). No
puede contener espacios en blanco ni símbolos
especiales.
• El identificador o nombre debe empezar, siempre, con
una letra.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 29
Unidad 5
La programació n estructurada: Asignació n

Es la acció n de asignar o atribuir un valor a una variable.


Este valor asignado será el que se alojará en el domicilio de
memoria correspondiente a la variable.
variable  18
La variable siempre está a la izquierda del símbolo de
asignació n (  ) y a la derecha la expresió n, cuyo resultado
se asignará a la variable.
La operació n de asignació n borra, por sobre-escritura, el
valor anterior que puede haber tenido la variable.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 30


Unidad 5
La programació n estructurada: Variables típicas

• Acumuladoras:
• Acumuladoras de suma: Realizan la suma de varios
valores resultantes del proceso. La expresió n general es:

suma  suma + variable


Este tipo de variables deben iniciarse en cero antes de
ser usadas la primera vez.
• Acumuladoras de producto: La expresió n general es:
producto  producto + variable
Estas variables deben iniciarse en uno antes de ser
usadas la primera vez.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 31
Unidad 5
La programació n estructurada: Variables típicas

• Contadoras: Se utilizan como un verificadoras del nú mero


de veces que se realiza un proceso. La expresió n general
es:

contadora ← contadora + 1

• Bandera: Es una variable utilizada para dirigir el flujo de la


informació n. Só lo toma dos valores 0 ó 1 (verdadero o
falso).

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 32


Unidad 5
La programació n estructurada: Transferencia de valores

• Transferencia unidireccional:
Es el caso cuando el valor de una variable se quiere
transferir a otra.
Sean las variables var1 y var2 :

var1  5 se asigna el valor 5 a var1

se asigna a la variable var2 el valor de


var2  var1 var1. El valor que tenía var2 se borró
por sobre escritura.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 33


Unidad 5
La programació n estructurada: Transferencia de valores

• Transferencia bidireccional:
Los valores de dos variable se deben transferir
mutuamente.
Sean las variables var1 y var2 :
var1  72 se asigna el valor 72 a var1 y
var2  21 21 a var2
ahora se quiere transferir el valor de var1 a var2 y el de
var2 a var1. Para este caso se necesita una variable para
almacenar temporalmente uno de los valores. Esto es
porque si se asigna directamente el valor de var1 a var2
se pierde el de var2,

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 34


Unidad 5
La programació n estructurada: Transferencia de valores

entonces debe usarse una variable temporal:


se asigna a temp el valor de
temp  var1 var1 (1)

se asigna a la variable var1 el


valor de var2. El valor de var1 var2
var1  var2 var1 se "guardó" en la 72 21 21 72
variable temp (2)
temp
se asigna a var2 el valor de 72
var2  temp temp, que es el valor que
tenía var1 (3)
ahora var1 tiene el valor 21 y var2 el valor 72

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 35


Unidad 5
La programació n modular - Subprogramas

La programació n modular está basada en la técnica de


diseñ o descendente (top-down), que consiste en dividir el
problema original en diversos sub-problemas.

Estos sub-problemas se pueden resolver por separado,


para después recomponer los resultados y obtener la
solució n al problema.

Un sub-problema se denomina mó dulo y es una parte del


problema que se puede resolver de manera
independiente.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 36


Unidad 5
La programació n modular - Subprogramas

La independencia del subprograma permite:


• la concentració n en su resolució n específica dejando de
lado el resto del problema.
• reutilizar la solució n obtenida para otra parte del
programa u otro programa distinto.

El sub-programa tiene la forma de un programa, pero no


puede iniciarse por sí mismo. Necesita ser llamado o
invocado por un programa llamador (programa u otro
subprograma)

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 37


Unidad 5
La programació n modular - Subprogramas

• Cuando se invoca a un sub-programa se detiene la


ejecució n del programa llamador hasta que finalice la
ejecució n del subprograma llamado.

• El sub-programa se identifica por un nombre.

• Para ejecutar la tarea específica puede recibir valores


y/o devolver valores por medio de sus pará metros
formales.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 38


Unidad 5
La programació n modular - Subprogramas

• La llamada a un subprograma se realiza con su nombre


y, si corresponde, con la lista de argumentos reales.

• Los argumentos reales deben coincidir en:


 cantidad,
 tipo de dato y
 posició n
con los correspondientes pará metros formales del sub-
programa.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 39


Unidad 5
La programació n modular - Subprogramas

Ingresar un valor entero y mostrar el cubo del mismo.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 40


Unidad 5
La programació n modular - Subprogramas

Realizar el producto de
dos nú meros usando la
definició n de producto

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 41


Unidad 5
La programació n modular - Subprogramas

Ingresar dos valores enteros.


El primero corresponde a la
base y el segundo al
exponente. Calcular la
potencia y mostrar el
resultado.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 42


Unidad 5
La programació n modular - Subprogramas

Ingresar un valor entero


expresado en base 2,
convertirlo a base 10 y
mostrar el resultado

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 43


Unidad 5
La programació n modular - Subprogramas

Ingresar un nú mero natural,


calcular el factorial y
mostrar el resultado

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 44


Unidad 5
La programació n modular - Subprogramas

Ingresar un nú mero natural,


calcular el factorial y
mostrar el resultado

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 45


Unidad 5
Tipos de datos

Entero
Caracter
Simples
Real
Booleano

Arreglos
Estáticos Registros
Tipos de Cadenas de caracteres
datos

Estructurados Archivos
Listas
Pilas
Dinámicos
Tipo punteros Colas
Árboles
Grafos

UNT - FACET - DEEC - Informática - Año 2015 46


Unidad 5
Arreglos – Definició n

Dato estructurado estático que puede contener un conjunto


ordenado de datos homogéneos, almacenados en domicilios
contiguos de memoria, todos estos referenciados por una única
variable. Para acceder a cada elemento se utilizan uno o más
índices que indican la posición relativa del elemento en el
conjunto.
Estructurado: toma un conjunto de valores que son
referenciados por la misma variable.
Estático: el tamaño debe definirse antes de su uso.
Homogéneo: todos los elementos deben ser del mismo tipo
de dato.
Ordenado: cada elemento o dato de la estructura puede ser
ubicado de acuerdo a su posición dentro de la estructura.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021
47
Unidad 5
Arreglos

En esta asignatura sólo se tratarán los arreglos:

1. unidimensionales (vectores o listas):


• tienen un solo índice.

2. bidimensionales (matrices o tablas):


• tienen 2 índices.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


48
Unidad 5
Arreglos unidimensionales (vectores o listas)

 Tienen un sólo índice.


 El orden o tamaño N indica la cantidad de elementos que
puede contener un arreglo unidimensional.
 El elemento genérico de un vector es:
V(i)
donde:
 V es la variable que identifica el arreglo
 i es el índice. Los valores que puede tomar son de 1 a N
Vector genérico:
. . . .
V(1) V(2) V(3) V(i) V(N-1) V(N )
. .
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021
49
Unidad 5
Arreglos bidimensionales (matrices o tablas)

 Tienen dos índices.


 El orden de una matriz se indica con la cantidad de filas y la
cantidad de columnas: M x N. Donde M es la cantidad de
filas que tiene la matriz y N es la cantidad de columnas que
tiene la matriz.
 El elemento genérico de una matriz A es:
A(i , j)
donde:
 A es el nombre, variable que identifica la matriz.
 i es el índice que indica la fila, varía de 1 a M.
 j es el índice que indica la columna, varía de 1 a N.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


50
Unidad 5
Arreglos bidimensionales (matrices o tablas)

Matriz genérica (orden M x N)


N columnas

A( 1 , 1 ) A( 1 , 2 ) A( 1 , 3 ) . . . A( 1 , j ) . . . A( 1 , N-1 ) A( 1 , N )

A( 2 , 1 ) A( 2 , 2 ) A( 2 , 3 ) . . . A( 2 , j ) . . . A( 2 , N-1 ) A( 2 , N )

A( 3 , 1 ) A( 3 , 2 ) A( 3 , 3 ) . . . A( 3 , j ) . . . A( 3 , N-1 ) A( 3 , N )

. . . . . . . . . . . . . . . . . . . . . . . .
M
filas A( i , 1 ) A( i , 2 ) A( i , 3 ) . . . A( i , j ) . . . A( i , N-1 ) A( i , N )

. . . . . . . . . . . . . . . . . . . . . . . .

A(M-1,1) A(M-1,2) A(M-1,3) . . . A(M-1, j) . . . A(M-1,N-1) A(M-1,N)

A(M,1) A(M,2) A(M,3) . . . A(M , j) . . . A(M,N-1) A(M,N)

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


51
Unidad 5
Asignació n de valores a los elementos de un arreglos

La asignación de valores a los elementos de un vector puede


hacerse en forma:
1. Aleatoria: no tiene una forma estándar. Se analizará con
ejemplos.
2. Iterativa:
Vectores: Se realiza mediante un ciclo repetitivo,
generalmente la estructura while.
Matrices:
• Se realiza mediante dos ciclos repetitivos anidados.
• Se recorre la matriz por filas o por columnas.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021
52
Unidad 5
Diagramas para asignar y mostrar los elementos de un vector

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


53
Unidad 5
Asignar y mostrar los elementos de un vector con subprogramas

Debido a que las


tareas de cargar y
mostrar valores
de los elementos
de un arreglos se
realizará n con
frecuencia, se
utilizará n:
subprogramas

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


54
Unidad 5
Diagrama para asignar y mostrar los elementos de una matriz

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


55
Unidad 5
Ejemplo utilizando subprogramas en vectores
Ejemplo 1: Ingresar las notas de una evaluación de los alumnos
de un curso. Calcular el promedio y mostrar las notas mayores
que el promedio.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


56
Unidad 5
Ejemplo utilizando subprogramas en vectores

Ejemplo 2: Ingresar un vector de orden n, cargar los valores


positivos en el vector pos y los negativos en neg. El cero no
cuenta. Mostrar los tres arreglos por pantalla.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


57
Unidad 5
Ejemplo utilizando subprogramas en vectores

Ejemplo 3: Cargar un arreglo unidimensional de n elementos.


Buscar el mayor y el menor elemento, mostrar por monitor
estos valores y sus respectivas posiciones.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


58
Unidad 5
Ejemplo utilizando subprogramas en vectores

Ejemplo 4: Dado un vector V de tamaño N generar otro vector


cuyos elementos serán las posiciones de los valores iguales que
cero de V. Mostrar ambos arreglos.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


59
Unidad 5
Ejemplo utilizando subprogramas en vectores

Ejemplo 5: Dado un
vector invertir sus
elementos sin usar
arreglo auxiliar.
Mostrar vector original
y vector invertido.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


60
Unidad 5
Ejemplo utilizando subprogramas en matrices

Ejemplo 6: Asignar cero a los elementos de las diagonales


principal y secundaria de una matriz.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


61
Unidad 5
Ejemplo utilizando subprogramas en matrices

Ejemplo 7: Intercambiar los elementos de la diagonal principal


con los de la diagonal secundaria.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


62
Unidad 5
Ejemplo utilizando subprogramas en matrices

Ejemplo 8: Dada una matriz, generar dos vectores, uno con los
elementos pares y otro con los elementos impares.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


63
Unidad 5
Ordenamiento y bú squeda

Cuando se dispone de un conjunto de datos las tareas que se


realizan, con frecuencia, sobre ellos son:
Ordenamiento:  proceso de reorganizar un conjunto de
objetos en una secuencia determinada dada por
una relació n de orden.
Bú squeda: es una operació n que tiene por objeto la
localizació n de un elemento dentro de una estructura de
datos.
El estudio y aná lisis de los métodos de bú squeda y
ordenamiento no corresponden a esta asignatura.
Só lo se estudiará n métodos simples a los fines didá cticos.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


64
Unidad 5
Ordenamiento: método de la burbuja

El método consiste en tomar cada elemento de referencia


i (con i = 1, 2, ..., n – 1 )
y compararlo con cada uno de los restantes los elementos
j ( con j = i+1, i+2, ..., n).
Si el
elemento j < elemento i
se realiza en intercambio (ordenamiento ascendente).
La primera comparació n es entre el primero y segundo
elemento del vector.
La ú ltima entre el penú ltimo y ultimo elemento del vector

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


65
Unidad 5
Ordenamiento: método de la burbuja

Ejemplo: Dado el vector : { 6, 9, 3, 7, 2, 4, 0 }


i j
1 2 6 9 3 7 2 4 0
3 6 9 3 7 2 4 0
4 3 9 6 7 2 4 0
5 3 9 6 7 2 4 0
6 2 9 6 7 3 4 0
7 2 9 6 7 3 4 0
2 3 0 9 6 7 3 4 2
4 0 6 9 7 3 4 2

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021 66


Unidad 5
Ordenamiento: diagrama de flujo del método de la burbuja

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


67
Unidad 5
Mé todos de bú squeda

Los dos métodos má s usados para la bú squeda de un


elemento en una estructura de datos son:
1. Bú squeda lineal
2. Bú squeda binaria
Bú squeda lineal o secuencial: se puede realizar sobre un
vector ordenado o desordenado. Comienza desde el primer
elemento y recorre el arreglo secuencialmente buscando la
coincidencia entre la clave de bú squeda (elemento a buscar)
y algú n elemento del vector. La bú squeda finaliza con la
primera ocurrencia o cuando se llega al final del arreglo y el
elemento a buscar no se encuentra.
UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021
68
Unidad 5
Bú squeda lineal

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


69
Unidad 5
Bú squeda binaria

Este mé todo só lo se puede utilizar cuando el arreglo está


ordenado. Toma el elemento central del arreglo y lo
compara con la clave de bú squeda si esta es mayor la
bú squeda se realiza, de la misma manera, en la mitad
"derecha" del vector, caso contrario la bú squeda se realiza
en la mitad "izquierda". Así sucesivamente hasta encontrar
o no la coincidencia. La bú squeda finaliza con la primera
ocurrencia o cuando no se puede subdividir el arreglo y el
elemento a buscar no se encuentra.

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


70
Unidad 5
Diagrama de flujo del método de bú squeda binaria

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


71
Unidad 5
Bú squeda binaria

Ejemplo: a) buscar el elemento 15, b) buscar el elemento 33


izq central der 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 7 15 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
15 < 20
1 3 6 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
15 > 11
4 5 6 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
15 = 15

1 7 15 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
33 > 20
8 11 15 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
33 > 31
12 13 15 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
33 < 36
12 12 12 7 9 11 12 15 18 20 21 25 30 31 32 36 40 47
33 > 32
13 12 11

UNSTA - Facultad de Ingeniería - Introducció n a la Informá tica - Añ o 2021


72

También podría gustarte