SlideShare una empresa de Scribd logo
1 de 10
Contenido
1 La programación en la sociedad actual. ..........................................................................3
2 Creación de un programa informático: ciclo de vida del software.....................................3
2.1 Análisis del problema.............................................................................................3
2.2 Diseño de algoritmos.............................................................................................3
2.3 Codificación del programa......................................................................................4
2.4 Pruebas y depuración ............................................................................................4
2.5 Documentación.....................................................................................................4
3 Diseño de algoritmos.....................................................................................................4
3.1 Algoritmo: definición y características que deben cumplir........................................4
3.2 Diagramas de flujo: símbolos utilizados...................................................................4
3.3 Pseudocódigo........................................................................................................5
4 Lenguajes de programación...........................................................................................5
4.1 Evolución histórica de loslenguajes........................................................................5
4.2 Sintaxis de loslenguajes de programación ..............................................................6
4.3 Variables y constantes ...........................................................................................6
4.4 Tipo de datos yejemplos........................................................................................6
4.5 Estructuras secuenciales........................................................................................6
4.5.1 Sentencias .....................................................................................................6
4.5.2 Llamadas a funciones......................................................................................6
4.5.3 Asignación .....................................................................................................6
4.5.4 Operaciones aritméticas.................................................................................7
4.6 Estructuras selectivas.............................................................................................7
4.6.1 Sentencia if-else: operadores de comparación ylógicos....................................7
4.6.2 Sentencia switch ............................................................................................7
4.7 Estructuras repetitivas...........................................................................................7
4.7.1 Mientras(while).............................................................................................7
4.7.2 Hacer mientras (do-while)...............................................................................8
4.7.3 Para (for) .......................................................................................................8
4.8 Funciones..............................................................................................................8
4.9 Funciones recursivas..............................................................................................8
5 Algunoslenguajes de programación: C++, Java, JavaScript, PHP y Python. ........................8
1 La programación en la sociedad actual.
El propósitode laprogramacióninformáticaesdesarrollaraplicacionesque faciliten las tareas
cotidianas: como hacer compras, escuchar música…
Para la comunicación con un ordenador se utilizan los lenguajes de programación, que es un
conjuntode símbolosyreglasque,siguiendounaestructuralógica,permitenescribir las líneas
de código que componen las aplicaciones.
En la actualidadnohace faltadisponer de mucho conocimiento informático, es más disponer
de habilidades para plantear un problema.
2 Creación de un programa informático: ciclo de vida del
software.
Al conjunto de instrucciones y reglas ordenadas que guían el desarrollo de las diferentes
actividadesse denominaalgoritmo. Unprograma informáticoesunconjuntode instrucciones,
escritas en lenguaje de programación para que el ordenador lo pueda entender.
A continuación explicaremos las fases de desarrollo de un programa informático.
2.1 Análisis del problema
Consiste enhacerunestudiodetalladodelproblema,conel objetivo de que el resultado final
coincida con lo esperado. Hay que tener en cuenta aspectos como a quién va dirigido el
software, que debe hacer exactamente, para qué plataforma, etc.
2.2 Diseño de algoritmos
Durante esta fase se crean algoritmos que permiten resolver el problema y para
representarlos, se utilizan diagramas de flujo y seudocódigos.
2.3 Codificación del programa
Es la traducción del lenguaje algorítmico a un lenguaje de programación que el ordenador
pueda entender, se utilizan los programas Java, Python, etc.
2.4 Pruebas y depuración
Una vez escrito el programan este se somete a una serie de pruebas para detectar posibles
errores de funcionamiento. En caso de detectar algún error este se corrige antes de crear el
programa ejecutable definitivo, un ejemplo de esto son las actualizaciones.
2.5 Documentación
Cada uno de los pasos anteriores debe llevar asociado un documento con todas las
especificaciones necesarias, durante la documentación es importante añadir comentarios al
códigofuente conel fin de hacer el código más comprensible a otros programadores, esto se
lleva a cabo mediante los simbolos //y/*..*/.
3 Diseño de algoritmos
3.1 Algoritmo: definición y características que deben cumplir
Es un conjunto de instrucciones o reglas establecidas que, por medio de una sucesión de
pasos, permite solucionar un problema determinado. Lo más importante es que sus pasos
sean:
 Finitos. Solamente tiene un inicio y un final.
 Definidos.Si se aplica varias veces, para los mismos datos de entrada , se debe se
obtener siempre el mismo resultado.
 Precisos. Establece claramente los pasos a seguir.
3.2 Diagramas de flujo: símbolos utilizados
Es la representación gráfica de un algoritmo. Cuando incluye símbolos específicos para su
resolución con un ordenador, también se denomina ordinograma.
Líneas de flujo: indica la secuencia en la que se van a ejecutar los
pasos del algoritmo.
Terminal:para representarel inicio y el final de la tarea a realizar,
también puede representar pausa o interrupción.
Proceso: representa una o varias instrucciones que se realizan de
forma secuencial.
Decisión: se usa para representar una operación lógica o una
comparación de datos para que, en función del resultado, se siga
por un camino u otro.
Función: es un módulo independiente que realiza una tarea
determinada, que agrupa las instrucciones que realiza de forma
repetitiva.
Entrada/Salida: simboliza la introducción de datos o salida de
información a través de cualquier medio.
3.3 Pseudocódigo
Se usa para describirunalgoritmoenlenguaje natural,se suelenutilizarexpresiones similares
a la de los lenguajes de programación pero que cualquier usuario pueda entender.
4 Lenguajes de programación
Es un conjunto de reglas y símbolos que se usa para codificar las instrucciones de los
programas de ordenador.
4.1 Evolución histórica de los lenguajes
A continuación se realiza una clasificación general atendiendo a la evolución histórica de los
lenguajes desde su aparición.
 Primera generación: Lenguaje máquina
Los primeros ordenadores se programaban directamente en código binario, cada
ordenador tenía que ser programado utilizando un conjunto de instrucciones
específicas (lenguaje máquina).
 Segunda generación: Lenguaje ensamblador
Utiliza instrucciones sencillas en lugar de código binario. Este lenguaje utiliza un
traductor para convertir cada instrucción a su equivalente en lenguaje máquina.
 Tercera generación: Lenguaje de alto nivel
Sustituyen las instrucciones simbólicas por código independiente de la máquina y
mucho más cercano al lenguaje natural, para este desarrollo se utilizan lenguajes no
estructuradoscomoFORTRAN,Basicy Cobol.NOobstante,lamayoría de lenguajes de
esta generación siguen el paradigma de la programación estructurada.
 Cuarta generación: Programación orientada a objetos
Es un lenguaje más cercano a la vida cotidiana que la generación anterior, ya que los
programas se escriben en forma de objetos sobre los que se realizan acciones y que
interaccionan entre ellos.
 Quinta generación: Lenguaje natural e inteligencia artificial
Se usa un lenguaje muy natural para describir los problemas que, utilizando técnicas
de inteligencia artificial, el ordenador es capaz de resolver.
4.2 Sintaxis de los lenguajes de programación
Es el conjuntode reglasque se debenseguiral escribirel códigofuente, de tal manera
que los programas resulten sintácticamente correctos y, de ese modo, pueda
generarse posteriormente el código máquina sin errores.
Gran parte de los lenguajes de programación son textuales, aunque también existen
lenguajes más visuales que utilizan recursos gráficos.
4.3 Variables y constantes
Si un dato no va a variar durante la ejecución del programa se pude definir como constante,
por el contariosi va a variarse define como variable. En ocasiones se trabaja con un conjunto
de variables del mismo tipo, almacenas de forma consecutiva, lo que se define en
programación como array o cadena.
4.4 Tipo de datos y ejemplos
Los básicos son:
Datos Descripción Ejemplos
Entero Representa los números enteros. Int edad = 16;
Real Podrá almacenar números decimales. Float pi = 3,1416;
Carácter Es un dígito que puede ser numérico, una
letra o un símbolo.
Char letra = `m´
Booleano Se emplea para valores lógicos, por lo que su
valor es Verdadero o Falso.
Boolean si = true;
Cadena Almacena una cadena de caracteres de
longitud variable.
String cad = ``hola´´
Array Almacena un conjunto de elementos de tipo
variable.
Productos[4] = 80;
4.5 Estructuras secuenciales
Proporcionatécnicaspara facilitar la tarea de programar ya que reducen el tiempo requerido
para escribir, verificar, depurar y modificar los programas. Esto se basa en ciertas estructuras
básicas:
4.5.1 Sentencias
Son instruccionesque realizanacciones,se suelen colocar en una línea del programa, seguida
de punto y coma.
4.5.2 Llamadas a funciones
Ejecutaninstruccionesque se encuentran fuera del programa, ya sean en una biblioteca o en
otra parte.
4.5.3 Asignación
Permite el almacenamiento de un valor en una variable o una constante. Se usa el símbolo
igual (=).
4.5.4 Operaciones aritméticas
Realizanoperacionesmatemáticas.Parasimplificarlasinstrucciones aritméticas se usan estos
operadores.
4.6 Estruct
uras
selectivas
En ellas se evalúa
una condición y,
en función de su
resultado se realizará una acción u otra. Esto permite que un mismo programa pueda dar
diferentes resultados dependiendo de lo que ocurra cuando se evalúe cada condición.
4.6.1 Sentencia if-else: operadores de comparación y lógicos
La estructurade selección “if” permite realizar una acción concreta en caso de cumplirse una
condición;si nose cumplierala condición, el programa seguiría con la siguiente sentencia sin
haber realizado ninguna acción.
Existe la sentencia “if-else” si la condición evaluada es verdadera, se ejecutan las sentencias
del bloque “if”, y si es falsa se ejecutan las del bloque “else”.
4.6.2 Sentencia switch
Esta sentenciase utilizaparalasdecisionesmúltiples,esel equivalenteautilizarvarios”if-else”
anidados.
Para evaluar las condiciones, se utilizan diferentes operadores:
4.7 Estructuras repetitivas
Las estructuras también denominadas bucles, se utilizan para repetir la ejecución de un
determinadogrupo de sentencias, dependiendo de determinadas condiciones. Estos son las
distintas estructuras repetirivas:
4.7.1 Mientras (while)
Su funciónesrepetirunbloque de sentenciasmientrasse cumpla una condición. Se evalúa la
condición al final de cada ciclo, si es verdadero la sentencia se realiza tras lo que se vuelve a
evaluar, si es falsa, la estructura finaliza y el control pasa a la siguiente instrucción del
programa.
4.7.2 Hacer mientras (do-while)
Su funciónesrepetirunbloque de sentencias mientras se cumpla una condición. Se evalúa la
condición al final de cada ciclo, si es verdadero la sentencia se vuelve a repetir, si es falsa, la
estructura finaliza y el control pasa a la siguiente instrucción del programa.
4.7.3 Para (for)
Permite fijar el número de veces que se ha de repetir un bloque de sentencias, para ello se
utilizauncontadorque comienzaconun contadorinicial que incrementa o disminuye en cada
interacción del bucle. Finaliza cuando se deja de cumplir una condición.
4.8 Funciones
Una herramienta fundamental para abordar la solución de problemas complejos es la
abstraccióncon que se puede tratar un problemaidentificandosuselementos fundamentales
sin entrar en detalles secundarios.
Las funcionessonun conjunto de instrucciones que realizan una tarea específica. En general,
tomanciertosvaloresde entradadenominados parámetros y proporcionan un valor de salida
(return).
Los lenguajes de programación incluyen un conjunto de bibliotecas, con colecciones de
funciones ya programadas que facilitan el diseño de aplicaciones, para utilizarlas basta con
incluir el nombre de la librería con directivas como (#include)
4.9 Funciones recursivas
Es aquella que se llama a sí misma para resolverse. En cada llamada varían parámetros y se
obtienen los resultados necesarios para resolver la función inicial.
Todas lasfuncionesrecursivasdeben tener un caso base o de parada. En el caso de la función
factorial, el caso base es que 1! =1.
5 Algunos lenguajes de programación:C++,Java, JavaScript,PHP
y Python.
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
Stroustrup. La intención de su creación fue el extender al lenguaje de
programación C mecanismosque permitenlamanipulaciónde objetos. En ese sentido, desde
el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los
paradigmas de programación estructurada y programación orientada a objetos. Por esto se
suele decir que el C++ es un lenguaje de programación multiparadigma.
Java esun lenguaje de programación de propósitogeneral, concurrente, orientado a objetos,
que fue diseñado específicamente para tener tan pocas dependencias de implementación
como fueraposible.Suintenciónespermitirque los desarrolladores de aplicaciones escriban
el programa unavezy lo ejecutenencualquierdispositivo (conocido en inglés como WORA, o
"write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una
plataformanotiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de
los lenguajes de programación más populares en uso, particularmente para aplicaciones
de cliente-servidor de web, con unos diez millones de usuarios reportados.
Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que
cualquierade ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase
Java), que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar
la arquitectura de la computadora subyacente.
JavaScript. Es un lenguaje de programación interpretado,dialectodel estándar ECMAScript.Se
define como orientado a objetos, basado en prototipos, imperativo y dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como
parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas
web dinámicas aunque existe una forma de JavaScript del lado del servidor (Server-side
JavaScripto SSJS).Suusoen aplicaciones externasala web, por ejemplo en documentos PDF,
aplicaciones de escritorio (mayoritariamente widgets) es también significativo.
JavaScriptse diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones del
lenguaje de programación Java.Sinembargo,JavayJavaScripttienen semánticas y propósitos
diferentes.
PHP,acrónimorecursivoeninglésde PHPHypertextPreprocessor(procesadorde hipertexto),
es un lenguaje de programación de propósito general de código del lado del
servidor originalmente diseñado para el desarrollo web de contenido dinámico.
Fue uno de los primeros lenguajes de programación del lado del servidor que se podían
incorporardirectamente enundocumento HTML enlugar,de llamar a un archivo externo que
procese losdatos.El códigoesinterpretadoporunservidorwebconunmódulode procesador
de PHP que genera el HTML resultante.
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una
sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional. Es
un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
Posee unalicenciade códigoabierto,denominada PythonSoftware Foundation License,1 que
es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e
incompatible en ciertas versiones anteriores.
Programacion

Más contenido relacionado

La actualidad más candente (18)

Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Software
SoftwareSoftware
Software
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
01 alp u1
01 alp u101 alp u1
01 alp u1
 
01 alp u2
01 alp u201 alp u2
01 alp u2
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Consulta
ConsultaConsulta
Consulta
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Presentacion De Programacion
Presentacion De ProgramacionPresentacion De Programacion
Presentacion De Programacion
 
CONSULTA
CONSULTACONSULTA
CONSULTA
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Trabajo lenguajes de programacion
Trabajo lenguajes de programacionTrabajo lenguajes de programacion
Trabajo lenguajes de programacion
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
01 alp u3
01 alp u301 alp u3
01 alp u3
 
Trabajo colaborativo
Trabajo colaborativoTrabajo colaborativo
Trabajo colaborativo
 

Similar a Programacion

Programac io n pdf
Programac io n pdfProgramac io n pdf
Programac io n pdfjose peralta
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONSol López
 
Fundamentos de la programacion u1
Fundamentos de la programacion u1Fundamentos de la programacion u1
Fundamentos de la programacion u1Jon Mori
 
Monicaaa 9 b
Monicaaa 9 bMonicaaa 9 b
Monicaaa 9 bmoniika16
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1hoppii
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1hoppii
 
Sistemas operativos evolucion
Sistemas operativos evolucionSistemas operativos evolucion
Sistemas operativos evolucionGissgur G R
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasSergio Naspiran
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas94daniel
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmassergiio27
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasCAMINSUASTY
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 

Similar a Programacion (20)

Programac io n pdf
Programac io n pdfProgramac io n pdf
Programac io n pdf
 
Programacio nfin
Programacio nfinProgramacio nfin
Programacio nfin
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
 
Informatik
InformatikInformatik
Informatik
 
Fundamentos de la programacion u1
Fundamentos de la programacion u1Fundamentos de la programacion u1
Fundamentos de la programacion u1
 
Monicaaa 9 b
Monicaaa 9 bMonicaaa 9 b
Monicaaa 9 b
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Sistemas operativos evolucion
Sistemas operativos evolucionSistemas operativos evolucion
Sistemas operativos evolucion
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 

Último

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

Programacion

  • 1.
  • 2. Contenido 1 La programación en la sociedad actual. ..........................................................................3 2 Creación de un programa informático: ciclo de vida del software.....................................3 2.1 Análisis del problema.............................................................................................3 2.2 Diseño de algoritmos.............................................................................................3 2.3 Codificación del programa......................................................................................4 2.4 Pruebas y depuración ............................................................................................4 2.5 Documentación.....................................................................................................4 3 Diseño de algoritmos.....................................................................................................4 3.1 Algoritmo: definición y características que deben cumplir........................................4 3.2 Diagramas de flujo: símbolos utilizados...................................................................4 3.3 Pseudocódigo........................................................................................................5 4 Lenguajes de programación...........................................................................................5 4.1 Evolución histórica de loslenguajes........................................................................5 4.2 Sintaxis de loslenguajes de programación ..............................................................6 4.3 Variables y constantes ...........................................................................................6 4.4 Tipo de datos yejemplos........................................................................................6 4.5 Estructuras secuenciales........................................................................................6 4.5.1 Sentencias .....................................................................................................6 4.5.2 Llamadas a funciones......................................................................................6 4.5.3 Asignación .....................................................................................................6 4.5.4 Operaciones aritméticas.................................................................................7 4.6 Estructuras selectivas.............................................................................................7 4.6.1 Sentencia if-else: operadores de comparación ylógicos....................................7 4.6.2 Sentencia switch ............................................................................................7 4.7 Estructuras repetitivas...........................................................................................7 4.7.1 Mientras(while).............................................................................................7 4.7.2 Hacer mientras (do-while)...............................................................................8 4.7.3 Para (for) .......................................................................................................8 4.8 Funciones..............................................................................................................8
  • 3. 4.9 Funciones recursivas..............................................................................................8 5 Algunoslenguajes de programación: C++, Java, JavaScript, PHP y Python. ........................8 1 La programación en la sociedad actual. El propósitode laprogramacióninformáticaesdesarrollaraplicacionesque faciliten las tareas cotidianas: como hacer compras, escuchar música… Para la comunicación con un ordenador se utilizan los lenguajes de programación, que es un conjuntode símbolosyreglasque,siguiendounaestructuralógica,permitenescribir las líneas de código que componen las aplicaciones. En la actualidadnohace faltadisponer de mucho conocimiento informático, es más disponer de habilidades para plantear un problema. 2 Creación de un programa informático: ciclo de vida del software. Al conjunto de instrucciones y reglas ordenadas que guían el desarrollo de las diferentes actividadesse denominaalgoritmo. Unprograma informáticoesunconjuntode instrucciones, escritas en lenguaje de programación para que el ordenador lo pueda entender. A continuación explicaremos las fases de desarrollo de un programa informático. 2.1 Análisis del problema Consiste enhacerunestudiodetalladodelproblema,conel objetivo de que el resultado final coincida con lo esperado. Hay que tener en cuenta aspectos como a quién va dirigido el software, que debe hacer exactamente, para qué plataforma, etc. 2.2 Diseño de algoritmos Durante esta fase se crean algoritmos que permiten resolver el problema y para representarlos, se utilizan diagramas de flujo y seudocódigos.
  • 4. 2.3 Codificación del programa Es la traducción del lenguaje algorítmico a un lenguaje de programación que el ordenador pueda entender, se utilizan los programas Java, Python, etc. 2.4 Pruebas y depuración Una vez escrito el programan este se somete a una serie de pruebas para detectar posibles errores de funcionamiento. En caso de detectar algún error este se corrige antes de crear el programa ejecutable definitivo, un ejemplo de esto son las actualizaciones. 2.5 Documentación Cada uno de los pasos anteriores debe llevar asociado un documento con todas las especificaciones necesarias, durante la documentación es importante añadir comentarios al códigofuente conel fin de hacer el código más comprensible a otros programadores, esto se lleva a cabo mediante los simbolos //y/*..*/. 3 Diseño de algoritmos 3.1 Algoritmo: definición y características que deben cumplir Es un conjunto de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permite solucionar un problema determinado. Lo más importante es que sus pasos sean:  Finitos. Solamente tiene un inicio y un final.  Definidos.Si se aplica varias veces, para los mismos datos de entrada , se debe se obtener siempre el mismo resultado.  Precisos. Establece claramente los pasos a seguir. 3.2 Diagramas de flujo: símbolos utilizados Es la representación gráfica de un algoritmo. Cuando incluye símbolos específicos para su resolución con un ordenador, también se denomina ordinograma. Líneas de flujo: indica la secuencia en la que se van a ejecutar los pasos del algoritmo. Terminal:para representarel inicio y el final de la tarea a realizar, también puede representar pausa o interrupción. Proceso: representa una o varias instrucciones que se realizan de forma secuencial.
  • 5. Decisión: se usa para representar una operación lógica o una comparación de datos para que, en función del resultado, se siga por un camino u otro. Función: es un módulo independiente que realiza una tarea determinada, que agrupa las instrucciones que realiza de forma repetitiva. Entrada/Salida: simboliza la introducción de datos o salida de información a través de cualquier medio. 3.3 Pseudocódigo Se usa para describirunalgoritmoenlenguaje natural,se suelenutilizarexpresiones similares a la de los lenguajes de programación pero que cualquier usuario pueda entender. 4 Lenguajes de programación Es un conjunto de reglas y símbolos que se usa para codificar las instrucciones de los programas de ordenador. 4.1 Evolución histórica de los lenguajes A continuación se realiza una clasificación general atendiendo a la evolución histórica de los lenguajes desde su aparición.  Primera generación: Lenguaje máquina Los primeros ordenadores se programaban directamente en código binario, cada ordenador tenía que ser programado utilizando un conjunto de instrucciones específicas (lenguaje máquina).  Segunda generación: Lenguaje ensamblador Utiliza instrucciones sencillas en lugar de código binario. Este lenguaje utiliza un traductor para convertir cada instrucción a su equivalente en lenguaje máquina.  Tercera generación: Lenguaje de alto nivel Sustituyen las instrucciones simbólicas por código independiente de la máquina y mucho más cercano al lenguaje natural, para este desarrollo se utilizan lenguajes no estructuradoscomoFORTRAN,Basicy Cobol.NOobstante,lamayoría de lenguajes de esta generación siguen el paradigma de la programación estructurada.  Cuarta generación: Programación orientada a objetos Es un lenguaje más cercano a la vida cotidiana que la generación anterior, ya que los programas se escriben en forma de objetos sobre los que se realizan acciones y que interaccionan entre ellos.  Quinta generación: Lenguaje natural e inteligencia artificial Se usa un lenguaje muy natural para describir los problemas que, utilizando técnicas de inteligencia artificial, el ordenador es capaz de resolver.
  • 6. 4.2 Sintaxis de los lenguajes de programación Es el conjuntode reglasque se debenseguiral escribirel códigofuente, de tal manera que los programas resulten sintácticamente correctos y, de ese modo, pueda generarse posteriormente el código máquina sin errores. Gran parte de los lenguajes de programación son textuales, aunque también existen lenguajes más visuales que utilizan recursos gráficos. 4.3 Variables y constantes Si un dato no va a variar durante la ejecución del programa se pude definir como constante, por el contariosi va a variarse define como variable. En ocasiones se trabaja con un conjunto de variables del mismo tipo, almacenas de forma consecutiva, lo que se define en programación como array o cadena. 4.4 Tipo de datos y ejemplos Los básicos son: Datos Descripción Ejemplos Entero Representa los números enteros. Int edad = 16; Real Podrá almacenar números decimales. Float pi = 3,1416; Carácter Es un dígito que puede ser numérico, una letra o un símbolo. Char letra = `m´ Booleano Se emplea para valores lógicos, por lo que su valor es Verdadero o Falso. Boolean si = true; Cadena Almacena una cadena de caracteres de longitud variable. String cad = ``hola´´ Array Almacena un conjunto de elementos de tipo variable. Productos[4] = 80; 4.5 Estructuras secuenciales Proporcionatécnicaspara facilitar la tarea de programar ya que reducen el tiempo requerido para escribir, verificar, depurar y modificar los programas. Esto se basa en ciertas estructuras básicas: 4.5.1 Sentencias Son instruccionesque realizanacciones,se suelen colocar en una línea del programa, seguida de punto y coma. 4.5.2 Llamadas a funciones Ejecutaninstruccionesque se encuentran fuera del programa, ya sean en una biblioteca o en otra parte. 4.5.3 Asignación Permite el almacenamiento de un valor en una variable o una constante. Se usa el símbolo igual (=).
  • 7. 4.5.4 Operaciones aritméticas Realizanoperacionesmatemáticas.Parasimplificarlasinstrucciones aritméticas se usan estos operadores. 4.6 Estruct uras selectivas En ellas se evalúa una condición y, en función de su resultado se realizará una acción u otra. Esto permite que un mismo programa pueda dar diferentes resultados dependiendo de lo que ocurra cuando se evalúe cada condición. 4.6.1 Sentencia if-else: operadores de comparación y lógicos La estructurade selección “if” permite realizar una acción concreta en caso de cumplirse una condición;si nose cumplierala condición, el programa seguiría con la siguiente sentencia sin haber realizado ninguna acción. Existe la sentencia “if-else” si la condición evaluada es verdadera, se ejecutan las sentencias del bloque “if”, y si es falsa se ejecutan las del bloque “else”. 4.6.2 Sentencia switch Esta sentenciase utilizaparalasdecisionesmúltiples,esel equivalenteautilizarvarios”if-else” anidados. Para evaluar las condiciones, se utilizan diferentes operadores: 4.7 Estructuras repetitivas Las estructuras también denominadas bucles, se utilizan para repetir la ejecución de un determinadogrupo de sentencias, dependiendo de determinadas condiciones. Estos son las distintas estructuras repetirivas: 4.7.1 Mientras (while) Su funciónesrepetirunbloque de sentenciasmientrasse cumpla una condición. Se evalúa la condición al final de cada ciclo, si es verdadero la sentencia se realiza tras lo que se vuelve a
  • 8. evaluar, si es falsa, la estructura finaliza y el control pasa a la siguiente instrucción del programa. 4.7.2 Hacer mientras (do-while) Su funciónesrepetirunbloque de sentencias mientras se cumpla una condición. Se evalúa la condición al final de cada ciclo, si es verdadero la sentencia se vuelve a repetir, si es falsa, la estructura finaliza y el control pasa a la siguiente instrucción del programa. 4.7.3 Para (for) Permite fijar el número de veces que se ha de repetir un bloque de sentencias, para ello se utilizauncontadorque comienzaconun contadorinicial que incrementa o disminuye en cada interacción del bucle. Finaliza cuando se deja de cumplir una condición. 4.8 Funciones Una herramienta fundamental para abordar la solución de problemas complejos es la abstraccióncon que se puede tratar un problemaidentificandosuselementos fundamentales sin entrar en detalles secundarios. Las funcionessonun conjunto de instrucciones que realizan una tarea específica. En general, tomanciertosvaloresde entradadenominados parámetros y proporcionan un valor de salida (return). Los lenguajes de programación incluyen un conjunto de bibliotecas, con colecciones de funciones ya programadas que facilitan el diseño de aplicaciones, para utilizarlas basta con incluir el nombre de la librería con directivas como (#include) 4.9 Funciones recursivas Es aquella que se llama a sí misma para resolverse. En cada llamada varían parámetros y se obtienen los resultados necesarios para resolver la función inicial. Todas lasfuncionesrecursivasdeben tener un caso base o de parada. En el caso de la función factorial, el caso base es que 1! =1. 5 Algunos lenguajes de programación:C++,Java, JavaScript,PHP y Python. C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismosque permitenlamanipulaciónde objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
  • 9. Java esun lenguaje de programación de propósitogeneral, concurrente, orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fueraposible.Suintenciónespermitirque los desarrolladores de aplicaciones escriban el programa unavezy lo ejecutenencualquierdispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataformanotiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos diez millones de usuarios reportados. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquierade ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java), que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente. JavaScript. Es un lenguaje de programación interpretado,dialectodel estándar ECMAScript.Se define como orientado a objetos, basado en prototipos, imperativo y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScripto SSJS).Suusoen aplicaciones externasala web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo. JavaScriptse diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones del lenguaje de programación Java.Sinembargo,JavayJavaScripttienen semánticas y propósitos diferentes. PHP,acrónimorecursivoeninglésde PHPHypertextPreprocessor(procesadorde hipertexto), es un lenguaje de programación de propósito general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporardirectamente enundocumento HTML enlugar,de llamar a un archivo externo que procese losdatos.El códigoesinterpretadoporunservidorwebconunmódulode procesador de PHP que genera el HTML resultante. Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma. Posee unalicenciade códigoabierto,denominada PythonSoftware Foundation License,1 que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.