Está en la página 1de 20

Programación

Electromecánica

1
Tema 1
Definiciones fundamentales y aplicaciones

2
Un poco de historia

Una computadora es un dispositivo capaz de realizar cálculos y tomar decisiones lógicas a


velocidades de miles de millones de veces más rápidas que los humanos. Por ejemplo, muchas de
las computadoras personales actuales pueden realizar varios miles de millones de sumas en un
segundo.

Las computadoras procesan los datos bajo el control de conjuntos de instrucciones llamadas
programas de cómputo. Estos programas guían a la computadora a través de conjuntos ordenados
de acciones especificadas por gente llamada programadores de computadoras.

Las computadoras procesan los datos bajo el control de conjuntos de instrucciones llamadas
programas de cómputo. Estos programas guían a la computadora a través de conjuntos ordenados
de acciones especifi cadas por gente llamada programadores de computadoras.

Fuente: http://blog.utp.edu.co/jnsanchez/files/2011/03/Introduccion-al-lenguaje-c.pdf 3
Un poco de historia
Organización de una computadora
Unidad de entrada. Es la sección “receptora” de la computadora. Obtiene información (datos y
programas de cómputo) desde varios dispositivos de entrada y pone esta información a
disposición de las otras unidades para que pueda procesarse. La mayor parte de la información se
introduce a través de los teclados y ratones. La información también puede introducirse de
muchas otras formas, como hablar con su computadora, digitalizar imágenes, enviar fotos y videos,
y mediante la recepción de información desde una red, como Internet.

Unidad de salida. Es la sección de “embarque” de la computadora. Toma información que ya ha


sido procesada por ésta y la coloca en los diferentes dispositivos de salida, para que esté
disponible fuera de la computadora. Hoy en día, la mayor parte de la información de salida de las
computadoras se despliega en el monitor, se imprime en papel o se utiliza para controlar otros
dispositivos. Las computadoras también pueden dar salida a su información a través de redes
como Internet.

Fuente: http://blog.utp.edu.co/jnsanchez/files/2011/03/Introduccion-al-lenguaje-c.pdf 4
Un poco de historia
Organización de una computadora
Unidad de memoria. Es la sección de “almacén” de acceso rápido, pero con relativa baja
capacidad. Almacena los programas de la computadora mientras se ejecutan. Retiene la
información que se introduce a través de la unidad de entrada, para que la información pueda
estar disponible de manera inmediata para procesarla cuando sea necesario. La unidad de
memoria también retiene la información procesada hasta que ésta pueda ser colocada en los
dispositivos de salida por la unidad de salida. Por lo general, la información en la unidad de
memoria se pierde cuando se apaga la computadora. Con frecuencia, a esta unidad de memoria se
le llama memoria o memoria primaria. [A través de la historia, a esta unidad se le ha llamado
“memoria básica o magnética”, pero ese término está dejando de utilizarse en la actualidad].

Unidad aritmética y lógica (ALU). Es la sección de “manufactura” de la computadora. Es la


responsable de realizar cálculos como suma, resta, multiplicación y división. Contiene los
mecanismos de decisión que permiten a la computadora hacer operaciones como, por ejemplo,
comparar dos elementos de la unidad de memoria para determinar si son iguales o no.

Fuente: http://blog.utp.edu.co/jnsanchez/files/2011/03/Introduccion-al-lenguaje-c.pdf 5
Un poco de historia
Organización de una computadora
Unidad central de procesamiento (CPU). Es la sección “administrativa” de la computadora.
Coordina y supervisa la operación de las demás secciones. La CPU indica a la unidad de entrada
cuándo debe grabarse la información dentro de la unidad de memoria, a la ALU cuándo debe
utilizarse la información de la unidad de memoria para los cálculos, y a la unidad de salida cuándo
enviar la información desde la unidad de memoria hasta ciertos dispositivos de salida. Muchas de
las computadoras actuales contienen múltiples CPUs y, por lo tanto, pueden realizar muchas
operaciones de manera simultánea (a estas computadoras se les conoce como
multiprocesadores).

Unidad de almacenamiento secundario. Es la sección de “almacén” de alta capacidad y de larga


duración de la computadora. Los programas o datos que no se encuentran en ejecución por las
otras unidades, normalmente se colocan en dispositivos de almacenamiento secundario, como el
disco duro, hasta que son requeridos de nuevo, posiblemente horas, días, meses o incluso años
después. El tiempo para acceder a la información en almacenamiento secundario es mucho mayor
que el necesario para acceder a la de la memoria principal, pero el costo por unidad de memoria
secundaria es mucho menor que el correspondiente a la unidad de memoria primaria.

Fuente: http://blog.utp.edu.co/jnsanchez/files/2011/03/Introduccion-al-lenguaje-c.pdf 6
Un poco de historia

El Lenguaje C fue creado en 1972 por Dennis Ritchie en un PDP-11 de Digital Equipment
Corporation bajo el sistema operativo UNIX. Este lenguaje nace de la combinación de dos
lenguajes anteriores como es el BCPL (Basic Combined Programming Language)
diseñado por Martin Richards en 1967 y el lenguaje CPL (Combined Programming
Language) desarrollado por las universidades de Cambridge y Londres.

El Lenguaje C es un lenguaje de nivel medio, es decir, sin ser un lenguaje de alto nivel
como COBOL, BASIC o Pascal, tampoco es un Lenguaje Ensamblador.

Originalmente el Lenguaje C estuvo muy ligado al sistema operativo UNIX que, en su


mayor parte, está escrito en C. Más adelante se comenzó a utilizar en otros sistemas
operativos para programar editores, compiladores, etc. Aunque se le conoce como un
lenguaje de programación de sistemas, no se adapta mal al resto de aplicaciones.

Fuente: http://blog.utp.edu.co/jnsanchez/files/2011/03/Introduccion-al-lenguaje-c.pdf 7
Identificadores

El lenguaje C posee un número reducido de palabras reservadas (tan solo 32) que define
el standard ANSI-C.

Estas palabras reservadas pueden verse en la tabla siguiente:

auto break case char const continue default do


double else enum extern float for goto If
int long register return short signed sizeof static
struct switch typedef union undigned void volatile while

Fuente: https://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf 8
Fases para la resolución de problemas

La práctica debe hacerse mediante una serie de pasos, llamados metodología para la
solución de problemas por medio de computadora, los cuales se enumeran a continuación:

Fuente: https://elibro.net/es/ereader/utcotopaxi/75935?page=27 9
La definición del problema se
centra en la elaboración de un texto
que permitirá saber que es lo que se
Definición del problema
pretende solucionar, y
proporcionará información útil para
el planteamiento de la solución.

Se trata prácticamente del análisis e interpretación del problema, ahí constarán los datos
necesarios para su ejecución.
Se debe tener bien en claro la interpretación para que la ejecución sea eficaz y acorde a las
necesidades del usuario.

Fuente: https://elibro.net/es/ereader/utcotopaxi/75935?page=28 10
En este paso se debe entender por
completo el problema y dejar en
Planeación de la claro cual es la información útil que
solución se da, qué otra hace falta y, con
base en esto, determinar la mejor
solución.

Se analizan los datos que nos brinda el problema y se la clasifica en los datos de entrada, de
salida y que proceso se realiza.

Fuente: https://elibro.net/es/ereader/utcotopaxi/75935?page=28 11
Ejercicios de aprendizaje

Multiplicación de dos enteros


ENTRADA:
x
y

ALGORITMO:
INICIALIZACIÓN:
producto = 0;
u = 0;
BUCLE
while u<x
producto = producto + y;
u = u+1;
endwhile
output producto

12
Ejercicios de aprendizaje
EJEMPLO
Algoritmo para las raíces de la ecuación cuadrática

Las raíces de una ecuación cuadrática ax2 + bx + c = 0 se determinan mediante la fórmula


cuadrática:

𝑥1 −𝑏 ± 𝑏2 − 4𝑎𝑐
𝑥2 = 2𝑎

Desarrolle un algoritmo que haga lo siguiente:


Paso 1: Pida al usuario los coeficientes a, b y c.
Paso 2: Realice las operaciones de la fórmula cuadrática previendo todas las eventualidades (como,
por ejemplo, evitar la división entre cero y permitir raíces complejas).
Paso 3: Dé la solución, es decir, los valores de x.
Paso 4: Dé al usuario la opción de volver al paso 1 y repetir el proceso.

13
Algoritmos cualitativos y cuantitativo

14
Algoritmo Características de un algoritmo:
1. Es preciso. Un algoritmo indica
exactamente el orden en que deben
realizarse las operaciones.

2. Ha de estar bien definido (no ha de ser


Es un procedimiento de cálculo que ambiguo). Si se sigue el algoritmo dos
ejecuta, de forma ordenada, una veces con los mismos datos de entrada, se
serie de instrucciones y conduce a obtiene el mismo resultado.
la solución de un problema en un
tiempo finito. 3. Es finito. El algoritmo tiene que terminar
en algún momento.

Fuente: https://elibro.net/es/ereader/utcotopaxi/52196?page=17 15
Tipos de algoritmo

Cualitativo Cuantitativo

Es cualitativo cuando en su Consiste en lo opuesto al otro


proceso no existe ningún cálculo modelo ya que en este si consta
matemático cálculos matemáticos.

Ejemplos
16
Ejercicios de aprendizaje

Algoritmo Cualitativo
Algoritmo para elegir unos zapatos de fiesta: Algoritmo Cuantitativo
Algoritmo para calcular el área de un
1. INICIO triángulo rectángulo:
2. Entrar a la tienda
3. Buscar la sección de zapatos de caballero. 1. INICIO
4. Tomar un par de zapatos. 2. Hallar las medidas de la base (b) y altura
5. ¿Son zapatos de fiesta? (h)
SI: (ir al paso 6) – NO: (volver al paso 3) 3. Multiplicar: base por altura (b x h)
6. ¿Hay de la talla adecuada? 4. Dividir entre 2 el resultado (b x h) / 2
SI: (ir al paso 7) – NO: (volver al paso 3) 5. FIN
7. ¿El precio es pagable?
SI: (ir al paso 8) – NO: (volver al paso 3)
8. Comprar el par de zapatos elegido.
9. FIN

17
Desarrollo de algoritmos

18
Herramientas para el diseño de
algoritmos

Se escriben en el idioma nativo (el español, en nuestro


caso) palabras cercanas a las instrucciones de un
lenguaje de programación. Es muy recomendable
Pseudocódigo como paso intermedio entre el problema y la
Codificación de la solución en un lenguaje de
programación.

Fuente: https://elibro.net/es/ereader/utcotopaxi/39461?page=44 19
Ejercicios de aprendizaje

Problemas:

1. Necesitamos conocer el promedio de Juan en la materia de programación sabiendo que sus


notas son: m1=9, n2=5, n3=3.

2. Necesitamos calcular el salario mensual de un trabajador cuyo horario es de 7:00am – 14:00 y


el valor por hora es de $35.

20

También podría gustarte