Paradigmas de programación y conceptos básicos

35
Universidad Autónoma del Estado de México Centro Universitario Valle de Chalco Paradigmas de programación y conceptos básicos Dra. María de Lourdes López García Lenguaje de Programación Estructurado Unidad de aprendizaje I Ingeniero en Computación Ma. de Lourdes López García September 30, 2019 1 / 35

Transcript of Paradigmas de programación y conceptos básicos

Page 1: Paradigmas de programación y conceptos básicos

Universidad Autónoma del Estado deMéxico

Centro Universitario Valle de Chalco

Paradigmas de programación y conceptosbásicos

Dra. María de Lourdes López García

Lenguaje de Programación EstructuradoUnidad de aprendizaje I

Ingeniero en Computación

Ma. de Lourdes López García September 30, 2019 1 / 35

Page 2: Paradigmas de programación y conceptos básicos

Propósito de la Unidad de Aprendizaje

Esta unidad de aprendizaje tiene la finalidad deproporcionar y desarrollar en el alumno las habilidadesque requiere para la codificación de programas en unlenguaje de programación estructurado, cubriendo lasnecesidades de programación y codificación para eldesarrollo de sistemas que un profesional en el área de lacomputación pueda tener.

Ma. de Lourdes López García September 30, 2019 2 / 35

Page 3: Paradigmas de programación y conceptos básicos

Introducción

La computadora es una máquina que recibe datos, losprocesa y reporta los resultados.

1. Dispositivos de entrada: son todos aquellos quepermiten la comunicación del usuario hacia lacomputadora, como los teclados, lápices ópticos,escáneres y ratones.

2. Dispositivos de salida: son todos aquellos quepermite la comunicación de la computadora hacia elusuario, como las pantallas, impresoras y las bocinas.

Ma. de Lourdes López García September 30, 2019 3 / 35

Page 4: Paradigmas de programación y conceptos básicos

Introducción

La computadora es una máquina que recibe datos, losprocesa y reporta los resultados.

3. Hardware: es la parte palpable de la computadoracomo la tajeta madre, procesador, memorias, discoduro, etc.

4. Software: es la parte intangible, es decir, todos losprogramas que ayudan al control y uso de lacomputadora.

5. Usuario

Ma. de Lourdes López García September 30, 2019 4 / 35

Page 5: Paradigmas de programación y conceptos básicos

Software

El software es un conjunto de funciones y procedimientos paraque la computadora lleve a cabo tareas específicas y quepermiten el funcionamiento del hardware. Puede clasificarseen:

I Software de sistemas.

I Software de uso general.

I Software de uso específico.

Ma. de Lourdes López García September 30, 2019 5 / 35

Page 6: Paradigmas de programación y conceptos básicos

Lenguaje de programación

1. Un lenguaje (en la informática) es un conjunto designos y reglas que permite la comunicación con unacomputadora. (RAE)

2. Un lenguaje de programación es un conjunto dereglas sintácticas y semánticas que permiten lacomunicación con una computadora.

Ma. de Lourdes López García September 30, 2019 6 / 35

Page 7: Paradigmas de programación y conceptos básicos

Lenguaje de programación

1. Un lenguaje de bajo nivel permite controlar elhardware de la computadora de manera directa.I Lenguaje máquina.I Lenguaje ensamblador.

2. Un lenguaje de alto nivel permite la interpretación enun lenguaje natural (entendible por los humanos) aun lenguaje máquina a través de algoritmos.I C, Java, C++, C#

Ma. de Lourdes López García September 30, 2019 7 / 35

Page 8: Paradigmas de programación y conceptos básicos

Algoritmo

1. Es la expresión de cómo calcular el valor de una funcióndada una lista cualquiera de parámetros de la misma.Antonio Mechén (2011) Diseño de programas. Alfaomega.

2. Es un conjunto finito de operaciones a realizar pararesolver un determinado problema.

3. Es un conjunto finito de pasos, precisos y ordenadospara resolver un problema. Jiménez, Jiménez y Alvarado(2014) Fundamentos de programación. Alfaomega.

Ma. de Lourdes López García September 30, 2019 8 / 35

Page 9: Paradigmas de programación y conceptos básicos

Caraterística de un algoritmo

1. Finito: debe tener un número razonable de pasos pararesolver el problema, (inicio y fin).

2. Preciso: cada instrucción debe ser clara y precisa.

3. Ordenado: las instrucciones deben organizarse de maneralógica y ordenada.

Ma. de Lourdes López García September 30, 2019 9 / 35

Page 10: Paradigmas de programación y conceptos básicos

Modos de representar un algoritmo

I Narrativo o descriptivo.

I Pseudocódigo.

I Diagrama de flujo.

Ma. de Lourdes López García September 30, 2019 10 / 35

Page 11: Paradigmas de programación y conceptos básicos

Problema 1

Desarrolle un algoritmo que lea un número entero yverifique si es par o impar.

Ma. de Lourdes López García September 30, 2019 11 / 35

Page 12: Paradigmas de programación y conceptos básicos

Problema 1: algoritmo narrativo

1. Inicio

2. Se declara un entero a.3. Se solicita al usuario se proporcioneun número y se lee a.4. Se calcula el módulo 2 de a.5. Si el resultado es 1 entonces seimprime que es par.

6. Sino entonces se imprime el resultadoes impar.

7. Fin.

Ma. de Lourdes López García September 30, 2019 12 / 35

Page 13: Paradigmas de programación y conceptos básicos

Problema 1: algoritmo en pseudocódigo

1. Inicio

2. Declarar el entero a3. Imprimir Proporcione un número

4. Leer a5. Si a modulo 2 = 0 entonces

5.1 Imprimir Es par

5.2 Sino

5.2.1 Imprimir Es impar

5.3 fin-Si

6. Fin.

Ma. de Lourdes López García September 30, 2019 13 / 35

Page 14: Paradigmas de programación y conceptos básicos

Problema 1: diagrama de flujo

Ma. de Lourdes López García September 30, 2019 14 / 35

Page 15: Paradigmas de programación y conceptos básicos

Problema 2

Desarrolle un algoritmo que lea números enteros y lossume hasta que reciba un número negativo.

Ma. de Lourdes López García September 30, 2019 15 / 35

Page 16: Paradigmas de programación y conceptos básicos

Problema 2: algoritmo narrativo

1. Inicio

2. Se declaran dos números enteros x y totaly se asigna el valor a cero a ambos.

3. Se solicita al usuario se proporcioneel número que desea y se lee x.4. Se verifica si el número proporcionadoes mayor a cero.

5. Mientras sea x mayor a cero entonces sesuma a total y vuelve a leer x.6. Si es menor a cero imprime el valor detotal.7. Fin.

Ma. de Lourdes López García September 30, 2019 16 / 35

Page 17: Paradigmas de programación y conceptos básicos

Problema 2: algoritmo en pseudocódigo

1. Inicio

2. Declarar x = 0, total = 0 enteros

3. Mientras x >= 0 realiza

3.1 total = total + x3.2 Imprimir Proporcione el valor de x3.3 Leer x3.4 fin-mientras

4 Imprimir total5. Fin.

Ma. de Lourdes López García September 30, 2019 17 / 35

Page 18: Paradigmas de programación y conceptos básicos

Problema 2: diagrama de flujo

Ma. de Lourdes López García September 30, 2019 18 / 35

Page 19: Paradigmas de programación y conceptos básicos

Programa

Un programa es un conjunto de instrucciones basadasen un lenguaje de programación que una computadoraejecuta para realizar una acción específica y debe serconciso, claro, eficiente, eficaz y portable.

I Programa fuente (hecho por el programador)

I Programa objeto (generado por el compilador dellenguaje)

Ma. de Lourdes López García September 30, 2019 19 / 35

Page 20: Paradigmas de programación y conceptos básicos

Ejemplo de un programa fuente

Código en Lenguaje C del problema 1.

Ma. de Lourdes López García September 30, 2019 20 / 35

Page 21: Paradigmas de programación y conceptos básicos

Ejemplo de un programa fuente

Código en Lenguaje C del problema 2.

Ma. de Lourdes López García September 30, 2019 21 / 35

Page 22: Paradigmas de programación y conceptos básicos

Paradigmas de programación

Los tipos de programación más comunes son lossiguientes:

I Imperativo o procedimental: se le indica a lacomputadora cada paso a realizar, claramentedefinido.

I Lógico: se basa en el concepto de proposición ypredicado, mediante la aplicación de hipótesis, reglasde inferencia, tautologías y teoremas.

Ma. de Lourdes López García September 30, 2019 22 / 35

Page 23: Paradigmas de programación y conceptos básicos

Paradigmas de programación

I Estructurado: se basa en el uso de tres instruccionesbásicas (secuencia, condicional e interación).

I Modular: consiste en dividir un programa grande enmódulos o subprogramas más pequeños, con el finde hacerlo más entendible y manejable.

Ma. de Lourdes López García September 30, 2019 23 / 35

Page 24: Paradigmas de programación y conceptos básicos

Paradigmas de programación

I Orientado a objetos: se basa en expresar elproblema como objetos definidos de cierta clase ydesarrollando acciones a través de sus métodos.

I En la nube: proporciona un servicio de computacióna través de Internet, comprando tiempo máquina sinnecesidad de instalación de los compiladores.

Ma. de Lourdes López García September 30, 2019 24 / 35

Page 25: Paradigmas de programación y conceptos básicos

Lenguaje de programación estructurado

Resuelve los problemas presentados a través de algoritmosque usen las siguientes instrucciones:

I Instrucciones de secuencia: operaciones aritméticas,lógicas y relacionales.

I Intrucciones de condición: condiciones simples,compuestas y anidadas.

I Instrucciones de repetición: ciclos determinados y nodeterminados.

Ma. de Lourdes López García September 30, 2019 25 / 35

Page 26: Paradigmas de programación y conceptos básicos

Instrucciones de secuencia

Con ellas se realizan las operaciones básicas

I Operaciones aritméticas: suma, resta, multiplicación ydivisión.

I Operaciones lógicas: and, or y not.

I Operaciones relacionales: <,≤, >,≥, 6=,=

Ma. de Lourdes López García September 30, 2019 26 / 35

Page 27: Paradigmas de programación y conceptos básicos

Instrucciones de secuencia

Ejemplos, para el lenguaje de programación C:

I Operaciones aritméticas: a + b, a− b, a ∗ b, a/b.

I Operaciones lógicas: aδδb, a||b, !a

I Operaciones relacionales:a < b,a ≤ b,a > b,a ≥ b,a! = b,a == b

Ma. de Lourdes López García September 30, 2019 27 / 35

Page 28: Paradigmas de programación y conceptos básicos

Instrucciones de condición

Con ellas se realizan preguntas con respuestas binarias de 0 o1, verdadero o falso, si o no.

I Condiciones simples: if

I Condiciones compuestas: if-else

I Condiciones anidadas: if (if-else) else (if)

I Condiciones múltiples: switch-case

Ma. de Lourdes López García September 30, 2019 28 / 35

Page 29: Paradigmas de programación y conceptos básicos

Ejemplo de un programa fuente

Código en Lenguaje C para las instrucciones de condición 1/2.

Ma. de Lourdes López García September 30, 2019 29 / 35

Page 30: Paradigmas de programación y conceptos básicos

Ejemplo de un programa fuente

Código en Lenguaje C para las instrucciones de condición 2/2.

Ma. de Lourdes López García September 30, 2019 30 / 35

Page 31: Paradigmas de programación y conceptos básicos

Instrucciones de repetición

Con ellas se realizan ciclos hasta que la condición de paro secumpla.

I Ciclo determinado (se sabe cuántas veces va a repetirse):for

I Ciclos indeterminado (sabe cuándo terminar pero nocuántas veces se va a repetir)

I Primero preguta y luego realiza: while

I Primero realiza y luego pregunta: do-while

Ma. de Lourdes López García September 30, 2019 31 / 35

Page 32: Paradigmas de programación y conceptos básicos

Ejemplo de un programa fuente

Código en Lenguaje C para las instrucciones de repetición.

Ma. de Lourdes López García September 30, 2019 32 / 35

Page 33: Paradigmas de programación y conceptos básicos

Comentarios finales

I El uso de la tecnología permite tener mayor eficiencia yprecisión en muchas de las aplicaciones.

I En el ámbito computacional, desarrollar soluciones deacuerdo al problema establecido permite el uso delparadigma de programación más adecuado.

Ma. de Lourdes López García September 30, 2019 33 / 35

Page 34: Paradigmas de programación y conceptos básicos

Comentarios finales

I El diseño de un algoritmo que resuelve un problemadeterminado debe ser independiente del lenguaje en elque se programa, así permitirá ser implementado endiferentes paradigmas y en diferentes lenguajes deprogramación.

I La programación estructurada permite resolver problemasusando las instrucciones básicas de secuencia, condicióny repetición, sin la necesidad de utilizar herramientas máselaboradas.

Ma. de Lourdes López García September 30, 2019 34 / 35

Page 35: Paradigmas de programación y conceptos básicos

Bibliografía

1. José Jiménez Murillo, Eréndira Jiménez Hernández yLaura Alvarado Zamora (2014) Fundamentos deprogramación. Editorial Alfaomega.

2. Pablo Augusto Sznajdleder (2012) Algoritmos a fondo conimplementaciones en C y JAVA. Editorial Alfaomega.

3. Antonio Mechén Peñuela (2011) Diseño de programas.Editorial Alfaomega.

4. José Jiménez Murillo, (2009) Matemática para lacomputación. Editorial Alfaomega.

Ma. de Lourdes López García September 30, 2019 35 / 35