Está en la página 1de 51

INFORMÁTICA

1
I UNIDAD: ALGORITMOS
Y PROGRAMACIÓN
1
INFORMÁTICA

PRIMERA SEMANA
LECCION 1
“Algoritmos y herramientas de Programación”

Ing. CIP Luis Camacho Colan


Post:
luiscamachocolan@gmail.com
Mobile:
511-946887317
ALGORITMO
 MÉTODO QUE DESCRIBE LA
SOLUCION DE UN PROBLEMA , QUE
INVOLUCRA UNA SERIE DE PASOS
Algoritmo DEFINIDOS, PRECISOS Y FINITOS

Proceso

Instrucciones
Entradas Salidas

4
ALGORITMO

•Datos que se necesita para


ENTRADA poder ejecutarse

•Acciones y Cálculos a realizar


PROCESO

•Resultado esperado
SALIDA
Algoritmo definición y características
 Algoritmo: es una lista ordenada de instrucciones
necesarias para llegar a la solución de un problema
especifico. En el que se debe especificar: Los datos que
se utilizaran. El procedimiento que actuara sobre estos
datos.
Es un conjunto ordenado y finito de instrucciones para
realizar una tarea o solucionar un problema en un
número finito de pasos; esto es , que la ejecución del
algoritmo concluye en algún momento
Definición

 Se puede comparar el concepto de algoritmo con


un florecente a receta de cocina. Así pues , los
algoritmos habitualmente están formados por
secuencias de instrucciones que probablemente
se repiten (iteran) o que requieren decisiones
(comparaciones lógicas) hasta que completen su
tarea.
Etimología
 La palabra ‘algoritmo’ proviene de los vocablos
árabes al-Jwarismi, que era el sobrenombre del
celebre matemático, astrónomo y geógrafo Abu
Ja´far Muhammad ibn Musa al-Ḵwārizmī
Etimología
 Destaco no por crear nuevos teoremas, sino mas
bien por escribir libros de muy fácil comprensión
y facilitar así el entendimiento de la matemática
a un mayor numero de personas.
 Jwarismi desarrollo formulas para la resolución
de ecuaciones de primer y segundo grados con
un numero limitado de pasos e indicaciones
claras de ejecución. Explico por medio de
algoritmos el uso de dispositivos mecánicos
como los ábacos.
Etimología
 La palabra ‘algorismo’, que originalmente hacia
referencia a las reglas de uso de la aritmética
con dígitos árabes, evoluciono a la palabra latina
‘algobarismus’, que en el siglo XVIII mutaría a
‘algoritmo’ para definir a toda clase de
procedimientos utilizados con el propósito de
resolver problemas o realizar determinadas
tareas.
 El 1er algoritmo escrito para una computadora
se produjo en el siglo XIX exactamnente en el
año 1842.
Etimología
 La autora fue Ada Byron, en cuyos escritos
detallaba la maquina analítica. Por esta razón es
considerada por muchos como la primera
programadora, aunque desde Charles Babbage
nadie completo su máquina, por lo que el
algoritmo nunca se llevo a la practica.
Cuando un algoritmo esta asociado con el
procesamiento de información, los datos se leen de
una fuente o dispositivo de entrada, se procesan y
emiten un resultado por un dispositivo de salida, o
bien se almacenan en otro dispositivo para su
posterior uso
Características de un Algoritmo

COMPLETO: Que entregue todos los resultados en todas


las circunstancias.
PRECISO: Que no entregue resultados ambiguos. Debe
especificar sin ambigüedad el orden en que se deben
ejecutar todas las instrucciones
SECUENCIADO y/o FINITO: Debe terminar en un numero
finito de pasos, en un tiempo finito y requiriendo una
cantidad finita de esfuerzo. Paso a paso.
CORRECTO: Que entregue todos los resultados correctos
en todas las circunstancias.
 Para dar solución a un problema puede haber varios
algoritmos. Para saber cual es el mejor se debe tomar
en cuenta su simplicidad, elegancia y eficiencia. En la
practica, para evaluar un buen algoritmo se considera
el tiempo que se requiere su ejecución, esto puede
ser expresado en términos del número de veces que
se ejecuta el cada paso
Solución de problemas por computador

La solución de un problema mediante el uso de un


computador, tiene las siguientes etapas:
Análisis del problema
 Desarrollo de un algoritmo:
 Diseño del algoritmo

 Verificación del algoritmo

 Desarrollo de un programa:
 Codificación del algoritmo (programación)

 Pruebas

 Utilización del programa

15
FASES PARA LA CONSTRUCCIÓN DE UN
PROGRAMA

Datos Algoritmo IMPLEMENTACION


SOLUCION DEL Programa
EN LA
PROBLEMA
COMPUTADORA (Software)

Codificación
Análisis del
del algoritmo
problema
(programa)

Diseño del Ejecución del


algoritmo programa Error
sintaxis
Verificación del
Verificación
Error programa
del algoritmo
de OK
lógica OK

Algoritmo Programa
FASES EN LA CREACIÓN DE ALGORITMOS

ANÁLISIS

DISEÑO

PRUEBA

17
Herramientas para elaborar Algoritmos

 Para el diseño de la solución a un problema


planteado en forma de algoritmo se pueden
utilizar diversas herramientas (notaciones),
como por ejemplo:
 Diagramas
 Diagramas de Flujo (flowchart).
 Diagramas Nassi-Scheiderman o
Chapin
 Otros …
 Pseudocódigo estructurado.
 PSeInt
 DFD
Diagrama de Flujo
Diagrama Nassi-Scheiderman

Es conocido también como el


diagrama de Chapin, es como un
diagrama de flujo sin flecha y con
cajas continuas
Pseudocódigo

Expresa instrucciones en un lenguaje común


Diagramas De Flujo

 Es la representación grafica del flujo que van a


seguir los datos, así como la secuencia lógica de
las operaciones para la resolución del problema.

 Esta representación gráfica debe tener las


siguientes cualidades:

 Sencillez en su construcción
 Claridad en su comprensión
 Normalización en su diseño
 Flexibilidad en sus modificaciones
El algoritmo en Diagrama de Flujo

Inicio

Leer EP,EF, PP

PF=(EP+PP+2*EF)/4

PP>6.1 y PF>6.1

Escribir “No puede


rendir ES” Escribir “Puede
rendir ES”
Escribir “La nota final
es: “ , PF

Fin
DIAGRAMAS DE FLUJO
DIAGRAMA DESCRIPCIÓN

Terminal: Indica el inicio


y fin del diagrama de flujo

Entrada/Salida: Indica
la entrada y salida de
datos

Procesos: indica la
asignación de un valor a
memoria y/o alguna
operación aritmética.
DIAGRAMAS DE FLUJO
DIAGRAMA DESCRIPCIÓN

Decisión: Indica la
decisión que se toma
ante una comparación
de valores,
determinando el camino
a seguir.
Subrutina: representa
subprogramas

Conector: Representa
la continuidad del
diagrama de flujo de
una página
DIAGRAMAS DE FLUJO

DIAGRAMA DESCRIPCIÓN

Conector: Representa
la continuidad del
diagrama de flujo en
otra pagina

Impresora: Indica la
salida de la información
por la impresora

Pantalla: indica la
salida de la información
por medio de la pantalla
DIAGRAMAS DE FLUJO

DIAGRAMA DESCRIPCIÓN

Teclado: se utiliza en
ocasiones en lugar del
símbolo de
entrada/salida

Comentario: Permite
añadir anotaciones al
diagrama

Flechas de dirección:
dirección en la que se
realiza el flujo
Problemas de tipo cotidiano
 Resolver los ejercicios de la tarea Nº1 a través
de pseudocódigos y diagramas de flujo
Pseudocódigo Estructurado

 El Pseudocódigo consiste en una representación


más formal, ordenada y específica de los pasos
que están en un algoritmo.

 El concepto formal involucra elementos propios


de “pseudo” programación, definiendo así un
patrón mucho más cercano al producto final que
será el código en algún lenguaje de
programación.

 Es ordenada porque muestra una secuencia clara


y precisa de instrucciones que siguen un orden.
Este orden se asemejará mucho al que se usa en
un programa.
Pseudocódigo Estructurado

 Por último, se puede afirmar que es específica porque


el pseudo código esta representada a través de una
simbología que se pueda traducir en un programa de
computador.
 Aunque es muy detallado en su implementación el
Pseudocódigo no llega a tener el desglose de mas bajo
nivel.
 En definitiva, una forma con la que se puede
referenciar al pseudo código sería: “programa en
bruto”.
 Esto es así porque si bien un algoritmo en pseudo
código representa fielmente al algoritmo original, no
es posible ingresarlo al computador tal cual para que
sea un programa.
Comentarios
 Describe, explica y sirve para ayudar a entender lo
que vamos realizando o ejecutando, la simbología a
utilizar son:
Ejemplo:
Pseudocódigo:
//Variables
N:Entero
Código Visual Basic
´Variables
Dim N As Integer
Palabras reservadas
 No se deben usar al momento de programar, como
identificadores de variables, funciones, otros:
 Dim, Integer, Long, Single, Double, If, For, Select, Me
Variables

 Es una posición temporal de almacenamiento de


datos.

 Nombre
 Tipo
 Contenido
Asignación
 La asignación consiste, en el paso de valores o
resultados a una zona de la memoria.

 Dicha zona será reconocida con el nombre de la


variable que recibe el valor.
Clasificación de Asignación

 Simples:
 Consiste en pasar un valor constate a una variable
(a=15)
 Contador:
 Consiste en usarla como un verificador del numero
de veces que se realiza un proceso (a=a+1)
 Acumulador:
 Consiste en usarla como un sumador en un
proceso (a=a+b)
 Expresión:
 Donde puede recibir el resultado de una operación
matemática que involucre muchas variables
(a=c+b*2/4).
Entrada (Lectura)
 La lectura consiste en recibir desde un
dispositivo de entrada (por ejemplo el teclado)
un valor.
 Esta operación se representa en un pseudo
código como sigue:

 Leer( a)
 Leer (a, b)

 Donde “a” y “b” son las variables que recibirán


los valores
Salida (Escritura)
 Consiste en enviar información por un dispositivo de
salida (por ejemplo monitor o impresora).
 Este proceso se representa en un Pseudocódigo
como sigue:
 Escribir (“El resultado es:” , R)
 Donde “El resultado es: “” es un mensaje que se
desea aparezca de igual forma que como lo
escribimos y R es una variable que contiene un
valor.
Tipos De Datos

 Byte: entero positivo entre 0 y 255


 Integer: entero
 Long: entero largo
 Single: real
 Double: real largo
 String: cadena
 Boolean: lógico, verdadero o falso
 Array: arreglo
Operadores

 Aritméticos.  Lógicos.
 + : suma.  And: Y
 - : resta.  Or: O
 * : multiplicación.  Not: Negación
 / : división.
 ^: exponencial.
 mod : módulo de
la división
Operadores Relacionales

 < ...menor que


 > ...mayor que
 <= ...menor o igual que
 >= ...mayor o igual que
 = ...igual que
 <> ...distinto a
CONTROL DE FLUJO

 Los lenguajes de programación


desarrollan estructuras para controlar la
ejecución de un programa
 Estructura secuencial
 Estructura selectiva simple y doble
 Estructura selectiva múltiple
 Estructura repetitiva mientras
 Estructura repetitiva para
Estructura Secuencial

 La estructura secuencial es aquella en la que una


acción (instrucción) sigue a otra en secuencia.

Inicio
Acción 1
Acción 2
.
.
Acción N
Fin
Estructura Selección
 La estructura de selección, se ejecuta
condicionalmente, es decir, si una cierta condición es
verdadera se ejecuta un bloque de instrucciones, si es
falsa se ejecuta un bloque diferente de instrucciones.
Selección Simple

 El formato de la estructura de selección Simple es:

si <condición> entonces

instrucción 1
instrucción 2
.................
instrucción n

fin-si.
Selección Doble

 El formato de la estructura de selección doble es:

si <condición> entonces
instrucción 1
instrucción 2
...................
instrucción n
si-no
instrucción a
instrucción b
...................
instrucción z
fin-si
Selección Múltiple

 Según sea <variable>

Caso = <condición>
instrucción o Instrucciones
…..
Caso = <condición>
instrucción o instrucciones
……..
Otro caso
instrucción o instrucciones
…….
fin-según.
Estructuras Cíclicas

 Se llaman problemas  Esta cantidad puede ser


repetitivos o cíclicos a fija (previamente
aquellos en cuya solución determinada por el
es necesario utilizar un programador) o puede ser
mismo conjunto de variable (estar en función
acciones que se puedan de algún dato dentro del
ejecutar una cantidad programa).
especifica de veces.
Clasificación

 Los ciclos se clasifican en:

 Numero de Iteraciones Fija


 Desde-hasta
 Numero de Iteraciones Variables
 Mientras
 Hacer-Mientras
Desde-Hasta

 Son aquellos en que el  Donde


número de iteraciones  V. Variable de control
se conoce antes de del ciclo.
ejecutarse el ciclo. La
forma de esta estructura  Vi. Valor inicial.
es la siguiente:  Vf.Valor final.
Desde V = Vi hasta Vf,  Inc. Incremento
inc hace del ciclo, si no se
Acción 1 indica se asume 1.

Acción 2
Acción N
Fin desde
Mientras

 La forma de esta estructura es la siguiente:

Mientras <condición> hacer


Acción 1
Acción 2

Acción N
Fin mientras
Hacer-Mientras

 La forma de esta estructura es la siguiente:


Hacer
Acción 1
Acción 2
.
.
Acción n
Mientras <condición>

También podría gustarte