Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido Unidad I Algoritmos y Prog. Mecanica
Contenido Unidad I Algoritmos y Prog. Mecanica
MECANICA
ALGORITMOS Y PROGRAMACION
UNIDAD I
INTRODUCCION A LA COMPUTACION
LENGUAJES DE COMPUTACIÓN:
Existen diferentes lenguajes que pueden ser utilizados para programar una computadora, el más
importante es el Lenguaje Máquina.
Un lenguaje de alto nivel se traduce a Lenguaje máquina antes de ser ejecutado. A este proceso se le
llama compilación.
Es un lenguaje que se asemeja más al lenguaje humano que a un lenguaje de máquina o ensamblador.
Es más fácil escribir programas en este lenguaje, pero luego deben ser traducidos por compiladores o
intérpretes para que la computadora los entienda
Ada ALGOL
Basic C
C++ C#
Clipper Cobol
Fortran Java
Lexico Logo
Object Pascal Pascal
Perl PHP
PL/SQL Python
LENGUAJE MÁQUINA
El lenguaje máquina está orientado hacia la máquina que está constituida por varios arreglos de
"bits". Este lenguaje es fácil de entender por la computadora, pero difícil para el usuario. Es el lenguaje
original de la computadora el cual es generado por el "software", y no por el programador.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
La programación en el lenguaje de la máquina o en lenguaje simbólico tiene ciertas ventajas:
La información que hace que el hardware de la computadora realice una determinada actividad se llama
instrucción. Por consiguiente una instrucción es un conjunto de unos y ceros. Las instrucciones así
formadas equivalen a acciones elementales de la máquina, por lo que al conjunto de dichas instrucciones
que son interpretadas directamente por la máquina se denomina lenguaje máquina.
El lenguaje máquina fue el primero que empleo el hombre para la programación de las primeras
computadoras. Una instrucción en lenguaje máquina puede representarse de la siguiente forma:
011011001010010011110110
Esta secuencia es fácilmente ejecutada por la computadora, pero es de difícil interpretación, siendo aun
más difícil la interpretación de un programa (conjunto de instrucciones) escrito de esta forma. Esta
dificultad hace que los errores sean frecuentes y la corrección de los mismos costosa, cuando no
imposible, al igual que la verificación y modificación de los programas.
Es un lenguaje de programación bien cercano al lenguaje de máquina. Es difícil de entender por las
personas y requiere que los programadores codifiquen las instrucciones con muchos detalles. Ejemplo:
lenguaje ensamblador.
Lenguaje de Bajo Nivel
Lenguaje de programación que la computadora puede entender a la hora de ejecutar programas, lo que
aumenta su velocidad de ejecución, pues no necesita un intérprete que traduzca cada línea de
instrucciones.
COMPILADOR
Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje,
generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera.
Este proceso de traducción se conoce como compilación.
Los programas interpretados suelen ser más lentos que los compilados, pero los intérpretes son más
flexibles como entornos de programación y depuración.
SISTEMA OPERATIVO
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
EL HARDWARE incluye todas las partes físicas y electrónicas de la computadora, incluyendo la memoria
de ésta. (C.P.U, MONITOR, TECLADO, IMPRESORA, MOUSE, ETC.)
El SOFTWARE, en cambio, se compone de los programas que residen en la memoria y que controlan
cada componente del hardware. Permite que una computadora realice una tarea determinada.
Es un programa que es grabado en una memoria ROM y establece la lógica de más bajo nivel que
controla los circuitos electrónicos de un dispositivo. Se considera parte del hardware por estar integrado
en la electrónica del dispositivo, pero también es software, pues proporciona la lógica y está programado
por algún tipo de lenguaje de programación. El firmware recibe órdenes externas y responde operando el
dispositivo
Los programas dicen a los componentes físicos de la máquina lo que deben hacer, sin ellos una
computadora no podría hacer nada, sería solo una caja de metal y plástico.
- SOFTWARE DE SISTEMA
TIPOS DE SOFTWARE
- SOFTWARE DE APLICACIÓN
Además, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de
plataforma a partir de la cual se corran programas de aplicación.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el
hardware y organizar archivos y directorios en dispositivos de almacenamiento.
Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con
un navegador integrado, como Windows que trae el navegador Internet Explorer.
EL SOFTWARE DE APLICACIÓN.- Se refiere a los programas que utiliza el usuario, este software se ha
diseñado para realizar casi cualquier tarea imaginable.
Algunos ejemplos de software aplicaciones son:
Algunas de las categorías en las que se clasifica el software de aplicación son las siguientes:
Aplicaciones de negocios
Aplicaciones de utilería
Aplicaciones personales
Aplicaciones de entretenimiento
Cuando nosotros encendemos una computadora, ejecuta varios pasos que preparan las computadora
para su uso:
1.- AUTOPRUEBA (Identifica los dispositivos que se encuentran conectados a ella, Memoria disponible,
chequeo de la memoria (ve si está trabajando en forma correcta).
2.-La computadora busca un programa especial llamado SISTEMA OPERATIVO y lo carga a la memoria,
este le indica como interactuar con el usuario y como usar los dispositivos de entrada / salida y
almacenamiento.
Una vez que la máquina encuentra y arranca el S.O. está lista para aceptar COMANDOS de un dispositivo
de entrada (teclado, mouse).
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
RESOLUCIÓN DE PROBLEMAS:
La principal razón para que las personas aprendan Lenguajes de programación, es utilizar la computadora
como una herramienta para la solución de problemas.
El resultado de esta fase es el diseño de un algoritmo para resolver un problema consta a su vez de:
1. Análisis del Problema
2. Diseño del algoritmo
3. Verificación del algoritmo.
Programa de
trabajo
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
DISEÑO DEL ALGORITMO: Identificar las tareas y disponer el orden en el que han de ser ejecutadas.
Una vez definido y analizado el problema, se procede a la creación del algoritmo (Diagrama de flujo ó
pseudocódigo), en el cual se da la serie de pasos ordenados que nos proporcione un método explícito
para la solución del problema.
VERIFICACIÓN DEL ALGORITMO: Una vez que se termine de escribir el algoritmo, es necesario
comprobar que realiza las tareas para las que ha sido diseñado.
Es recomendable la realización de pruebas de escritorio al algoritmo diseñado, para determinar su
confiabilidad y detectar los errores que se pueden presentar en ciertas situaciones. éstas pruebas
consisten en dar valores a la variable e ir probando el algoritmo paso a paso para obtener una solución y
si ésta es satisfactoria continuar con el siguiente paso de la metodología; de no ser así y de existir errores
deben corregirse y volver a hacer las pruebas de escritorio al algoritmo.
CODIFICACIÓN DEL ALGORITMO Consiste en escribir la solución del problema (de acuerdo al
pseudocódigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es
decir en un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le
conoce como PROGRAMA.
EJECUCIÓN DE PROGRAMA Y VERIFICACIÓN DEL PROGRAMA
Prueba es el proceso de identificar los errores que se presenten durante la ejecución del programa.
La Depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a
una solución adecuada y sin errores.
PROGRAMA DE TRABAJO
Es la guía o comunicación escrita que sirve como ayuda para usar un programa, o facilitar futuras
modificaciones.
A menudo un programa escrito por una persona es usado por muchas otras, por ello la documentación es
muy importante.
ELABORACIÓN DE ALGORITMOS
Supongamos que se necesita calcular e imprimir el área de un triángulo cuya base y altura se
suministrarán de un disco.
Procedimiento:
a).- Enunciado del problema: «Calcular e imprimir el área de un triángulo cuya base y altura se
suministrarán de un disco.»
b).- Analizar la solución general del problema:
1.- Entender concretamente la solución que se desea obtener del problema.
2.- Buscar las variables a utilizar.
Análisis:
1.- ¿Qué se quiere?
-Calcular el área de un triángulo
¿Cómo se quiere?
-Se desea calcular a través de una fórmula.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
AREA = BASE * ALTURA
2
¿Qué deseo obtener?
-Imprimir el área del triángulo y suministrar los resultados en un disco.
SOLUCION:
1.- Inicio.
2.-Leer base, altura.
3.-Calcular Área= (Base*Altura)/2.
4.-Imprimir resultado (Área).
5.- Fin.
"Un algoritmo se define como un método que se realiza paso a paso para solucionar un
problema que termina en un número finito de pasos".
Partes de un Algoritmo:
o Inicio.
o Traer gato.
o Levantar el coche con el gato.
o Aflojar tornillos de las llantas.
o Sacar los tornillos de las llantas.
o Quitar la llanta.
o Poner la llanta de repuesto.
o Poner los tornillos.
o Apretar los tornillos.
o Bajar el gato.
o Fin.
Algoritmos Cotidianos.
Son aquellos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos
cuenta de que estamos siguiendo una metodología para resolverlos.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Algunos ejemplos son:
Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la ficha del
cliente, si el cliente es solvente entonces la empresa acepta el pedido, en caso contrario
rechazar el pedido.
1. Inicio.
2. Leer el pedido.
3. Examinar ficha del cliente.
4. Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido.
5. Fin.
2.- Comparar el mayor anterior con el tercero y deducir cuál es el mayor. Este será el resultado.
Los pasos anteriores se pueden descomponer en otros pasos más simples en los que se
denomina refinamiento del algoritmo.
3.- Compara NUM1 con NUM2 y seleccionar el mayor ; si los dos enteros son iguales,
seleccionar NUM1. Llamar a este número MAYOR.
5.- Compara MAYOR con NUM3 y seleccionar el mayor ; si los dos enteros son iguales,
seleccionar el MAYOR. Denominar a este número MAYOR.
7.- Fin.
DIAGRAMA DE FLUJO
Diagrama de flujo: Conjunto de símbolos; los cuales se utilizan para representar a los
algoritmos. Cada símbolo tiene una función especial, los cuales están unidos por flechas, las
cuales se denominan Líneas de flujo, que indican el orden en que los pasos deben ser
ejecutados.
SIMBOLOS
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Estas fases se presentan en la mayoría de los diagramas de flujo, aunque a veces en orden
diferente o repitiendo algunas de ellas. También es frecuente tener que realizar toma de
decisiones y repetir una serie de pasos un número determinado o no de veces.
INICIO
Lectura de
datos
Imp. de
Resultados
FIN
Ejemplo:
Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Un diagrama de flujo es una forma más tradicional de especificar los detalles algorítmicos de
un proceso y constituye la representación gráfica de un proceso multifactorial. Se utiliza
principalmente en programación, economía y procesos industriales, pasando también a partir de
estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva; estos
diagramas utilizan una serie de símbolos con significados especiales. Son la representación
gráfica de los pasos de un proceso, que se realiza para entenderlo mejor. Son modelos
tecnológicos utilizados para comprender los rudimentos de la programación lineal.
“Todo algoritmo estructurado puede ser escrito por tres tipos de estructuras de control”
ESTRUCTURAS DE CONTROL .-
Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten,
mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la
solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:
• Secuencial .- Las acciones se suceden una a continuación de la siguiente. Tiene una entrada
y una salida. Nunca se ejecuta más de una acción por vez.
• Condicional .- Se evalúa una condición y en función del resultado de la misma se realiza una
operación u otra
•Múltiples (SEGÚN) .- Permite ejecutar una sentencia según el valor de una variable.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
• Repetitivas .- Repiten una secuencia un Número de veces (Bucles) y al hecho de repetir la
ejecución de una secuencia de acciones se le llama Iteración.
•Estructura PARA .- Permite ejecutar una sentencia un número especifico de veces. Las
sentencias se ejecutan dentro del “bucle”. Comienza con un Valor inicial hasta llegar a un
valor final.
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el fin del proceso.
En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma:
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Asignación.-
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas
las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo
de variable es.
Contador: ENTERO
Edad, I: ENTERO
Direccion : CADENA_DE_CARACTERES
Salario_Basico : REAL
Opcion : CARACTER
CONSTANTE Pi 3.14159
CONSTANTE Msg “Presione una tecla y continue”
CONSTANTE ALTURA 40
Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni
tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza declarar
las variables. Sin embargo en este curso lo haremos para todos los algoritmos que realicemos,
con esto logramos hacerlos más entendibles y organizados y de paso permite acostumbrarnos a
declararlas ya que la mayoría de los lenguajes de programación (entre ellos el C++) requieren
que necesariamente se declaren las variables que se van a usar en los programas.
Veamos algunos ejemplos donde se aplique todo lo que hemos visto hasta el momento sobre
algoritmos:
Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la
suma de estos. Use Pseudocódigo y diagrama de flujos.
ALGORITMOS Y PROGRAMACION
INSTITUTO TECNOLÓGICO DE ORIZABA ING. MECANICA
Ejemplo 2: Escriba un algoritmo que permita conocer el área de un triángulo a partir de la base
y la altura. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
El Algoritmo Lineal o Secuencial tiene la característica de que todos los pasos que forman el
Algoritmo siguen una determinada Secuencia, de ahí que se le llame Secuencial.
ALGORITMOS Y PROGRAMACION