0% encontró este documento útil (0 votos)
42 vistas42 páginas

Introducción a Algoritmos y Estructuras

El documento introduce conceptos básicos sobre algoritmos, incluyendo su definición, estructura, tipos de datos y operadores. Explica la metodología para descomponer un algoritmo mediante el análisis del problema, diseño y verificación. También describe formas de representar algoritmos como diagramas de flujo y pseudocódigo.

Cargado por

AeolusX
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas42 páginas

Introducción a Algoritmos y Estructuras

El documento introduce conceptos básicos sobre algoritmos, incluyendo su definición, estructura, tipos de datos y operadores. Explica la metodología para descomponer un algoritmo mediante el análisis del problema, diseño y verificación. También describe formas de representar algoritmos como diagramas de flujo y pseudocódigo.

Cargado por

AeolusX
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

INTRODUCCIÓN AL DESARROLLO DE

SOFTWARE

ALGORITMO
Definición, características
Algoritmo

Definiciones. Diagrama de Flujo.


Seudocódigo
1. Logro de aprendizaje:

Al finalizar la sesión el alumno comprende y aplica la


metodología de los algoritmos para la solución de problemas
comunes mediante el análisis y razonamiento lógico
matemático que le permita elegir la mejor solución.
1. Algoritmos
1.1 Concepto e importancia
Es un conjunto de pasos lógicos y estructurados que nos
permiten dar solución aún problema.

La importancia de un algoritmo radica en desarrollar un


razonamiento lógico matemático a través de la comprensión
y aplicación de metodologías para la resolución de
problemáticas, éstas problemáticas bien pueden ser de la
propia asignatura o de otras disciplinas como matemáticas,
química y física que implican el seguimiento de algoritmos,
apoyando así al razonamiento critico deductivo e inductivo.
No podemos apartar nuestra vida cotidiana los algoritmos,
ya que al realizar cualquier actividad diaria los algoritmos
están presentes aunque pasan desapercibidos, por ejemplo:
Al levantarnos cada día para hacer nuestras labores hacemos
una serie de pasos una y otra vez; eso es aplicar un
algoritmo.
1.3 Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:

Entrada Proceso Salida

Entrada: Es la introducción de datos para ser transformados.

Proceso: Es el conjunto de operaciones a realizar para dar


solución al problema.

Salida: Son los resultados obtenidos a través del proceso.


2. Metodología para la descomposición
de un algoritmo.
2.1 Conceptos
2.1.1 Definición del problema
En esta etapa se deben establecer los resultados y objetivos
que se desea para poder saber si los datos que se tienen son
suficientes para lograr los fines propuestos.

2.1.2 Análisis
Una vez definido el problema se deberán organizar los datos
de tal manera que sean susceptibles de usar en los cálculos
siguientes.
2.1.3 Diseño
En esta etapa se proponen soluciones a los problemas a
resolver, por lo que se realiza una toma de decisiones
aplicando los conocimientos adquiridos y utilizando los
datos existentes.

2.1.4 Verificación o prueba de escritorio


Se consideran resultados previstos para datos conocidos a
fin de que al probar cada una de sus partes podamos ir
comprobando que el algoritmo sirve o requiere modificarse.
2.2 Análisis del Problema
2.2.1 Identificadores
Un identificador es el nombre que se le asigna a los datos de
un programa (constantes, variables, tipos de datos), y que
nos permiten el acceso a su contenido.
Identificador de variable inicia con minúscula, puede
contener letras, dígitos y guión bajo (_). A partir de segunda
palabra la primera letra será mayúscula,

Ejemplo:
calf1
valor_1
num_Hrs
2.2.2 Tipos de datos
Es el valor que puede tomar una constante o variable . Por
ejemplo, para representar los datos de un alumno como:
nombre, num_Cta, calf1, calf2, etc.

Los tipos de datos más utilizados son:


a) Numéricos: Representan un valor entero y real.

Ejemplo:

Entero: 250, -5 Real: 3.1416, -27.5


2. Metodología para la
descomposición de un algoritmo.
2.2.2 Tipos de datos
b) Lógicos: Solo pueden tener dos valores (verdadero o
falso), y son el resultado de una comparación.

c) Carácter: Sólo puede tener como valor un único caracter.


Ejemplo: sexo, con valores ‘M’ o ‘F’

d) Alfanuméricos (Cadena): Son una serie de caracteres que


sirven para representar y manejar datos como nombres de
personas, artículos, productos, direcciones, etc. Ejemplo:
“Pedro”.
2.2.3 Variables
Permite almacenar de forma temporal un valor y el cual
puede cambiar durante la ejecución del algoritmo ó
programa.
Toda variable tiene un nombre que sirve para identificarla.

Ejemplo:
prom=(calf1+calf2+calf3)/3

Las variables son: prom, calf1, calf2, calf3.


2.2.4 Constantes
Son datos numéricos o alfanuméricos que contienen un
valor y que no cambia durante la ejecución del algoritmo ó
programa.

Ejemplos:
prom=(calf1+calf2+calf3)/3
PI=3.1416

Las constantes son: 3, PI. En seudocódigo debe ser indicarse


explícitamente el valor de la constante.
2.2.5 Operadores y Expresiones
Expresiones: Es un conjunto de constantes, variables,
operadores con lo que se realizan las operaciones y permite
obtener un resultado.

Ejemplo:
resultado  a*(2*b+5)/c

cal_Final (cali1+cali2)/2
Operadores: Es un símbolo que permite manipular los
valores de variables y/o constantes.
[Link] Operadores matemáticos
1) ** Potencia
2) * / div mod Multiplicación, División Real, División Entera, Resto
3) + - Suma, Resta
Los operadores con igual nivel de prioridad se evalúan de
izquierda a derecha.
[Link] Operador de asignación
1)
Sirve para recuperar o guardar los valores obtenidos al realizarse
o ejecutarse una expresión.
[Link] Operadores de relación
1) Mayor que >
2) Menor que <
3) Mayor igual que >=
4) Menor igual que <=
5) Igual =
6) Diferencia <>

•Son empleados para comparar dos ó más valores.


•Su resultado produce valores como verdadero y falso.
•Tienen el mismo nivel de prioridad.
•Ejemplo: nota>=10.5 nota>=0 nota<=20
[Link] Operadores Lógicos o booleanos
AND OR NOT
VAL1 VAL2 RESUL VAL1 VAL2 RESUL VAL1 RESUL
Cierto Cierto Cierto Cierto Cierto Cierto Cierto Falso
Falso Cierto
Cierto Falso Falso Cierto Falso Cierto
Falso Cierto Falso Falso Cierto Cierto
Falso Falso Falso Falso Falso Falso

• Usaremos Y (AND), O (OR), NO (NOT),


•Son empleados para comparar dos valores lógicos (verdadero y
falso)
•Su resultado produce valores como verdadero y falso.
•Los tres tienen el mismo nivel de prioridad.
•Ejemplo: nota>=0 Y nota<=20
Prioridad entre los Operadores

1) Matemáticos Siempre se ejecutan


de izquierda a
2) Relacionales derecha en caso de
haber dos ó más
operadores con el
3) Lógicos
mismo nivel de
prioridad.
4) De asignación
2.3. Diseño de algoritmos
2.3.1. Alternativas de solución

Es la forma de representar la secuencia lógica de


ejecución de instrucciones.

Esta puede ser a través de:

1) Diagramas de flujo
2) Pseudocódigo
[Link] Diagrama de flujo
Es empleado para representar la solución de un
algoritmo empleando figuras geométricas, donde cada
una de ellas representa en particular una tarea especifica
que realizar.

Las más comunes son:


SIMBOLO UTILIDAD

El rectángulo se utiliza para


identificar las acciones a
realizar, es decir, este símbolo
indica el proceso a realizar

El trapezoide, indica la entrada


o lectura de los datos

El rombo, es la caja de
decisiones, representa las
alternativas con solo dos
posibles opciones SI y NO
SIMBOLO UTILIDAD
Los círculos, son utilizados para
indicar el inicio y el final del
algoritmo.
El cono se utiliza para indicar una
salida en pantalla.

La flecha, indica la secuencia de


acciones a realizar, es decir, es
quien marca la continuidad y orden de
ejecución de las acciones propias del
problema a resolver.
SIMBOLO UTILIDAD

Representa la repetición de pasos a


a través de los ciclos
[Link] Pseudocódigo
Es empleado para representar la solución de un
algoritmo empleando lenguaje natural escrito
estableciendo la secuencia de pasos sin imprecisiones y
de manera clara.

Ejemplo:
Leer lista_de_variables
variable<-expresion
Escribir lista_de_expresiones
Estructura
Identificar datos
(entrada) y resultados
(salida).
Entrada Definir tipo de datos y
resultados.
Ingresar valores a
datos de entrada.

Operaciones con
datos de entrada
Proceso para hallar el
resultado

Mostrar resultados
Salida (datos de salida)

25
Pseudocódigo
Reglas de
Acción Identificador formación de
Declaración de variables “oraciones”
tipo identificador //Entrada simples, muy
tipo identificador //Salida claras y bien
definidas.
Inicio
leer (identificador) Cercano al
……… lenguaje natural
……… pero sin
……… ambigüedad.
………
escribir(constante | identificador | expresión) Más próximo a un
Fin lenguaje de
programación que
al lenguaje
natural.
26
[Link] Entrada y Salida
Entrada
Leer

Salida
Escribir

Ejemplo:
Leer lista_de_variables
Escribir lista_de_expresiones
2.3.2 Uso del Diagrama de flujo, pseudocódigo y
prueba de escritorio para los tipos de
estructuras
[Link] Secuenciales
Implica escribir un paso tras de otro, donde el primero
que se haya escrito es el primero que se ejecutará.
Inicio
Acción1
Acción2
.
.
AcciónN
Fin
[Link] Selectivas: Se utilizan para TOMAR DECISIONES.

 Simples
Lo que se hace es EVALUAR la condición, si la condición
es verdadera realiza la acción, en caso contrario
termina el programa.

Si <condición> Entonces
Acción(es)
FinSi
2) Selectivas
 Doble
Luego de evaluar una condición si esta se cumple, es
decir si es verdadera realiza una serie de acciones, y si
esta es falsa se realiza otra serie de acciones distinta a
la primera.

Si <condición> Entonces
Acción(es)
Sino
Acción(es)
FinSi
2) Selectivas
 Anidamiento
Se realiza a partir de anidar estructuras simples y/o
dobles, de manera tal que se realicen diferentes
acciones con base a varias comparaciones, así habrá
tantas opciones como se requieran.

Si <condición> Entonces
Acción(es)
Sino
Si <condición> Entonces
Acción(es)
Sino
.
. Varias condiciones
.
FinSi
FinSi
2) Selectivas
 Múltiple
Se emplea para casos en los que debemos contemplar
más de dos situaciones diferentes. Se evalúa el valor de
una variable y se establece la acción a ejecutar. Sólo se
usará cuando la variable a evaluar sea Carácter o
Entero.

Según <identificador variable> Sea


valor1: Acción(es)
valor2: Acción(es)
valor3: Acción(es)

Sino: Acción(es)
FinSegún
[Link] Repetitivas: Este tipo de estructura se
utilizan para ejecutar acciones repetidamente,
esto se hace posible mediante una secuencia de
instrucciones que se repiten una y otra vez y así
evitamos escribir múltiples veces las mismas
instrucciones.
3) Repetitiva
 Para
Esta estructura ejecuta los pasos de la solución del
algoritmo un número definido de veces y de modo
automático controla el número de iteraciones o
pasos a través del cuerpo del ciclo. Para el control se
utiliza un contador en el cual se va acumulando el
número de veces que se ha repetido las
instrucciones.
Para V.C  LI a LS Hacer
Acción1
Acción2 V.C Variable de control de ciclo
. LI Límite inferior
LS Límite superior
.
AcciónN
FinPara
3) Repetitiva
 Para
Ejemplo:
Pseudocódigo

Para datos 1 Hasta 5 Con Paso 1 Hacer


Leer num1, num2
sumanum1+num2
Escribir "el resultado de sumar ",num1," + ",num2," = ",suma
FinPara
3) Repetitiva
 Mientras
Este se utiliza cuando NO sabemos el número de
veces que se ha de repetir un ciclo, los ciclos se
determinan por una condición que se evalúa al
inicio del ciclo, es decir, antes de ejecutarse todas los
pasos.
Mientras <condición> Hacer
Accion1
Accion2
.
.
AccionN
FinMientras
3) Repetitiva
 Hacer – Mientras
En esta estructura el ciclo se va a repetir mientras la
condición se cumpla, a diferencia de las estructuras
anteriores la condición se escribe al finalizar la
estructura.
Hacer
Accion1
Accion2
.
.
AccionN
Mientras <condicion>
EJEMPLO 1
• Hallar valor de z
SOLUCIÓN
Acción HallarZ
D.V.
Real x, y, w, z
Inicio
Leer x, y, w
z(5*x+7*y**3)/(6*w**5)
Escribir z
Fin
EJEMPLO 2
El promedio de prácticas se obtiene
promediando las dos notas más altas (de tres).
SOLUCIÓN
Acción HallarPromedio
D.V.
Entero nota1, nota2, nota3, menor, n1, n2
Real promedio
Inicio
Leer nota1, nota2, nota3
menornota1
n1nota2
n2nota3
Si nota2<menor Entonces
menornota2
n1nota1
n2nota3
FinSi
Si nota3<menor Entonces
menornota3
n1nota1
n2nota2
FinSi
promedio(n1+n2)/2
Escribir promedio
Fin
Preguntas

También podría gustarte