Está en la página 1de 52

Facultad de Ingeniería y Arquitectura

Escuela Profesional de Ingeniería de Sistemas

Fundamentos de Programación

Introducción a los algoritmos


PRESENTACION DEL DOCENTE
Bienvenidos
al curso de
Fundamentos de
Programación
J. PRETELL

Silabo

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


Noticia
Crecimiento exponencial del Virus COVID-19.
https://www.youtube.com/watch?v=-PUT0hZiZEw

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


Todos deben saber programar
https://www.youtube.com/watch?v=8lp20JFiB4s

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


..

¿Qué importancia tiene la plataforma web en la crisis


sanitaria del corona virus ( Covit-19)?

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


LOGRO DE LA SESIÓN

Al finalizar la sesión el estudiante


comprende la importancia de los
algoritmos y participa en clase.

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


Agenda
Introducción a los algoritmos

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


Introducción a los algoritmos

Facultad de Ingeniería y Arquitectura – Escuela Profesional de Ingeniería de Sistemas


Algunas interrogantes antes de comenzar

• Algoritmos ¿Qué es?.


Definición de algoritmo
Existen varias definiciones de algoritmo podemos destacar algunos:
Un algoritmo puede ser definido como la secuencia de pasos de forma ordenada,
establecido en un lenguaje natural, el cual nos conducen a la solución de un
problema establecido. Joyanes, Rodríguez y Fernández (1996).
Algoritmo es la especificación rigurosa de la secuencia de pasos a realizar sobre
un autómata para alcanzar un resultado deseado en un tiempo finito. Madoz et al.
(2001). El termino finito es considerado porque contempla un inicio y un fin.
El lenguaje algorítmico es aquel por medio al cual se realiza un análisis previo del
problema a resolver y encontrar un método que permita resolverlo. El conjunto de
todas las operaciones a realizar y el orden en que se deben efectuarse, se le
denomina algoritmo.
Elementos de un algoritmo
• Datos de Entrada: Está conformada por la información o conjunto de
instrucciones proporcionada al algoritmo.
• Proceso/Acciones: Serán los cálculos u operaciones fundamentales para poder
brindar los resultados esperados.
• Datos de Salida: Son las respuestas obtenidas del proceso.
Fases de un algoritmo
• Análisis del Problema: Esta fase requiere una clara definición donde se
contemple exactamente lo que debe hacer el programa y el resultado o solución
deseada. Dado que se busca una solución se precisan especificaciones de entrada
y salida.
Para poder definir bien un problema es conveniente responder a las siguientes
preguntas:
¿Qué entradas se requieren? (cantidad y tipo)
• ¿Cuál es la salida deseada? (cantidad y tipo)
• ¿Qué método produce la salida deseada?
Fases de un algoritmo
• Diseño del Algoritmo: En la fase de análisis en el proceso de programación se
determina que hace el programa. En la fase de diseño se determina como hace el
programa la tarea solicitada.
Los métodos utilizados para el proceso del diseño se basan en el conocido divide y
vencerás. Es decir la resolución de un problema complejo se realiza diviendo el
problema en subproblemas y a continuación dividir estos subproblemas en otros
de nivel mas bajo, hasta que sea implementada una solución en la computadora.
Fases de un algoritmo
• Codificación: Es la escritura en un lenguaje de programación de la
representación de un algoritmo. Dado que el diseño del algoritmo es
independiente del lenguaje de programación utilizado en su implementación, el
código puede ser escrito con igual facilidad en un lenguaje o en otro.
.
Fases de un algoritmo
• Depuración: Es el proceso de ejecución del programa con una amplia variedad
de datos de entrada, llamados datos de test o prueba como son: valores normales
de entrada, valores extremos de entrada que comprueben los límites del
programa y valores de entrada que comprueben aspectos especiales del
programa. Estos determinarán si el programa contiene errores o no.
Fases de un algoritmo
• Compilación: Una vez que el algoritmo se ha convertido en un programa
fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo
posteriormente en un disco. Esta operación se realiza con un editor de texto,
posteriormente el programa fuente se convierte en un archivo de programa que
se guarda en un disco.
Fases de un algoritmo
• Mantenimiento:
• El mantenimiento preventivo es que hagamos lo posible por no caer en errores, la
actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en
cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los
pasos anteriores revisando que todas la condiciones sean favorables alrededor del
sistema.
Fases para diseñar un algoritmo
• Como ejemplo plantearemos el desarrollo de un algoritmo que realice el cálculo
del área de una figura geométrica:
Fases Análisis para el ejemplo planteado
Primer Paso: Analizaremos el problema
El área del trapecio se calcula a partir de su altura y sus dos lados paralelos (a y b) o
bases del trapecio. El área será el resultado de multiplicar su altura (h) y la mediana
del trapecio, que se obtiene como la media de las dos bases a y b: M=(a+b)/2.
Fases para diseñar un algoritmo
Fases para diseñar un algoritmo
Segundo Paso: Identificamos las variables y las tareas a realizar que serán
ingresados por teclado: la altura y la media del trapecio.
Tercero Paso: Establecer el orden en que serán desarrolladas, con el respectivo
calculo.
Cuarto Paso: Refinar el algoritmo a través de pseudocódigo y su salida por pantalla
del área solicitada.
Fases para diseñar un algoritmo
Se solicita calcular el área del trapecio
//Entrada: Definir las variables de entrada Area =ar, Altura=h, Lado Superior =a,
Lado Inferior=b
• Definir ar, h, a,b Como Real
• Escribir "Ingresar el lado superior del trapecio"
• Leer a
• Escribir "Ingresar el lado inferior del trapecio"
• Leer b
• Escribir "Ingresar la altura del trapecio"
• Leer h
Fases para diseñar un algoritmo
Se solicita calcular el área del trapecio
//Proceso: Realizar las operaciones según la formula
• ar = h*((a +b)/2)
• //Salida: Resultado esperado
• Escribir "El área del trapecio es:" ar "cm"
• Fin Proceso
Verificación de un algoritmo
• Luego de haberlo elaborado es
necesario comprobarlo para verificar
que realiza las tareas para los cuales
ha sido elaborado o diseñado y que
muestre el resultado esperado como
parte de la solución planteada.
Verificación de un algoritmo
• Diagrama de Flujo
Implementación de un algoritmo
• Luego del diseño e verificación de
un algoritmo, mediante una
herramienta (PSeInt) podremos
pasar a la fase de codificación, en
resumen podremos traducir el
algoritmo a un determinado lenguaje
de programación, para poder
ejecutarlo y comprobarlo en nuestro
ordenador, en nuestro caso
trabajaremos con el lenguaje de
programación JAVA bajo el entorno
de desarrollo NetBeans IDE 8.2.
Datos
• Los algoritmos están compuestos
por datos que se establecerán en su
elaboración junto con la sección del
código.
• Entonces al dato lo consideramos
como la expresión general que
describirán a los objetos con los
cuales operara el algoritmo durante
su codificación.
• En el ejemplo anterior podemos
ubicar a los datos:
Tipos de Datos
• Los datos se clasificaran en los siguientes tipos:
Entero: Subconjunto finito de los números enteros (positivos y negativos).
Enteros (números completos que no tienen componentes fraccionarios)
Ejemplos: 20 -812 0
Real: Estos son los números enteros y los fraccionarios (positivos y negativos).
Reales (consta de una parte entera y una parte decimal)
Ejemplos: -1536.0 0.15 3.1625 -0.005
Lógico: Son aquellos que están conformados por dos valores (verdad y falso).
Tipos de Datos
Lógicos (sólo puede tomar uno de dos valores)
Verdadero (true) Falso (false)
Ejemplos: (3>2)= 1 = verdadero (7>9)= 0 = falso
Carácter: Conjunto finito y ordenado de los caracteres reconocidos por la computadora.
Caracteres Alfabéticos: {A, B, C, … , Z} {a, b, c, … , z}
Caracteres Numéricos: {0, 1, 2, … , 9}
Caracteres Especiales: {+, -, *, /, ^, ., ;, <, >, $, …}
• Ejemplos: ‘a’ ‘A’ ‘0’ ‘_’
Tipos de Datos
Cadena: Son sucesiones de caracteres ordenados, están delimitados por comillas
Ejemplos: “Hola, ¿Cómo estás?” “Bienvenido al mundo de la programación”
Constantes
Es un dato que no cambiara durante la elaboración y ejecución del programa.
Ejemplo:
PI= 3.1416
IGV=0.18
Variables
Es un espacio en memoria de la computadora que nos permitirá almacenar un dato
durante su ejecución, el contenido puede cambiar durante su ejecución.
Ejemplo
Total_venta= venta_neta*IGV
Las variables son: Total_venta y venta_neta
Expresiones
Una expresión es una combinación de operadores y operandos (constantes), las
expresiones pueden ser numéricas, alfanuméricas, booleanas.
Ejemplo: a+ (b+4)/c
Funciones
Las funciones son argumentos adecuados encerrados entre paréntesis, en una expresión,
podemos utilizar funciones numéricas para poder visualizar un ejemplo:

Función Descripción
Abs(x) Valor absoluto de x
Arctan(x) Arco tangente de x
Cos(x) Coseno de x
Cuadrado(x) Cuadrado de x
Ent(x) Entero de x
Sen(x) Seno de x
Trunc(x) Parte entera de x
Operadores
• Los operadores se van a relacionar de forma diferente (manipulación de valores), los
valores de una o más variables y/o constantes.
• Los tipos de operadores son:
Aritméticos, Relacionales y Lógicos
Operadores
Prioridad
• La prioridad de los operadores en general es la siguiente:
PRIORIDAD DE LOS OPERADORES PRIORIDAD DE LOS OPERADORES RELACIONES, LÓGICOS
LÓGICOS Y ARITMÉTICOS

1 Not 1 ()
2 And 2 ^
3 Or 3 *,/, Mod, Not
4 +,-,And
5 <,>,<=,>=,<>,=, Or
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas tales es el caso:
A. Diagramas de Flujo: un diagrama de flujo será la representación gráfica de un
algoritmo, lo que se realiza es la representación específica o detallada de los pasos
para mostrar los resultados solicitados.
Herramientas para
representar
algoritmos
Representación simbólica de los
diagramas de flujo
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas tales es el caso:
B. Diagrama Nassi-Schneiderman: conocido también como diagrama de Chapin, se
omite flechas de dirección y tenemos una representación contigua, se representa a
manera de cajas sucesivas.
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas tales es el caso:
C. Pseudocódigo: Es empleado para representar a un algoritmo se mezcla las
instrucciones de un lenguaje de programación con términos en cualquier idioma
para poder elaborar un programa.
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas tales es
el caso:
D. PSeInt: es la abreviatura de PSeudo Intérprete,
una herramienta educativa utilizada
principalmente por estudiantes para aprender los
fundamentos de la programación y el desarrollo
de la lógica. Es un software muy popular de su
tipo y es ampliamente utilizado en universidades
de Latinoamérica y España.
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas tales es el caso:
E. DFD.- es un programa que permite crear diagramas de flujo, editarlos,
interpretarlos y ejecutarlos
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas
tales es el caso:
• F. Scratch- es una aplicación informática
destinada principalmente a los niños y les
permite explorar y experimentar con los
conceptos de programación de
ordenadores mediante el uso de una
sencilla interfaz gráfica. Scratch en el
aula sirve entre otras cosas para:
Desarrollar el pensamiento lógico y
algorítmico.
Herramientas para representar
algoritmos
Se pueden utilizar diversas herramientas
tales es el caso:
• G. Raptor.-Es un software de
pseudocódigo para la plataforma
Microsoft Windows, este se utiliza para
hacer diagramas de flujo que nos ayudan
a resolver problemas sencillos y revisar
procedimientos a través del cual se
desarrolla la lógica computacional por
medio de la resolución de éstos.
Preguntas

También podría gustarte