Download pdf - 1. algoritmo

Transcript
Page 1: 1. algoritmo

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

1

Page 2: 1. algoritmo

¿Qué es algoritmo? Conjunto de instrucciones organizadas que

permite la resolución de un problema paso a paso.

Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema.

Existen n algoritmos, hay que coger el más efectivo.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 2

Page 3: 1. algoritmo

Características Precisión: Es la indicación del orden en que deben ejecutarse cada uno de

los pasos. Finitud: Es la consecución del resultado deseado después de un conjunto

de pasos ejecutados. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se

debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en

algún momento; o sea, debe tener un numero finito de pasos. La definición de un algoritmo debe definir tres partes: Entrada, Proceso

y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá: Entrada: ingrediente y utensilios empleados. Proceso: elaboración de la receta en la cocina. Salida: terminación del plato (por ejemplo, cordero).

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 3

Page 4: 1. algoritmo

Pasos Análisis preliminar o evaluación del problema: Estudiar el

problema en generar y ver que parte nos interesa. Definición o análisis del problema: Ver que es lo que entra y

que es lo que sale, las posibles condiciones o restricciones. Diseño del algoritmo: Diseñar la solución del problema. El programa: Codificación del programa en un lenguaje de

programación. Ejecución del programa y la prueba de escritorio: ver si el

programa hace lo que queremos.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 4

Page 5: 1. algoritmo

¿Pseudocódigo?Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.

El objetivo al que apunta es que quien lo pone en práctica se centre más en la solución del algoritmo o el diseño de un software que en el programa que utiliza para crearlo. Y esto es posible porque es más fácil de manipular ya que no tiene que tener en mente el lenguaje en sí y además, más fácil de codificar.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 5

Page 6: 1. algoritmo

¿Pseudocódigo?Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un pseudocódigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de programación, y una vez que se logra concretar el software, se puede pasar al escalón siguiente que es el de la transformación al lenguaje de programación formal que se vaya a utilizar.

De esta manera, al ser un lenguaje intermedio, no tiene una composición estandarizada por lo que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como es una herramienta que está un paso previo al lenguaje formal de programación, es fácil de transformar al que será ejecutado en la computadora.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 6

Page 7: 1. algoritmo

Tipos de lenguajes algorítmicos Semiformales: Las reglas gramaticales y

sintácticas se han reducido al mínimo. Formales: Las reglas gramaticales y sintácticas

deben ser mucho mas precisas e inequívocas.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 7

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo. (diagrama de flujo).

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).

Page 8: 1. algoritmo

Diagrama de flujoRepresentación grafica del flujo de datos que resolverá el problema algorítmico.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

8

PseudocódigoEn este ejemplo la representación es mas precisa y descriptiva para resolver el problema NICIOEdad: EnteroESCRIBA “cual es tu edad?”Lea EdadSI Edad >=18 entonces ESCRIBA “Eres mayor de Edad”FINSIFIN

Page 9: 1. algoritmo

¿Qué es un programa?Un programa es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s y 1s. Por lo tanto, necesitamos un lenguaje de programación para escribir de manera legible, es decir, con comandos que el ser humano pueda comprender (por ser similares a su propio lenguaje) los comandos que el equipo deberá ejecutar.

Estos programas se traducen después a un lenguaje máquina (en binario) a través de un compilador.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 9

Page 10: 1. algoritmo

El método de escritura de un programa está muy ligado al lenguaje de programación elegido, ya que existen muchos tipos distintos. Además, el compilador debe coincidir con el lenguaje elegido: cada lenguaje de programación tiene su propio compilador (excepto los lenguajes interpretados).

En términos generales, el programa es un simple archivo de texto (escrito usando un procesador o editor de texto), llamado archivo fuente).

El archivo fuente contiene líneas de programa llamadas código fuente. Este archivo fuente, debe compilarse una vez completado. La compilación se realiza en dos pasos:

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 10

Page 11: 1. algoritmo

El compilador transforma el código fuente en código objeto y lo guarda en un archivo objeto, es decir que traduce el archivo fuente a lenguaje máquina (algunos compiladores también crean un archivo en ensamblador, un lenguaje similar al lenguaje máquina ya que posee las funciones básicas, pero puede ser leído por los seres humanos.

Luego, el compilador llama a un editor de vínculos (o ensamblador) que permite insertar los elementos adicionales (funciones y bibliotecas) a los que hace referencia el programa dentro del archivo final, pero que no se almacenan en el archivo fuente. A continuación, se crea un archivo ejecutable que contiene todos los elementos requeridos por el programa para funcionar de manera independiente (en Microsoft Windows o MS-DOS este archivo tendrá la extensión .exe).

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 11

Page 12: 1. algoritmo

Tipos de programasFuente: Es el programa escrito por el programador a partir del algoritmo.

Objeto: Es el programa obtenido por el ordenador atreves del programa fuente, después de un proceso de compilación.

Ejecutables o binario: Es el programa obtenido por el ordenador a partir del programa objeto.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 12

A la persona que desarrolla un programa se le llama programador, y no tiene que ser, necesariamente, la misma que la que hace uso de dicho programa. A esta segunda persona se le denomina usuario. De hecho, la mayoría de los usuarios no necesitan tener conocimientos avanzados de informática para utilizar los programas. Por ejemplo, un usuario común no necesita saber que casi todos los programas se pueden clasificar dentro de tres categorías principales:•Software de aplicación.

•Software del sistema.

•Software de red.

Page 13: 1. algoritmo

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

13

Software de aplicación.

El software de Aplicación es aquel que hace que el computador coopere con el usuario en la realización de tareas típicamente humanas, tales como gestionar una contabilidad o escribir un texto.

Software del sistema

consiste en programas informáticos que sirven para controlar e interactuar con el sistema operativo.

Suelen clasificarse en sistema operativo, controladores de dispositivos y programas utilitarios.

• Software de red.

Es el programa que utilizas para manejar y administrar tu red . Un ejemplo clave es Windows Server o Linux Samba, ambos Sistemas Operativos proporcionan SERVICIOS a los demás Nodos de la red.

Page 14: 1. algoritmo

Lenguajes de programaciónEs el lenguaje empleado por el programador para dar las instrucciones necesarios que el ordenador debe ejecutar y poder resolver un algoritmo determinado.

Es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Lic. Luis Alfonso Rodríguez

Especialista en Mantenimiento, Ensamble Y Reparación de P.C 14

Page 15: 1. algoritmo

Lenguajes de programación

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 15

Son ejemplos de lenguajes de programación: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc.

Page 16: 1. algoritmo

Tipos de lenguajesLenguaje maquina: No necesita traducción, todo se programa en 0 y 1. Los lenguajes de máquina están escritos en códigos (código máquina) directamente inteligibles por la máquina (computadora), siendo sus instrucciones cadenas binarias (0 y 1).

“Lenguaje de máquina” hace referencia al lenguaje específico de una computadora, mientras que “código máquina” hace referencia al modo en que se escriben los diferentes lenguajes de máquina.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 16

Page 17: 1. algoritmo

Tipos de lenguajesDe bajo nivel o ensamblado: Son aquellos en las que las instrucciones son casi idénticas a las de un ordenador.

La programación en un lenguaje de bajo nivel tiene como ventajas una mayor adaptación al equipo, además de la

posibilidad de obtener la máxima velocidad con el mínimo uso de memoria.

Sin embargo tiene importantes inconvenientes, como la imposibilidad de escribir código independiente

de la máquina y la mayor dificultad en la

programación y en la comprensión de los

programas.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

17

Page 18: 1. algoritmo

Tipos de lenguajes Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

18

De Medio nivel:

Son aquellos que, basándose en los juegos de instrucciones disponibles permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos.La palabra bajo no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar controladores de dispositivos.

Ejemplos: C, Basic.

Page 19: 1. algoritmo

Tipos de lenguajesLic. Luis Alfonso Rodríguez

Especialista en Mantenimiento, Ensamble Y Reparación de P.C

19

De Alto nivel: Son lenguajes que utilizan instrucciones próximas al lenguaje humano.Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a lacapacidad cognitiva humana, en lugar de estar orientados a su ejecución en las máquinas.Los lenguajes de alto y bajo nivel requieren de conocimientos específicos de programación y del lenguaje concreto(vocabulario, gramática y sintaxis) para realizar las secuencias de instrucciones lógicas

Ejemplos: C++, FortranCobol, Lisp.

Page 20: 1. algoritmo

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

20

Page 21: 1. algoritmo

CompiladorUsamos un editor y obtenemos el programa fuente, y el compilador es el que traduce el programa al lenguaje máquina. El compilador internamente ha sido diseñado para traducir.

El compilador obtiene el programa o el fichero objeto. El compilador tiene que buscar los errores.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

21

Lenguajes compiladores típicos son: Pascal, FORTRAN, COBOL..., hoy día es posible encontrar también versiones de compiladores BASIC y de C.

Page 22: 1. algoritmo

Tienen tres características: Un nombre que los diferencia del resto. Un tipo que nos determina las operaciones

que podemos hacer con ese dato. Un valor que puede variar o no a lo largo

de la operación.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

22

Page 23: 1. algoritmo

Pueden ser Simples: Un elemento (Numéricos, lógicos

y caracteres) Compuesto: Varios elementos

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 23

Page 24: 1. algoritmo

Acciones Cada uno de los pasos en los que hemos

descrito un algoritmo. Las acciones son operaciones elementales que podemos expresar en un algoritmo.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

24

Page 25: 1. algoritmo

Sentencias Es una instrucción que podemos expresar

en un lenguaje de programación. La precisión de la sentencia determina la precisión de la ejecución del programa. En otras palabras, las sentencias son las acciones expresadas en un lenguaje de programación.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

25

Page 26: 1. algoritmo

SentenciasEn programación, una sentencia es una línea de código en algún lenguaje de programación. Un programa está constituido por múltiples sentencias de programación, lo que es llamado código fuente.

Un algoritmo de programación está constituido por una o más sentencias de programación.

Las sentencias de programación suelen tener algún carácter que determina su final, por lo general es un punto y coma (;) o un punto final (.), y algunas están separadas simplemente por enters (retorno de carro). Esto depende del lenguaje de programación que se esté empleando. Existen lenguajes que no necesitan un carácter que determine el final de una sentencia.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

26

Page 27: 1. algoritmo

Tipo de sentenciasSecuenciales: En la mayoría de los lenguajes de descripción de software, todas las sentencias de asigna miento son de naturaleza secuencial. Esto significa que la ejecución del programa se llevara a cabo de arriba a abajo, es decir siguiendo el orden en el que se hayan dispuesto dichas sentencias en el programa, por ello es de vital importancia la disposición de las mismas dentro del código fuente.

Selectivas: Son las que permiten condicionar la ejecución de una o mas sentencias.

En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch)

Iterativas: Son las que permite conseguir que se ejecuten una o mas veces.

Con las sentencias iterativas lo que logramos es iterar un grupo de instrucciones, es decir, ejecutar varias veces el mismo grupo de instrucciones mientras una condición especificada sea cierta.

A estas sentencias también se las llama bucles, y las instrucciones que se repiten en un bucle se las denomina el cuerpo del bucle.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 27

Page 28: 1. algoritmo

Sentencias de asignación

Son sentencias que como su nombre indica permite asignar un valor a una variable. Esta asignación se puede hacer de forma implícita, al ejecutar una acción cualquiera y de forma explicita, mediante una expresión matemática.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 28

Page 29: 1. algoritmo

ExpresionesEs la descripción de una o varias operaciones a realizar sobre una o varias variables.

En programación, una expresión es una combinación de constantes, variables o funciones, que es interpretada (evaluada) de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Como en matemáticas, la expresión es su "valor evaluado", es decir, la expresión es una representación de ese valor.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C

29

Page 30: 1. algoritmo

Tipos de expresiones

Aritméticas: Los operandos que intervienen en ella son numéricos, el resultado es numérico y los

operadores son aritméticos.

Lógicas: Su resultado es CIERTO ó FALSO. Se

construyen mediante los operadores relacionales y

lógicos.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 30

Page 31: 1. algoritmo

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 31

Page 32: 1. algoritmo

Precedencias Determina el orden en el que se evalúan y

ejecutan cada una de las operaciones indicadas en la expresión.

Se evalúan los paréntesis, pero primero los mas internos.

Multiplicación, división, modulo, suma, resta y operadores lógicos.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 32

Page 33: 1. algoritmo

Sentencias de entradas y salidas Entradas: Permiten asignar a las variables

los valores ingresados por teclado por parte de los usuarios.

Salidas: Permite presentar en pantalla los valores de las variables.

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 33

Page 34: 1. algoritmo

GENERAL

NOMBRE Prototipo de un OA para realizar Algoritmos

IDIOMA Español

DESCRIPCION Este OA aclara paso a paso como se realiza un algoritmo en sus diferentes formas

CICLO DE VIDA

Versión 1.0

Autores Luis Alfonso Rodríguez

Fecha Marzo 25 de 2014

CICLO DE VIDA

FORMATO Presentación de Power Point

TAMAÑO 5 MegaBytes

UBICACIÓN Slidershare .net

REQUERIMIENTO Sistema Operativo Windows o Linus Con Visor de Power Point o open Power Point

INSTRUCCIONES DE INSTALACIÓN

No hay

Lic

. Lui

s A

lfon

so R

odrí

guez

E

spec

iali

sta

en M

ante

nim

ient

o,

Ens

ambl

e Y

Rep

arac

ión

de P

.C

34

Page 35: 1. algoritmo

Gracias por haber participado en el primer contenido temático.

Que Dios les continúe Bendición

Lic. Luis Alfonso Rodríguez Especialista en Mantenimiento, Ensamble Y Reparación de P.C 35


Recommended