Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 37

INSTITUTO TECNOLÓGICO SUPERIOR DE TIERRA BLANCA

ALGORITMOS Y
LENGUAJE DE
PROGRAMACIÓN

INGENIERÍA INDUSTRIAL
PRESENTACIÓN DE LA ASIGNATURA

• La asignatura de Algoritmos y Lenguajes de Programación aporta al perfil del


egresado, los conocimientos, habilidades, metodologías, así como capacidades
de análisis y síntesis, para resolver problemas numéricos en lenguajes de
programación pertinentes a las áreas de producción y toma de decisiones.
• La asignatura es muy importante para los estudiantes ya que el uso de las
tecnologías de información y comunicación son muy utilizadas en el ambiente
laboral, la capacidad de resolver problemas por medio de las computadoras es
muy demandado en la industria manufacturera que es el principal campo de
acción de los egresados.
COMPETENCIA DE LA ASIGNATURA

Resuelve problemas de programación mediante la


aplicación de herramientas computacionales para el
desarrollo de proyectos.
CRITERIOS DE EVALUACIÓN
Evidencia Porcentaje
Actividades en clase 50%
Resolución de 20%
problemas
Evaluación 30%
Total 100%

*Porcentaje mínimo requerido 70%


EVALUACIÓN DIAGNOSTICA

De carácter indagador, permite


conocer el estado inicial de
desempeño de los estudiantes.

No afecta su calificación.
INTRODUCCIÓN A LA COMPUTACIÓN

Informática: (Ciencia de la computación) Conjunto de conocimientos científicos y


técnicas que hacen posible el tratamiento automático de la información por medio
de ordenadores.

Computadora: Máquina electrónica, analógica o digital, dotada de una memoria de


gran capacidad y de métodos de tratamiento de la información, capaz de resolver
problemas matemáticos y lógicos mediante la ejecución de programas informáticos.
COMPUTADORAS
En muchas partes y con muchas formas
HARDWARE Y SOFTWARE

• Hardware: Componentes que integran la parte material de una computadora.


• Software: Programas, instrucciones y reglas informáticas para ejecutar tareas en una
computadora.
• El sistema operativo es el software que coordina y dirige todos los servicios
y aplicaciones que utiliza el usuario en una computadora
PROGRAMACIÓN DE COMPUTADORAS

Programación: Se denomina programación a todo el proceso que conlleva la construcción de


programas. Para elaborar un programa hay que definir un conjunto de instrucciones que le
dicen a una computadora como realizar algún tipo de tarea. La ingeniería del software se
encarga del estudio y la aplicación de los distintos métodos existentes para desarrollar
completamente aplicaciones informáticas.

Programa: es un conjunto de instrucciones precisas, escritas en un lenguaje "entendible" por


la computadora que interpreta para resolver un problema o una función especifica
PROGRAMACIÓN DE COMPUTADORAS
Un lenguaje de programación es un lenguaje artificial, diseñado para representar algoritmos
de forma entendible para las computadoras. Existen muchos lenguajes de programación, pero
el único que entiende el ordenador directamente, es el lenguaje máquina, cuyas instrucciones
están codificadas en forma de secuencias de ceros y unos (bits). El resto de lenguajes necesitan
traducir o interpretar las instrucciones al lenguaje máquina.
El problema es que los lenguajes que realmente entienden los ordenadores resultan difíciles
para nosotros, porque son muy distintos de los que nosotros empleamos habitualmente para
hablar. Escribir programas en el lenguaje que utiliza internamente el ordenador (llamado
"lenguaje máquina" o "código máquina") es un trabajo duro, tanto a la hora de crear el
programa como (especialmente) en el momento de corregir algún fallo o mejorar lo que se
hizo.
Por eso, en la práctica se emplean lenguajes más parecidos al lenguaje humano, llamados
"lenguajes de alto nivel".
PROGRAMACIÓN DE COMPUTADORAS

Vamos a ver en primer lugar algún ejemplo de lenguaje de alto nivel, para después comparar
con lenguajes de bajo nivel, que son los más cercanos al ordenador.
Uno de los lenguajes de alto nivel más sencillos es el lenguaje BASIC. En este lenguaje,
escribir el texto Hola en pantalla, sería tan sencillo como usar la orden:
PRINT "Hola"

Otros lenguajes, como Pascal, nos obligan a ser algo más estrictos, pero a cambio hacen más
fácil descubrir errores: program Saludo;
begin
write('Hola');
end.
PROGRAMACIÓN DE COMPUTADORAS
El equivalente en lenguaje C resulta algo más difícil de leer, sin embargo el lenguaje más
utilizado por programadores expertos de alto nivel, y es con el que trabajaremos en este curso

#include <stdio.h>  
int main()
{
printf("Hola");
return 0;
}

Los lenguajes de bajo nivel son más cercanos al ordenador que a los lenguajes humanos. Eso
hace que sean más difíciles de aprender y también que los fallos sean más difíciles de
descubrir y corregir, a cambio de que podemos optimizar al máximo la velocidad (si sabemos
cómo), e incluso llegar a un nivel de control del ordenador que a veces no se puede alcanzar
con otros lenguajes.
LENGUAJES DE PROGRAMACIÓN

En los últimos años los lenguajes de programación han ido evolucionado en el


desarrollo de sistemas o software, con el objetivo principal de facilitar al usuario las
actividades que realiza día con día.
“Un lenguaje de programación es una herramienta que permite
desarrollar software o programas para computadora.”
Los lenguajes de programación son empleados para diseñar e implementar programas
encargados de definir y administrar el comportamiento de los dispositivos físicos y
lógicos de una computadora. Lo anterior se logra mediante la creación e
implementación de algoritmos de precisión que se utilizan como una forma de
comunicación humana con la computadora.
LENGUAJES DE PROGRAMACIÓN

Existen tres tipos de lenguaje de programación

Lenguaje de máquina (lenguaje de bajo nivel).


Lenguaje ensamblador (lenguaje de bajo nivel).
Lenguaje de alto nivel.
LENGUAJE MAQUINA

• Es una colección de dígitos binarios o bits que la computadora lee e interpreta.


• Los lenguajes de máquina son los únicos idiomas que las computadoras entienden.
Aunque las computadoras las entienden fácilmente, los lenguajes de máquina son casi
imposibles de usar por los humanos, ya que consisten completamente de números.
• Los idiomas de bajo nivel están más cerca del idioma utilizado por una computadora,
mientras que los idiomas de alto nivel están más cerca de los idiomas humanos.
EJEMPLO

Un motor tiene un procesador y memoria principal. El motor puede rotar a la izquierda y a la


derecha, y puede verificar el interruptor de encendido / apagado.

Las instrucciones de la máquina son de un byte de largo y corresponden a las operaciones de la máquina.
LENGUAJE ENSAMBLADOR

• El lenguaje ensamblador expresa las instrucciones de una forma más natural


al hombre, el problema es que la computadora no comprende el código
ensamblador, por lo que necesitamos una forma de convertirlo a código de
máquina, que la computadora sí entiende.
• Los programas de lenguaje ensamblador se traducen al lenguaje de máquina
mediante un programa llamado ensamblador.
EJEMPLO
Estas son algunas instrucciones usadas en lenguaje ensamblador:

• add. Instruye al procesador para que sume dos operandos y almacene


el resultado.
• mov. Es una instrucción común en varios lenguajes ensambladores,
sirve para mover datos o registros de un sitio a otro.
• mul. Da instrucciones al procesador de realizar la multiplicación de
dos operandos, cumpliendo previamente con ciertas condiciones.
• and. Es la instrucción necesaria para utilizar el operador lógico ‘y’ en
lenguaje ensamblador.
LENGUAJE ALTO NIVEL

• Los idiomas de alto nivel nos permiten escribir códigos de computadora


usando instrucciones que se asemejan al lenguaje hablado cotidiano (por
ejemplo: imprimir, si, mientras) que luego se traducen al lenguaje de
máquina para ser ejecutados.
EJEMPLOS

Cobol
• Ha ido mejorando y evolucionando con el paso de los años y llegó a transformarse en uno de los
lenguajes más asentados del mundo. Una de sus particularidades radica también en la sencillez
debido a que se basa en el uso del inglés de una forma simplificada.
Fortran
• IBM creó este lenguaje de programación de alto nivel, el primero del mundo tal y como ha sido
registrado en términos históricos., enfocándose al sector técnico y científico. es especialista en el
aspecto matemático
C
• Gran relevancia en el lenguaje de alto nivel. Su meta desde siempre fue conseguir un tipo de
lenguaje que pudiera separarse de la máquina y que facilitara una nueva forma de ver las cosas.
COMPARACIÓN ENTRE EL LENGUAJE NATURAL
Y LOS LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación son más formales y rigurosos destinados a maquinas y el
lenguaje natural a personas. Esto es debido a que sus instrucciones no son ambiguas y por lo
tanto no permiten distintas interpretaciones.

Lenguajes naturales Lenguajes de programación  


Más ambiguo. Los humanos tienen la Más estricto y menos tolerante. Los
habilidad de determinar el significado de ordenadores son muy precisos en cuanto a
una expresión.    las instrucciones que les gusta recibir. 
Están abiertos y permiten combinaciones Son cerrados y están hechos para evitar
sin riesgo de error.  confusiones y errores.  
HERRAMIENTAS DE PROGRAMACIÓN

Para implementar la solución de un problema mediante el uso de una


computadora es necesario establecer una serie de pasos que permitan resolver
el problema, a este conjunto de pasos se le denomina algoritmo, el cual debe
tener como característica final la posibilidad de transcribirlo fácilmente a un
lenguaje de programación, para esto se utilizan herramientas de programación,
las cuales son métodos que permiten la elaboración de algoritmos escritos en
un lenguaje entendible
HERRAMIENTAS DE PROGRAMACIÓN

Un algoritmo, aparte de tener como característica la facilidad para


transcribirlo, debe ser:
• 1. Preciso. Debe indicar el orden en el cual debe realizarse cada uno de los
pasos que conducen a la solución del problema.
• 2. Definido. Esto implica que el resultado nunca debe cambiar bajo las
mismas condiciones del problema, éste siempre debe ser el mismo.
• 3. Finito. No se debe caer en repeticiones de procesos de manera innecesaria;
deberá terminar en algún momento.
HERRAMIENTAS DE PROGRAMACIÓN

Las herramientas o técnicas de programación que más se utilizan y que se


emplearán para la representación de algoritmos son dos:
• 1. Pseudocódigo: es una serie de pasos bien detallados y claros que conducen
a la resolución de un problema.
• 2. Diagramas de flujo: es la representación gráfica mediante símbolos
especiales, de los pasos o procedimientos de manera secuencial y lógica que
se deben realizar para solucionar un problema.
• EL PSEUDOCÓDIGO es una forma de expresar los distintos pasos que va a
realizar un programa, de la forma más parecida a un lenguaje de programación.
Su principal función es la de representar por pasos la solución a un problema o
algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al
de programación

Por ejemplo, el pseudocódigo para determinar el volumen de una caja de dimensiones A,


B y C se puede establecer de la siguiente forma
LOS DIAGRAMAS DE FLUJO desempeñan
un papel vital en la programación de un
problema, ya que facilitan la comprensión de
problemas. facilitan la comunicación entre los
programadores y los usuarios, además de que
permiten de una manera más rápida detectar
los posibles errores de lógica que se presenten
al implementar el algoritmo.

En la tabla se muestran algunos de los principales símbolos


utilizados para construir un diagrama de flujo. los cuales se
indican las operaciones que se efectuarán a los datos con el
fin de producir un resultado.
IDENTIFICADORES

Son los nombres que se les asignan a los objetos, los cuales se pueden
considerar como variables o constantes, éstos intervienen en los procesos que
se realizan para la solución de un problema, por consiguiente, es necesario
establecer qué características tienen.
• Un identificador se clasifica como constante cuando el valor que se le asigna
a este identificador no cambia durante la ejecución o proceso de solución del
problema
• Los identificadores de tipo variable son todos aquellos objetos cuyo valor
cambia durante la ejecución o proceso de solución del problema
EJEMPLO 1

• Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen


la misma ponderación. Realice el pseudocódigo y el diagrama de flujo que
representen el algoritmo correspondiente para obtener el promedio de las
calificaciones obtenidas.
RESULTADO
PSEUDOCODIGO DIAGRAMA DE FLUJO

• 1. Inicio
• 2. Leer C1, C2, C3, C4
• 3. Hacer S = C1 + C2 + C3 + C4
• 4. Hacer P = S/4
• 5. Escribir P
• 6. Fin
EJEMPLO 2

Se desea implementar un algoritmo para determinar cuál de los dos valores


proporcionados es el mayor
RESULTADO
PSEUDOCODIGO DIAGRAMA DE FLUJO

• 1. Inicio
• 2. Leer A, B
• 3. Si A > B
Entonces
Hacer M = A
Si no
Hacer M = B
Fin de comparación
• 4. Escribir “el mayor es”, M
• 5. Fin
EJERCICIOS EN CLASE

1.- Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen
la misma ponderación. Realice el pseudocódigo y el diagrama de flujo que
representen el algoritmo correspondiente para obtener el promedio de la
calificación obtenida
EJERCICIOS EN CLASE

2.- Se requiere conocer el área de un rectángulo. Realice un algoritmo para tal


fin y represéntelo mediante un diagrama de flujo y el pseudocódigo para
realizar este proceso.
Como se sabe, para poder obtener el área del rectángulo, primeramente se tiene
que conocer la base y la altura, y una vez obtenidas se presenta el resultado
EJERCICIOS EN CLASE

3.- Un productor de leche lleva el registro de lo que produce en litros, pero


cuando entrega le pagan en galones. Realice un algoritmo, y represéntelo
mediante un diagrama de flujo y el pseudocódigo, que ayude al productor a
saber cuánto recibirá por la entrega de su producción de un día (1 galón =
3.785 litros).
EJERCICIOS EN CLASE

4.- Se requiere determinar el sueldo semanal de un trabajador con base en las


horas que trabaja y el pago por hora que recibe. Realice el diagrama de flujo y
el pseudocódigo que representen el algoritmo de solución correspondiente.
Para obtener la solución de este problema es necesario conocer las horas que
labora cada trabajador y cuánto se le debe pagar por cada hora que labora
EJERCICIOS EN CLASE

• 5.- Realice un algoritmo para determinar cuánto se debe pagar por equis
cantidad de lápices considerando que si son 1000 o más el costo es de 85¢;
de lo contrario, el precio es de 90¢. Represéntelo con el pseudocódigo, el
diagrama de flujo
Referencias Bibliográficas

https://sites.google.com/site/474introduccionalaprogramacion/ev
olucion/lenguajes-de-alto-nivel

https://www.cerasa.es/media/areces/files/book-attachment-3030.
pdf

http://www.aprendeaprogramar.com/mod/resource/view.php?id=
590

https://www.fdi.ucm.es/profesor/luis/fp/fp.pdf

You might also like