0% encontró este documento útil (0 votos)
24 vistas20 páginas

(01-3) MatClase 01 - FP - Software y Paradigmas

Tyyty777

Cargado por

Moon Kim
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas20 páginas

(01-3) MatClase 01 - FP - Software y Paradigmas

Tyyty777

Cargado por

Moon Kim
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

BIENVENIDO AL CURSO

Fundamentos de
Programación
FUNDAMENTOS DE PROGRAMACIÓN

Logro de la semana

Al finalizar la semana, el alumno:

Comprenderá la importancia del


software en la computación, así como los
paradigmas de programación en
ciencias de la computación.

2
FUNDAMENTOS DE PROGRAMACIÓN

Introducción

El software es importante para la informática,


sin este, el hardware no tendría sentido. El
software es quien da las órdenes e indica que debe
hacer la máquina con sus elementos, cuándo y
cómo.

Una computadora sin software sería simplemente


un conjunto de chips, cables, periféricos e
interruptores totalmente inertes y sin función
alguna. Es el software quien ordena todo ese
material, lo reconoce, le asigna una función según
sus características, y permite que funcione todo
en su conjunto.

En este contexto, desde el punto de vista de


ciencias de la computación, existen diversos
paradigmas para el desarrollo de software, los
cuales veremos también en esta sesión.

3
Índice

Tema 1 Software

Tema 2 Tipos de software


SEMANA

3 Tema 3 Paradigmas de
Programación

4
FUNDAMENTOS DE PROGRAMACIÓN

Software

5
FUNDAMENTOS DE PROGRAMACIÓN

Software

Definición
→ Se conoce como software al sistema formal de un sistema informático, que comprende el conjunto de los
componentes lógicos necesarios que hace posible la realización de tareas específicas.

→ El software son los programas que se utilizan para una acción específica a realizar (Alegsa, 2016). Hay que
tener en cuenta que el software se desarrolla dentro del hardware.

Clasificación
El software se clasifica de dos maneras:
→ Sistema operativo.
→ Sistema de gestión de base de datos.

6
FUNDAMENTOS DE PROGRAMACIÓN

Software básicos – Sistema operativo Software básicos – Sistema de Gestión de Base


de Datos
• Administrador de recursos informáticos • SGBD: es un conjunto de programas que
(CPU, memoria, Discos, I/O) controla la creación, mantenimiento y uso
• Interfaz entre el hardware y el usuario de bases de datos por parte de una
• Implementación de Control de organización y sus usuarios finales.
Autenticación de Usuarios y Seguridad de la Ejemplo:
Información. • Oracle
Ejemplos: • MySQL
• Windows • Microsoft SQL.
• Linux • Etc.
• Unix

7
FUNDAMENTOS DE PROGRAMACIÓN

Software básicos – Aplicaciones Software básicos – Utilitarios

Ejemplos: Ejemplos:
• Microsoft Office
• Editor de textos de word • Compresor de archivos (ejemplo:
• Excel Winzip).
• Banco de Datos Access
• PowerPoint • Antivírus (ejemplo: Norton).
• Outlook • Etc.
• Publisher
• Administrativos
• Científicos
• Educacionales

8
FUNDAMENTOS DE PROGRAMACIÓN

Paradigmas de
programación

9
9
FUNDAMENTOS DE PROGRAMACIÓN

¿Qué es un paradigma?

Definición
• En ciencias (general)
Según Thomas Kuhn: “Un modelo particular
que, en un período de tiempo más o menos
largo y más o menos explícito, guía el
desarrollo de una investigación”.

• En Ciencias de la Computación
Según Peter Van Roy: “Un sistema formal que
define cómo se realiza la programación. Cada
paradigma tiene su propio conjunto de
técnicas y formas de estructurar el
pensamiento en la composición del software”.

10
03
FUNDAMENTOS DE PROGRAMACIÓN

Evolución de los paradigmas Observa la evolución de los paradigmas en las


ciencias de la computación.

Machine FORTRA C
Languag N Procedural
e Assembl
y
LIS
P Functional

SIMUL Smalltal C+ Jav


A k + a

PROLO
G Logic

Emergent
Banaszewski, R. (2009)
1950 1960 1970 1980 1990 2000

11
03
FUNDAMENTOS DE PROGRAMACIÓN

Actuales paradigmas de programación

Taxonomía de paradigmas de programación (Van Roy, 2009).

En la imagen se observa
los principales
paradigmas de
programación.
Para conocer un poco
más, revisa el siguiente
enlace: Programming
paradigms for dummies:
What every programmer
should know.

12
03
FUNDAMENTOS DE PROGRAMACIÓN

Actuales paradigmas de programación

• Como se observa, los Paradigma de


actuales paradigmas de programación
programación se dividen
en dos: paradigma
imperativo y el
paradigma declarativo
Paradigma imperativo Paradigma declarativo
• En el paradigma
imperativo se observa el
paradigma
procedimental y el
orientado a objetos. Paradigma Paradigma Paradigma Paradigma
procedimental orientado a funcional lógico
• Por otro lado, en el objetos
paradigma declarativo
tenemos el paradigma
funcional y el paradigma
lógico. Programación
Programación Basada en
Orientada a Reglas
Eventos

13
FUNDAMENTOS DE PROGRAMACIÓN

Lenguajes de programación
Los paradigmas emergentes, generalmente, se materializan sobre los lenguajes de los paradigmas dominantes,
como C++ y Java.
Si bien algunos de estos paradigmas tienen sus propios lenguajes, los conceptos de los mismos son más
comúnmente aplicados a los lenguajes de los Paradigmas Dominantes.

Tipos de lenguajes de programación

Lenguajes de programación

Lenguaje de bajo nivel: Lenguaje de alto nivel:


Lenguaje Ensamblador e.g. lenguajes Declarativos
(Assembly) (Prolog , LISP)
(e.g. C++, Object Pascal,...)
(e.g. C, Pascal, ...)

Lenguajes imperativos
(procedimentales, orientado a objetos)

14
FUNDAMENTOS DE PROGRAMACIÓN

Orientación a objetos (OO) Lenguaje C y C++

• Es un paradigma (“modelo genérico”, • Es un lenguaje muy importante para el Ing.


conjunto de ideas) para el diseño e Electrónica e Ing. Informática que tienden a
implementación de software, tal como lo trabajar con sistemas
es el paradigma procedimental. electrónico-computacional (por ejemplo, con
fines de optimización y ahorro de memoria)
• En cuanto a la implementación de como los sistemas integrados.
software, existen lenguajes de • Es un lenguaje ampliamente utilizado con
programación que soportan una sintaxis difundida, sirviendo como
(“naturalmente”) este paradigma, inspiraciones tecnológicas.
destacando aquí C++. • Características:
• Un lenguaje multinivel: permite crear
• En este contexto, un objeto puede programas con enfoques que van desde
entenderse como un módulo del 'bajo a alto nivel'.
software. • Organización: funciones y estructuras de
datos, así como la división del código
fuente en varios archivos.
• Flexibilidad: permite la independencia
de la memoria preasignada.

15
FUNDAMENTOS DE PROGRAMACIÓN

Lenguaje C y C++

• Soporte tecnológico:
• Los lenguajes C/C++ son compatibles con varios entornos/tecnologías, por ejemplo:
• Borland C++.
• C++ Builder da Borland .
• Microsoft Visual C++.
• Microsoft Visual C++ .Net
• Microsoft Visual C++ .Net (Express Edition)
• G++
• Dev C++
• Codeblocks

• Influencia Tecnológica de C/C++:


• Ejemplos de Tecnologias Influenciadas:
• MatLab.
• Java.
• C#.

16
FUNDAMENTOS DE PROGRAMACIÓN

Orientación a objetos- Ventajas

• Mayor seguridad del sistema.


• Paradigma actual más utilizado en el desarrollo Cada objeto "encapsula" sus datos, permitiendo que
de software. otros objetos accedan solo a aquellos miembros
• Más fácil de representar la solución prevista. (atributos y métodos) que están permitidos. Es decir,
Presenta una forma más sencilla de modelar cada objeto debe ser responsable de su estado
el software, buscando identificar los objetos interno.
de la realidad donde será insertado.
• Mejor interacción entre las fases del proyecto.
• Reducción del coste de mantenimiento. Permite el mismo enfoque desde la fase de elicitación
Cuando es necesario realizar cambios en el de requisitos (o necesidades) hasta la
software, solo se modifican los objetos implementación efectiva.
involucrados. Como consecuencia, el
software tiende a tener un ciclo de vida más • Técnicas de documentación más avanzadas, que
largo. permiten representar aspectos estructurales y de
comportamiento de los objetos.
• Mayor reutilización de código.
Un método (es decir, una operación) de un • Hace que el trabajo en equipo sea más productivo.
objeto puede ser accedido por otros objetos Porque los miembros no necesitan conocer todos los
que lo agregan, y diferentes objetos pueden detalles de implementación de cada objeto, que
compartir los mismos métodos. incluso puede representar subsistemas completos

17
FUNDAMENTOS DE PROGRAMACIÓN

REFLEXIONAMOS:
Reflexionamos

¿Cuál crees que será la principal diferencia entre un


lenguaje ensamblador y un lenguaje imperativo?,
¿qué impacto tienen?

¡Quiero escucharte!

1. Comparte tu opinión con nosotros en nuestra


sesión semanal.
2. Investiga más sobre el tema revisando los
materiales de la semana.

¡Éxitos!

18
18
FUNDAMENTOS DE PROGRAMACIÓN

REFERENCIAS
Referencias

o Alegsa, L. (21 de Junio 2016). Diccionario de informática y


tecnología. http://www.alegsa.com.ar/Dic/software.php

o Banaszewski, R. (2009). Paradigma orientado a


notificações: avanços e comparações. Disertación para
grado de Magister. CPGEI/UTFPR - CuritibaPR.

o Kernighan, B. y Ritchie, D. (1988). The C programming


language. Pearson Educación.

o Deitel, H. y Deitel, P. (2001). C++ como programar. (3ra ed.).


Prentice Hall.

o Lippman S. y Lajoie J. (1998). C++ Primer. (3ra ed.).


Addison-Wesley.

o Stroustrup B. (2000). C++ Programming Language The


Special Edition. Addison-Wesley (Pear)

19
¡GRACIAS!

También podría gustarte