Paradigmas y Lenguajes de Programacion
Control de flujo
Tipos de estructuras
Estructura secuencial
Permite efectuar las actividades de forma consecutiva, sin excluir ninguna actividad y agregar bifurcaciones. Cada estructura dispone de una entrada y salida.
Estructura alternativa
Establece que la existencia y cumplimiento de una condición implica la separación de una secuencia junto con la ejecución de una accion establecida. Es la manera que el lenguaje de programación emplea para provocar que el flujo de la ejecución progrese.
Estructuras Alternativas mas utilizadas
it-else
La condicion Else es opcional y permite alojar diversos ifs.
swinch
Efectua diversas operaciones fundamentándose en el valor establecido por la unica variable. El valor de cada expresión se examina con cada uno de los literales pertenecientes a la sentencia .
Estructura repetitiva
Son aquellas en las cuales las acciones admiten ser ejecutadas mediante un numero determinado o indetermiando de veces que se subordinan de un valor predefinido o el cumplimiento de una condicion.
Las estructuras Repetitivas son:
While
Reincide el mismo bloque de código hasta que se concluya una determinada condición. Cada ciclo se compone de dos partes, Cuerpo y Condición.
do-While
Similar al proceso de que efectúa while con la diferencia que en siempre se efectuara el cuerpo de un ciclo, en alguna ocasion.
For
Ejecuta los mismo procesos de While y do-While pero establece que las iteraciones pueden ser aquellas expresiones matematicas validas y su sintaxis es de forma compacta.
Si aquellas estructuras iterativas no son empleadas en ningún proceso, se convierte en un buble infinito.
Establece que cada programa debe copiarse empleando solamentre tres estructuras de control muy importantes.
Secuencial
Efectua una secuencia enseguida de otra, asi sucecivamente.
Repetitiva o imperativa
Iterar un bloque de secuencias hasta que se plantee una determinada condicion.
Alternativa o condicional
Se valora un aexpresion y segun el resultado se escoge la proxima sentencia a ejecutar.
Tipos de datos Compuestos
Podemos encontrar los Arrays
Para acceder a un Array determinado se accede por medio de un indice. Ademas los Arrays pueden contener varias dimensiones y constan de posiciones continuas.
Representan un conjunto de variables del la misma clase que se citan por un nombre en comun. Los Arrays solamente admiten almacenar un tipo concreto de datos.
Las estructuras consisten en serie de variables que se relacionan bajo un único nombre y a diferencia del Array permite efectuar combinaciones de variables de distintas clases.
Clases de Arrays
Arrays Unidimensionales y Bidimensionales
Representan un conjunto de variables pertenecientes a un mismo tipo, los cuales se citan por medio de un nombre en comun.
El formato que se utiliza para representar un Array bidimensional es:
Tipo nombre_array[Tamaño 1],[Tamaño 2],...
Se componen de varias dimensiones, la dirección inferior pertenece al primer elemento y la superior al ultimo elemento.
Los Arrays Unidemiensionales se puede declarar empleando el siguiente formato.
Tipo nombre_arrray[Tamaño]
Arrays Multidimensionales
Se emplean para el almacenamiento de tablas de valores que dispongan de diversas filas y columnas, asi mismo permite referenciar un dato, indicando su posición correcta.
Los Arrays Multidimensionales son representados por medio del siguiente formato:
Tipo nombre_array[fila][columna]
Estructuras
La estructuras forman una plantilla, las cuales admite ser empleadas para crear nuevas variables de las mismas, dichas variables también son llamadas elementos estructurados.
Caracterisitcas
Consisten en un conjunto de variables que se acojen bajo el mismo nombre, brindando un medio eficaz, para agrupar la informacion relacionada.
Permiten ahorra memoria, y evitan declara las variables que efectuan las mismasn funciones.
Las varibles que contituyen una estructura, se denominan mienbros de las estructuras y se relacionan entre si.
Funciones
Resferente a la programacion una funcion es el concepto para explicar una secuencia de ordenes que efectuan una actividad especifica.
Caracteristicas
Consisten en un valor que la función reintegrara una vez concluya su ejecucion.
Aporta un nombre unico con el cual se reconoce y se diferencia a la funcion.
Radica en una base de datos brindados que la función percibe para ejecutar una determinada actividad.
Se compone de un conjunto de ordenes o sentencias que debe realizar una funcion.
Tipos de Funciones
Funciones Internas
Permiten efectuar las actividades especificas de un lenguaje, como:
Caracteres y cadenas.
Operaciones matematicas.
Funciones definidas por los usuarios
El usuario determina el prototipo de la funcion, por ejemplo:
Efectuar una llamada y lograr desarrollar su propia funcion.
Sintaxis del prototipo
Sintaxis de la llamada.
Sintaxis del desarrollo.
Recursividad
Es el proceso empleado en informatica que consiste en que una funcion se llame a si misma, perfeccionando los errores y lanzado sugerencias al usuario.
Las funciones recusivas pueden empleasen para instituir versiones de algoritmos mas sencillos y eficaces.
Permite ahorrar la digitalizacion de código y a su vez generar un extenso uso de memoria.
Ambitos de las Variables
Variables locales
Las variables globales son aquellas que permiten ser ejecutadas desde diferentes fragmentos del codigo fuente. Sostienen sus valores durante el proceso de ejecución y se deben declarar de forma externa en todas las funciones.
Variables locales
Una variable es local cuando se ejecuta dentro de una funcion. Ademas solo pueden ser empleadas por sentencias que se encuentran dentro de una función que ha sido declarada.
Paradigmas de programacion
Clases de Paradigmas
Paradigma imperativo o procedimientos
Representa una forma de digitalizar programas continuos, asi mismo brindan las indicaciones pertinentes de las actividades que debe efectuar un programa.
Indicaciones de una actividad
1. El programa dispone de un diseño modular
2.Los módulos son creados de forma que permiten que un problema complejo se clasifique en problemas mas sencillos.
3.Cada modulo se codifica empleando, la secuencia, selección y repeticion.
El paradigma Imperativo surgio en los años 50, cuando los desarrolladores identificaron las variables junto con los comandos que formaban una adstraccion de acceso a la memoria y actualizacion de las instrucciones de maquina.
Características
Describe el proceso para realizar el calculo mas no lo justifica.
La sentencia principal representa la asignación. Ademas registra la definicion de procedimientos.
Las variables consisten en celdas de memorias que contiene datos y pueden ser modificadas.
Las variables también representan el estado del programa.
Establecen la definición de tipos de datos y también indica los pasos de ejcucion de un proceso.
Realiza la revision de diversas clases en el proceso de ejecución y enseña los estados de cambio de las variables.
Lenguajes asociados al paradigma imperativo
COBOL, Visual Basic.
PASCAL, ADA.
Java, C++, Python
Paradigma funcional
Caracteristicas
Eta fundamentado en los modelos de computo denominado calculo lamda junto con la logico combinatoria.
Sus repesctiva funciones son componentes que pertenecen al primer orden.
Evalua la reduccion funcional utilizando tecnicas como:
Recursividad
CPS
Parametros acumuladores
Involucra la familia de lenguajes de programacion Lisp de clase multiplaradigma.
Podemos encontrar la familia ML, la cual incorpora:
Correspondencia de determinado patrones
Incluye la tranparencia referencial
Utiliza un sistema preciso de clases.
Evalua la estructura de los datos infinitos.
Birnda valores sin efectos laterales, no dispone de la asignacion, y emplea la programacion declarativa.
La computacion se efectua por medio de la expresion de valores, ademas se pueden conceptualizar sus funciones.
Sus funciones matematicas representan una coneccion entre el dominio y e rango.
Dominio
Los dominios son valorados cuando se introducen en la funcion y es empleado solamente para solicitar el resultado final.
Las funciones se añaden a los elementos del dominio que a su vez reintegra un componente del rango.
Rango
Son aquellos valores arrojados por un sistema.
Paradigma declarativo
El paradima declarativo se fundamenta en aquellos programas que implementa una relación por anticipado a una correspondencia . Pues sus relaciones son mas enfocadas de forma general que sus correspondencias.
El paradigma declarativo es probablemente de alto nivel que la programación funcional o imperativa.
Principales variables
Paradigma funcional.
Paradigma lojico.
Programacion reactiva.
Lenguajes descriptivos.
Caracteristicas
Explica que es lo que se debe calcular sin justificar su proceso.
No dispone de un orden de evaluacion establecido.
La variables representan los nombres asociados a definiciones y cuando son solitadas se vuelven inmutables.
No contiene sentencias de asignacion.
Contiene mayor grado de simplicidad entre las variables que coforman el paradigma.
Paradigma logico
Características
La ejecucion se compone de las resoluciones de un problema de decisión, asi mismo los resultados son obtenidos mediante la solicitud de las variables independientes.
Se fundamenta en la logica de predicados de primer orden.
Sus programas están compuestos por hechos, predicados y relaciones.
Permite definir la reglas o parámetros, ademas establece la unificación como elemento de computación.
Su evaluacion estan fundamentada en la resolución SDL: Unificación+backtraking.
La prograamcion logica con restricciones favorece la resolución ecuaciones lineales y argumentar sus hipótesis.
Es un tipo de paradigmas de prograamcion, que se fundamenta entorno al concepto del predicacio y la relacion de los elementos.
La progrmacion Logica esta introducida en el paradigma declarativo.
Campos de aplicacion.
Sistemas de expertos
Consiste en un sistema de información que simula aquellas recomendaciones brindadas por un experto sobre un tema de conocimiento.
Demostracion automatica
Un programa determinado elabora nuevos teoremas acerca de una teoría establecida.
Reconocimiento del lenguaje natural
Se compone de progrmacas con la capacidad de comprender la informacion recopilada en una expresion linguistica humana.
Lenguajes asociados al paradigma Logico
Lenguaje Prolog.
Programacion en Mercury.
Paradigma orientado a objetos
Se fundamente en los conceptos de objetos y su respetiva clasificacion. Un objeto conssite en una variable que agrupa oeraciones que se adaptan o estan dirigidas a los objetos.
Los odejtos se deben representar como valores de la clase base. De esta forma un aoperacion puede elegir un objeto como argumento y arrojar un obgeto como resultado.
La Herencia permite planificar los tipos de objetos en un subclase y las operaciones brindadas se pueden añadir a los objetos de la subclase.
Como
Determinar las clases y herencias.
Los objetos de adstraccion de datos y procedimientos
Chequeo de clases en el proceso de ejecución.
Los obtetos pueden empleasen en diversos momentos para construir multiples objetos los cuales contentan propiedades similares.
Una clases se define como un grupo de objetos los cuales comparten operaciones identicas.
Paradigma reactiva
Características
Esta fundamentodo en la teoria de grafos.
Un programa esta compuesto por la especificacion de flujo de datos entre las operaciones.
Las disitnas hojas de calculo estan basadas en este modelo.
Las variables se encuentran vinculadas a las operaciones que brindan sus valores. Un cambio de una variable se propaga por todas las operaciones del sistema.
La programacion reactiva se puede determinar como una forma de reducir las interfaces de usuario iterativas.
La programación Reactiva fue aplicada inicialmente por Glenn Wadden en el año 1986.
Es un paradigma de progrmacion declarativa que gestiona los flujos de datos junto con la difusion del cambio. Permite expresar flujos de datos estaticos o dinamicos.
Lenguajes que utilizan el paradima reactiva
Simulink, OZ, Clojure.
Lenguajes de programación con sus respectivo paradigmas
Lenguaje Scala
Paradigmo funcional
Paradigma orientado a odjetos
Paradigma concurrente
Paradigma imperativo
Lenguaje Perl
Paradigma imperativo
Paradigma orientado a odjetos
Paradigma funcional
Java Scrit
Paradigma funcional
Paradigma orientado a objetos
Paradigma funcional
Erlang
Paradigma funcional
Paradigma orientado a objeto
Python
Paradigma imperativo
Paradigma reflexivo
Paradigma orientado a objetos
Paradigma funcional
Lenguaje C++
Paradigma imperativo
Paradigma orientado a objetos
Paradigma funcional
Paradigma generico
Lenguaje C#
Paradigma imperativo
Paradigma orientado a objetos
Paradigma generico
Paradigma funcional
Prolog
Paradigma logico
Paradigma declarativo
Lisp
Paradigma orientado a objetos
Paradigma funcional
Paradigma declarativo
Los paradigmas de programacion representan propuestas tecnológicas establecidas por la comunidad de desarrolladores de software, los cuales se centran en resolver los problemas establecidos.
Un paradigma de programacion señala el metodo adecuado para efectuar computos y la forma para estructurar y organizar aquellas actividades que debe ejecutar un programa. Cada modelo dispone de sus propios elementos y parámetros de construcción.
Los lenguajes de programacion
Principales lenguajes de programacion
Ensamblador
Pone a disposición la adstraccion del microprocesador de una computadora su cambio al lenguaje maquina es muy sencillo y agradable.
Delphi
Es un entorno de desarollo de software dirigido a la programacion que se enfoca en la programación visual. Admite efectuar archivos para mutliples plataofrmas como Linux, Windows entre otras.
Delphi es ampliamente utilizado para crear aplicaciones visuales y de bases de datos cliente-servidor, también es usado para elaborar proyectos de consola gracias a su herramientas de propósito multiple.
FORTRAN
Creado en los años 50, su enfoque se centra en lel desarrollo de aplicaciones científicas y análisis numéricos.
Lenguaje C++
Diseñado por Bjarne Stroustrup, es un lenguaje que agrupa dos paradigmas de la programación, como: El paradigma estructurado y paradigma orientado a objetos.
LISP
Es una familia de lenguajes de programación que están fundamentados en el calculo lamda, que consiste en un patrón universal de computación.
Su nucleo se clasifica en:
La astraccion de funciones
Origina expresiones por medio de la introduccion de variables .
La aplicacion de la funcion
Empleada para avaluar expresiones, asignando nombres a determinados valores.
SQL......
Subtopic
Perl
Lenguaje empleado para la extracción de informes. Es un lenguaje de programación desarrollado por Larry wall en el año 1987. Perl tiene cierta similitud con el lenguaje C en algunas funciones.
Prolog
Es un lenguaje de programación logico e interpretado empleado constantemente en el campo de la inteligencia artificial.
Se creo como un proyecto cuyo objetivo era el tratamiento algorítmico de lenguajes naturales.
Visual basic
Es un lenguaje de programación dirigido por eventos, instituido por Alacooper; que consiste en entorno desarrollado integrado que incorpora un editor de textos para la modificación del codigo fuente, un depurador, entre otros.
Desventajas
Dsipone de un soporte limitado de programacion orientado a odjetos.
Sus dependencias son totalmente complejas y sus entradas de registros son muy inconsistentes.
Su capacidad para emplear controles en un determinado formulario es muy limitado a diferencia de otro tipo de herraminetas.
Ventajas
Incorpora el diseño y su implementacion de los formularios de Windows.
Brinda la posibilidad de agregar soporte para la respectiva ejecucion de scrips, Jscripts de las aplicaciones.
Brinda un entorno de programacion para efectuar prototipos de forma sencilla y practica.
Dispone de amplias librerias DLL, y complementos Active x pertenecientes a otros lenguajes.
Python
Instituido por Guido van en el año 1990. Python consiste en un proyecto de código abierto, el cual es administrado por Python System.
Java
Es un lenguaje de programación orientado a objetos, las aplicaciones que utilizan Java estan copiladas en un bytecode.
Java se emplea actualmente para crear aplicaciones y distintos procesos en diversidad, de dispositivos permitiendo efectuar un programa en diversos sistemas operativos.
Su ambito de aplicacion es extenso que se puede emplear en dispositivos mobiles o incluso en electrodomesticos.
Suelen organizarse de acuerdo a algunos parametros dividiendosen en:
Conforme a su campo de aplicacion
Aplicaciones cientificas
Este tipos de aplicaciones estan compuestos por operaciones numéricas o arreglos bidimensionales de números propios de algoritmos matematicos.
Programas informaticos que utilizan Fortran
Lenguaje Pascal
Aplicaciones en procesamiento de datos
Están compuestas por operaciones mantenimiento, consultas y base de datos. Abarca programas informáticos de gestión empresarial, contabilidad, facturación y programas de nominas.
Lenguaje SQL
Programas escritos en COBOL
Aplicaciones de tratamientos de textos
Son aplicaciones incorporadas al uso de textos que emplean el lenguaje natural.
Lenguaje de programacion C.
Aplicacion de programacion de sistemas
Este apartado agrupa la programación de software de interfaz referente al usuario y el hardware, como los modulos SO. Los programas efectúan diversas actividades entre las que se encuentran la tranferencia de datos entre la memoria RAM y los dispositivos de almacenamiento.
Aceleracion Grafica PNG
Bibliotecas como OpenGL
Velocidad disco duro Hdparm
Tipos de software de sistemas
Controladores de dispositivos
Linea de comandos
Herramientas de programacion
Compiladores
Enlazadores
Hipervisores
Aplicaciones en inteligencia artifical
En esta seccion se pueden encontrar aplicaciones de sistemas de expertos, juegos, vision artifical, robotica incluso plataformas de juegos.
Programas informáticos escritos en LISP.
Lenguaje PROLOG.
Paradigma de prograamcion que posee cada uno
Nivel de adstraccion
Lenguajes Maquina
Son instrucciones en cadenas binarias (0,1) y están escritos en lenguajes comprensibles por la maquina o computador. El lenguaje maquina otorga la posibilidad de cargar un programa sin recurrir a la traducción.
Lenguajes de bajo nivel
Representan aquellos lenguajes de programacion que se aproximan al funcionamiento de una computadora. Es ampliamente utilizado para programar microprocesadores haciendo uso del lenguaje ensamblador correspondiente.
Lenguajes de medio nivel
Son aquellos lenguajes mas sencillos y faciles de intepresar para los humanos, como puede ser el lenguaje de programacion C.
Lenguajes de alto nivel
Estan formados por componentes de lenguajes naturales, haciendo el proceso mas sencillo y ssitematico.
Lengujes de alto nivel son:
Pascal
Visual basic
Capacidad de traduccion
Interpretados
Representa un programa el cual analiza, examina y ejecuta el código fuente, asi mismo escoge el código para traducirlo y posteriormente ejecutarlo continuamente hasta llegar a las ultima instrucción de un determinado programa.
Lenguaje interpretado PHP
Lenguaje Python
Lenguaje interpretado Perl
Funcionamiento de un interprete
Programa fuente
Interprete
Codigo objeto
Compilados
Consiste en un conjunto de programas que traduce un programa escrito en su respectivo codigo fuente, con el proposito de generar un programa cuyo codigo sea de objeto. El proceso de traduccion es denominado tambien como copilacion.
Codigo objeto
Al codigo objeto se le aplican sus respectivas librerías de un programa denominado linker, para obtener el código ejecutable.
Proceso de copilacion
Programacion fuente.
Compilador
Codigo objeto
Libreria
Codigo objeto
Pasos que utiliza la compilacion de un programa
Instituir el codigo fuente.
Compilacion del programa
Enlace del programacio incluyendo las funciones solicitadas de la biblioteca.
Lenguajes que emplean un compilador
Lenguaje C++
Lenguaje de programacion Visual basic