PROGRAMACIÓN
Nerea Sánchez Moreno 2ºC
Contenido
2.1 Análisis del problema.................................................................5
2.2 Diseño de algoritmos .................................................................5
2.3 Codificación del problema...........................................................6
2.4 Pruebas y depuración ................................................................6
2.5 Documentación.........................................................................6
3.1 Algoritmo: definición y características que debe cumplir ..................8
3.2 Diagramas de flujo: símbolos utilizados ........................................9
3.3 Pseudocódigo ......................................................................... 10
4.1 Evolución histórica de los lenguajes ........................................... 11
 Primera generación: Lenguaje máquina ...................................... 11
 Segunda generación: Lenguaje ensamblador ............................... 11
 Tercera generación: Lenguajes de alto nivel ................................ 11
 Cuarta generación: Programación orientada a objetos................... 11
 Quinta generación: Lenguaje natural e inteligencia artificial ........... 12
4.2 Sintaxis de los lenguajes de programación .................................. 12
4.3 Variables y constantes ............................................................. 12
4.4 Tipos de datos........................................................................ 13
4.5 Estructuras secuenciales .......................................................... 14
 Sentencias ............................................................................. 14
 Llamadas a funciones .............................................................. 14
 Asignación ............................................................................. 14
 Operaciones aritméticas........................................................... 14
4.6 Estructuras selectivas .............................................................. 15
 Sentencia if-else ..................................................................... 15
 Sentencia switch..................................................................... 15
4.7 Estructuras repetitivas ............................................................. 15
 Mientras (while)...................................................................... 15
 Hacer-Mientras (do-while) ........................................................ 16
 Para (for) .............................................................................. 16
4.8 Funciones .............................................................................. 16
4.9 Funciones recursivas ............................................................... 16
5.1 C++ ..................................................................................... 16
5.2 Java...................................................................................... 17
5.3 JavaScript.............................................................................. 17
5.4 PHP ...................................................................................... 17
5.5 Python .................................................................................. 18
1.La programación en la sociedad actual
El propósito de la programación informática es desarrollar aplicaciones
que faciliten las tareas cotidianas, tales como hacer compras, escuchar
música, comunicarse con otros usuarios, etc.; en definitiva, mejorar
localidad de vida de la sociedad.
Para la comunicación con un ordenador se utilizan los lenguajes de
programación. Estos lenguajes son un conjunto de símbolos y reglas que,
siguiendo una estructura lógica, permiten escribir las líneas de código que
componen las aplicaciones.
En los inicios de la era informática, era necesario crear programas a partir
de un lenguaje muy complejo de ceros y unos. La evolución de los
ordenadores ha llevado consigo el desarrollo de nuevos lenguajes de
programación que permiten crear entornos de desarrollo visuales que no
requieren escribir ningún código para la creación de aplicaciones.
La tecnología necesita profesionales capaces de ampliar sus horizontes, por
lo que la tendencia actual es potenciar el pensamiento creativo y el
razonamiento sistemático a edades cada vez más tempranas. Para ello, hay
lenguajes diseñados para ser utilizados por niños y adolescentes, como
Scratch, App Inventor…
2.Creación de un programa informático
En informática, los algoritmos son la base para crear los programas. Se
denomina algoritmo al conjunto de instrucciones y reglas ordenadas que
guían el desarrollo de estas actividades.
Un programa informático es un conjunto de instrucciones, escritas en un
lenguaje de programación para que el ordenador lo pueda entender. Para
crear un programa informático se siguen diferentes fases de desarrollo
conocidas como Ciclo de vida del software:
o Análisis del problema.
o Diseño del algoritmo.
o Codificación del programa
o Pruebas y depuración
o Documentación
2.1 Análisis del problema
Consiste en hacer un estudio detallado del problema a resolver, con
la finalidad de que el resultado final coincida con lo que se esperaba.
Esta es una de las fases más complejas, ya que requiere hacer un
estudio exhaustivo del problema para conocer todas las
características, propiedades y restricciones que debe tener el
programa desarrollado.
En esta fase hay que identificar correctamente aspectos como a quién
va dirigido el software, qué debe hacer exactamente, etc.
2.2 Diseño de algoritmos
En esta fase se crean los algoritmos que permiten resolver el
problema. Para representarlos se utilizan diagramas de flujo y
pseudocódigos. Estos se basan en la utilización de símbolos gráficos
denominados bloques, en los que escribimos las acciones que tiene
que realizar el algoritmo.
2.3 Codificación del problema
Es la traducción del lenguaje algorítmico a un lenguaje de
programación que el ordenador puede entender, como Java, Python…
Para crear los programas, se utilizan entornos de desarrollo que
facilitan la escritura de las instrucciones. Estas instrucciones se
almacenan en ficheros denominados código fuente, que se traducen
con un compilador a lenguaje máquina, es decir, a programas
ejecutables.
2.4 Pruebas y depuración
Una vez escrito el programa, hay que someterlo a una serie de
pruebas para detectar posibles errores de funcionamiento. Es
importante examinar todas las opciones y posibilidades del programa,
ya que si se da por finalizada la fase de pruebas sin haber realizado
un chequeo completo, se corre el riesgo de que el programa pueda
fallar en cualquier momento durante su ejecución. En caso de
detectar algún error, este debe corregirse en el programa antes de
crear el programa ejecutable definitivo. Las actualizaciones corrigen
errores detectados en las aplicaciones tras su lanzamiento.
2.5 Documentación
Cada uno de los pasos anteriores debe llevar asociado un documento
con todas las especificaciones necesarias. Durante la programación es
importante añadir comentarios al código fuente con el objeto de
clarificar y explicar cada elemento del programa. Esta documentación
sirve para hacer más comprensible el código a otros programadores
que tengan que hacer futuras revisiones. Para ello, se suelen utilizar
símbolos como // y /*..*/.
El código de apertura es el siguiente: <!– y el cierre del comentario
se escribe así: –>
Ejemplo:
…………………………………………………………………………………………………………………
En este ejemplo se observa que los comentarios escritos no se ven.
Sólo podremos verlos a través del código fuente de la página.
3.Diseño de algoritmos
3.1 Algoritmo: definición y características que
debe cumplir
Un algoritmo es un conjunto prescrito de instrucciones o reglas
bien definidas, ordenadas y finitas que permite llevar a cabo una
actividad mediante pasos sucesivos que no generen dudas a quien
deba hacer dicha actividad. Dados un estado inicial y una entrada,
siguiendo los pasos sucesivos se llega a un estado final y se
obtiene una solución.
En términos de programación, un algoritmo es una secuencia de
pasos lógicos que permiten solucionar un problema.
Las características que debe cumplir todo algoritmo son:
 Un algoritmo debe ser preciso e indicar el orden de
realización de cada paso.
 Un algoritmo debe estar definido. Si se sigue un
algoritmo dos veces, se debe obtener el mismo resultado
cada vez.
 Un algoritmo debe ser finito. el algoritmo se debe
terminar en algún momento; o sea, debe tener un número
finito de pasos.
 Un algoritmo debe ser legible. El texto que describe debe
ser claro, tal que permita leerlo y entenderlo fácilmente.
Los diagramas de flujo sirven
para representar algoritmos de
manera gráfica
3.2 Diagramas de flujo: símbolos utilizados
El diagrama de flujo es la representación gráfica de un algoritmo.
Cuando este diagrama incluye símbolos específicos para su resolución
con un ordenador, también se le denomina ordinograma.
 Líneas de flujo: indican la secuencia en la que se van a
ejecutar los pasos del algoritmo.
 Terminal: se utiliza para representar el inicio y el final de la
tarea a realizar. También puede representar una 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. Si tiene más de 2 salidas se
denomina decisión múltiple.
 Función: es un modelo independiente que realiza una tarea
determinada. Permite agrupar varias instrucciones que se
realizan de forma repetitiva.
 Entrada/Salida: simboliza la introducción de datos o la salida
de 9información a través de cualquier medio.
3.3 Pseudocódigo
El pseudocódigo es una forma de escribir los pasos que van a realizar
un programa de la forma más cercana al lenguaje de programación
que vamos a utilizar posteriormente.
Una de las mayores dificultades con las que se encuentran los
hispanoparlantes que empiezan a programar es el idioma. Por eso es
bueno utilizar el pseudocódigo, que ayuda a asimilar con más
facilidad las ideas básicas. Este pseudocódigo vale para pasarlo
posteriormente a cualquier lenguaje de programación, no importa el
que quieras usar.
Ventajas de utilizar un Pseudocódigo a un Diagrama de
Flujo
 Ocupa menos espacio en una hoja de papel.
 Permite representar de forma fácil operaciones repetitivas
complejas.
 Es muy fácil pasar de Pseudocódigo a un programa en un algún
lenguaje de programación.
 Si se siguen las reglas se puede observar claramente los
niveles que tiene cada operación.
¿Qué quiero
hacer?
Lo escribo en
pseudocódigo
Escribo el
programa en
mi lenguaje de
programación
4.Lenguajes de programación
4.1 Evolución histórica de los lenguajes
Atendiendo a la evolución histórica, se realiza una clasificación
general de los lenguajes desde su aparición.
 Primera generación: Lenguaje máquina
Los primeros ordenadores se programaban en código binario (0,1). Cada
ordenador tenía que ser programado utilizando un conjunto de
instrucciones específicas, por lo que se llama lenguaje máquina. En la
actualidad, aunque se utilizan lenguajes de alto nivel, todos los
programas deben ser convertidos a lenguaje máquina para que el
ordenador los pueda ejecutar.
 Segunda generación: Lenguaje ensamblador
El lenguaje ensamblador utilizaba instrucciones sencillas, en lugar de
código binario propio del lenguaje máquina. Este lenguaje utiliza un
traductor para convertir cada instrucción a su equivalente en lenguaje
máquina. Algunos lenguajes utilizan instrucciones en lenguaje
ensamblador para hacer más eficientes los programas.
 Tercera generación: Lenguajes de alto nivel
Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por
códigos independientes de la máquina y mucho más cercanos al lenguaje
natural. Necesitan un compilador para generar el programa en código
máquina. Inicialmente se desarrollaron lenguajes no estructurados, que
utilizaban alguna instrucción para indicar o modificar la secuencia de
ejecución de las instrucciones. No obstante, la mayoría de los lenguajes
de esta generación siguen el paradigma de la programación
estructurada, basada en que todo programa puede escribirse utilizando
únicamente instrucciones secuenciales, selectivas y repetitivas.
 Cuarta generación: Programación orientada a
objetos
Es una modalidad de programación más cercana a la vida real, ya que
los programas se escriben en términos de objetos sobre los que se
realizan acciones y que interaccionan mediante el envío de mensajes
entre ellos. La mayoría de lenguajes actuales están orientados a objetos:
C++, Java, etc.
 Quinta generación: Lenguaje natural e inteligencia
artificial
Se basan en el uso del lenguaje natural, o muy similar, para describir
problemas que, utilizando técnicas de inteligencia artificial, el ordenador
es capaz de resolver. Destacan lenguajes como Prolong.
4.2 Sintaxis de los lenguajes de programación
A la forma visible de un lenguaje de programación se le conoce como
sintaxis. La mayoría de los lenguajes de programación son puramente
textuales, es decir, utilizan secuencias de texto que incluyen
palabras, números y puntuación, de manera similar a los lenguajes
naturales escritos. Por otra parte,
hay algunos lenguajes de
programación que son más gráficos
en su naturaleza, utilizando
relaciones visuales entre símbolos
para especificar un programa.
La sintaxis de un lenguaje de
programación describe las
combinaciones posibles de los
símbolos que forman un programa
sintácticamente correcto. El
significado que se le da a una
combinación de símbolos es
manejado por su semántica (ya sea
formal o como parte del código duro
de la referencia de implementación).
4.3 Variables y constantes
Los sistemas informáticos descomponen la información en datos
sobre los que se opera hasta obtener el resultado deseado.
Si un dato no va a cambiar durante la ejecución del programa se
puede definir como constante, mientras que los datos cuyos valores
pueden cambiar son variables. Es mejor entender el concepto
variable como un contenedor de un dato, que podrá cambiar tantas
veces como sea necesario y que siempre estará disponible en dicho
contenedor. En ocasiones se trabaja con un conjunto de variables que
del mismo tipo, que se almacenan de forma consecutiva, lo que se
define en programación como array o cadena.
Las variables y constantes se crean especificando su nombre y tipo
de datos que almacenan.
Con frecuencia se resaltan los
elementos de la sintaxis con colores
diferentes para facilitar su lectura. Este
ejemplo está escrito en Python.
4.4 Tipos de datos
Para programar, es necesario identificar a qué tipo de datos
pertenecen cada una de las variables o constantes, ya sean estos
números, letras, palabras, frases, entre otros y cada uno corresponde
a un tipo de dato, que requerirá de una manipulación específica para
obtener los resultados deseados. Cada lenguaje de programación
dispone de un conjunto de tipos de datos que puede manipular; sin
embargo los que aquí se presentan corresponden a aquellos que
todos los lenguajes de programación disponen, y que se conocen
como tipos de datos estándares.
Tipo de dato Subtipo Descripción
Numéricos
Enteros
Este tipo dato corresponde a
aquellas variables que
exclusivamente pueden
recibir VALORES SIN PARTE
DECIMAL.
Reales
Este tipo de dato, en cambio
corresponde a aquellas variables
cuyos VALORES TIENEN PARTE
DECIMAL, aunque al mismo tiempo
puede contener valores enteros.
Texto
Caracteres
En este tipo de dato se encuentran
todos los caracteres conocidos, una
letra, un número, un símbolo
especial. Por lo tanto, está
conformado por los DÍGITOS:'0',
'1', '2', ... , '9';
LETRAS: 'a', 'b', 'c', ... , 'z';
MAYÚSCULAS: 'A', 'B', 'C', ...
, 'Z'; y CARACTERES
ESPECIALES: '%', '*', '?', ... , '/'
Cadenas
Constituyen conjuntos de caracteres,
es decir la UNIÓN DE VARIOS
CARACTERES, que pueden ser
palabras o frases. El valor de este
tipo de datos se encierra
generalmente entre comillas (" ").
Lógicos Boolean
Únicamente reciben dos valores:
true ó false. Se utilizan
generalmente como banderas, para
identificar si se realizó o no un
proceso.
4.5 Estructuras secuenciales
Proporcionan técnicas que facilitan la tarea de programar, ya que
reducen el tiempo requerido para escribir, verificar, depurar y
modificar los programas.
Una estructura secuencial es aquella en la que cada instrucción sigue
a la anterior, de modo que se realizan todas sin saltarse ni repetir
ninguna de ellas.
Se pueden encontrar diferentes expresiones:
 Sentencias
Son instrucciones que realizan acciones. Cada sentencia se coloca en
una línea del programa, seguida de un “;”. Para agrupar un conjunto de
sentencias se utilizan {}.
 Llamadas a funciones
Ejecutan instrucciones que se encuentran fuera del programa, ya sea en
una biblioteca o en otra parte del programa.
 Asignación
Es la que permite el almacenamiento de un valor en una variable o una
constante. La asignación se realiza se realiza con el símbolo =, por lo
que es importante no confundirlo con el operador de comparación ==.
 Operaciones aritméticas
Los operadores aritméticos (+,-,*,/) realizan sumas, restas, productos,
divisiones y calculan el resto.
La mayoría de lenguajes permiten simplificar las instrucciones
aritméticas en que se modifica el valor de una variable a partir de su
valor anterior.
Ejemplos:
 += Incrementa el valor de la variable x en y.
 -= Resta el valor de la variable x el valor y
 *= Multiplica el valor de la variable x por y
 /= Divide el valor de la variable x por y
 %= Asigna a la variable x el resto de dividir x por y
 ++ Incrementa el valor de la variable x en uno.
4.6 Estructuras selectivas
Se utilizan para tomar decisiones lógicas. En ellas, se evalúa una
condición y, en función del resultado, se realizan unas u otras
acciones.
 Sentencia if-else
La estructura de selección if permite realizar una acción concreta en
caso de cumplirse una condición.
Se puede utilizar la sentencia if-else, de modo que si la condición
evaluada es verdadera, se ejecutan las sentencias de bloque if, y en
caso de ser falsa se ejecutan las secuencias del bloque else.
 Sentencia switch
Se utiliza para las decisiones múltiples, es decir, cuando la evaluación de
una expresión puede dar como resultado varios valores.
El programa asignará un valor a una variable mediante la expresión
escrita al comienzo de la sentencia. Posteriormente, irá comparando el
valor de esa variable con los valores especificados en los distintos
subapartados (case); cuando localice el caso del valor que tiene la
variable, solo se realizarían las sentencias escritas en el bloque default.
Para evaluar condiciones, se utilizan operadores de comparación y
lógicos:
 == Igual.
 > Mayor.
 < Menor.
 >= Mayor o igual.
 <= Menor o igual
 && Y. si tanto a como b son verdaderas.
4.7 Estructuras repetitivas
Se utilizan para repetir la ejecución de un determinado grupo de
sentencias, dependiendo de determinadas condiciones. Las más
comunes son:
 Mientras (while)
Tiene como función repetir un bloque de sentencias mientras se cumpla
una condición. La evaluación de la condición se realiza antes de la
ejecución de las sentencias, de modo que:
o Si es verdadera, las sentencias se realizan y se vuelve a
evaluar la condición.
o Si es falsa, la estructura Mientras finaliza y el control pasa a
la siguiente instrucción del programa.
 Hacer-Mientras (do-while)
Tiene como propósito repetir un bloque de sentencias mientras se
cumpla una condición. La condición se evalúa al final de las sentencias,
de modo que:
o Si es verdadera, las sentencias se vuelven a repetir.
o Si es falsa, la estructura Hacer-Mientras finaliza y el control pasa
a la siguiente instrucción del programa.
 Para (for)
Permite fijar el número de veces que se ha de repetir un bloque de
sentencias. Para ello, se utiliza un contador que comienza con un valor
inicial que incrementa o disminuye en cada iteración del bucle. La
estructura finaliza cuando se deje de cumplir una condición.
4.8 Funciones
Las funciones son un conjunto de instrucciones que realizan una
tarea específica. Toman ciertos valores de entrada llamados
parámetros y proporcionan un valor de salida (return), aunque
ambos son opcionales y pueden no existir.
4.9 Funciones recursivas
Es aquella que se llama así misma para resolverse. En cada llamda
varían los parámetros y se obtienen los resultados necesarios para
resolver la función inicial.
5. Algunos lenguajes de programación
5.1 C++
C++ es un lenguaje de programación diseñado a mediados de los
años 1980. La intención de su creación fue el extender al lenguaje de
programación C mecanismos que permiten la manipulación
de 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.
Actualmente existe un estándar, denominado ISO C++, al que se han
adherido la mayoría de los fabricantes de compiladores más
modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir
los operadores, y de poder crear nuevos tipos que se comporten
como tipos fundamentales.
5.2 Java
Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos, que fue diseñado
específicamente para tener tan pocas dependencias de
implementación como fuera posible. Su intención es permitir que
los desarrolladores de aplicaciones escriban el programa una vez y lo
ejecuten en cualquier dispositivo (conocido en inglés como WORA, o
"write once, run anywhere"), lo que quiere decir que el código que es
ejecutado en una plataforma no tiene 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.
5.3 JavaScript
Es un lenguaje de programación interpretado, dialecto del
estándar ECMAScript. Se define como orientado a objetos, basado en
prototipos, imperativo, débilmente tipado 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 JavaScript o
SSJS). Su uso en aplicaciones externas a la web, por ejemplo en
documentos PDF, aplicaciones de escritorio es también significativo.
5.4 PHP
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 incorporar
directamente en un documento HTML en lugar, de llamar a un archivo
externo que procese los datos. El código es interpretado por un
servidor web con un módulo de procesador de PHP que genera el
HTML resultante.
PHP ha evolucionado por lo que ahora incluye también una interfaz
de línea de comandos que puede ser usada en aplicaciones gráfica sin
dependientes. Puede ser usado en la mayoría de los servidores web
al igual que en muchos sistemas operativos y plataformas sin ningún
costo.
5.5 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.

Más contenido relacionado

DOCX
Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
PPTX
PPTX
PPTX
Unidad 1
Algoritmos
Algoritmos
Algoritmos
Algoritmos
Algoritmos
Unidad 1

La actualidad más candente (17)

PPT
Presentacion Programacion
PDF
Programac io n pdf
PPTX
Clase 1 de introduccion a la programacion
PPTX
PDF
Programacio nfin
PPT
Tema vi
PPT
Tema vi
PDF
Introducccion programacion
PPTX
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
PPTX
Diapositivas fundamentos-de-programacion
PPT
Tema1
 
PPS
Tema1
 
DOCX
Visual basic terminado[1]
PPT
Fundamentos de Programación
PPTX
programacion INFORMATICA.pptx
PDF
Diseño Estructurado de Algoritmos
Presentacion Programacion
Programac io n pdf
Clase 1 de introduccion a la programacion
Programacio nfin
Tema vi
Tema vi
Introducccion programacion
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
Diapositivas fundamentos-de-programacion
Tema1
 
Tema1
 
Visual basic terminado[1]
Fundamentos de Programación
programacion INFORMATICA.pptx
Diseño Estructurado de Algoritmos
Publicidad

Similar a Programacion (20)

PDF
Programacion
DOCX
Programacion
DOCX
Programacion
DOCX
Desarrollo de habilidades de pensamiento.docx
PPTX
Fundamentos de programación semana 3 ppt
PDF
Desarrollo de habilidades de pensamiento (1).pdf
DOCX
Visual basic terminado[1]
PPT
Programación
PDF
Informe de temas y subtemas fichas 1 y 2
PDF
Desarrollo de habilidades de pensamiento (3).pdf
PDF
Desarrollo de habilidades de pensamiento (2).pdf
PDF
Desarrollo de habilidades de pensamiento (2).pdf
PPTX
Resolver problemas con_una_computadora
PPTX
Resolver problemas con_una_computadora
DOCX
PDF
tecnologia patiño.pdf
PDF
tecnologia patiño.pdf
PDF
TECNOLOGIA #2. (Ficha 1- luces y códigos)
PDF
trabajo de tecnologia, segundo periodo 9-6f
PDF
TECNOLOGIA #2 para subir.pdf segundo periodo
Programacion
Programacion
Programacion
Desarrollo de habilidades de pensamiento.docx
Fundamentos de programación semana 3 ppt
Desarrollo de habilidades de pensamiento (1).pdf
Visual basic terminado[1]
Programación
Informe de temas y subtemas fichas 1 y 2
Desarrollo de habilidades de pensamiento (3).pdf
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
Resolver problemas con_una_computadora
Resolver problemas con_una_computadora
tecnologia patiño.pdf
tecnologia patiño.pdf
TECNOLOGIA #2. (Ficha 1- luces y códigos)
trabajo de tecnologia, segundo periodo 9-6f
TECNOLOGIA #2 para subir.pdf segundo periodo
Publicidad

Último (20)

PDF
conceptosbsicosdeprogramacinpseintlaura.pdf
DOCX
Conceptos básicos de programación PseInt laura.docx
PDF
Estrategia de apoyo de tecnología 9-5 Daylin Castaño
PPTX
TICs_en_la_vida_Cotidiana_tecnologiayMas
PPTX
Redes neuronales artificiales y como entrenarlas
PDF
EL RESPETO mejororado para aprender .pdf
PDF
1.3.4-Handling-and-Safety-Instructions-ESP-2024.pdf
PPTX
en este libro encontrarás la lectura inicial para tus niños
PDF
004-CC2014-Irrigacion Mbb equinos del mundo
PPTX
VariablesExpresiones.pptx conceptos que puedes usar en c++
PDF
Estrategia de Apoyo Juan José Narvaéz 9-4
DOCX
Simulación de corriente paralela en LEDS word
PDF
Introducción a REALITY (agosto de 2024).pdf
PPTX
Simulación de corriente paralela en LEDS PowerPoint
PDF
PLAN DE ASEGURAMIENTO CURSOS CORTOS 2024.pdf
PDF
Sesión 6 - Seguridad de almacenamiento.pdf
PPT
CONFIGURACIÓN DE PANTALLA DE UNA COMPUTADORA
PDF
Salud digital: información, integración y el valor de MS Fabric for Health
PDF
Conceptos básicos de programación PseInt laura.pdf
PDF
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf
conceptosbsicosdeprogramacinpseintlaura.pdf
Conceptos básicos de programación PseInt laura.docx
Estrategia de apoyo de tecnología 9-5 Daylin Castaño
TICs_en_la_vida_Cotidiana_tecnologiayMas
Redes neuronales artificiales y como entrenarlas
EL RESPETO mejororado para aprender .pdf
1.3.4-Handling-and-Safety-Instructions-ESP-2024.pdf
en este libro encontrarás la lectura inicial para tus niños
004-CC2014-Irrigacion Mbb equinos del mundo
VariablesExpresiones.pptx conceptos que puedes usar en c++
Estrategia de Apoyo Juan José Narvaéz 9-4
Simulación de corriente paralela en LEDS word
Introducción a REALITY (agosto de 2024).pdf
Simulación de corriente paralela en LEDS PowerPoint
PLAN DE ASEGURAMIENTO CURSOS CORTOS 2024.pdf
Sesión 6 - Seguridad de almacenamiento.pdf
CONFIGURACIÓN DE PANTALLA DE UNA COMPUTADORA
Salud digital: información, integración y el valor de MS Fabric for Health
Conceptos básicos de programación PseInt laura.pdf
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf

Programacion

  • 2. Contenido 2.1 Análisis del problema.................................................................5 2.2 Diseño de algoritmos .................................................................5 2.3 Codificación del problema...........................................................6 2.4 Pruebas y depuración ................................................................6 2.5 Documentación.........................................................................6 3.1 Algoritmo: definición y características que debe cumplir ..................8 3.2 Diagramas de flujo: símbolos utilizados ........................................9 3.3 Pseudocódigo ......................................................................... 10 4.1 Evolución histórica de los lenguajes ........................................... 11  Primera generación: Lenguaje máquina ...................................... 11  Segunda generación: Lenguaje ensamblador ............................... 11  Tercera generación: Lenguajes de alto nivel ................................ 11  Cuarta generación: Programación orientada a objetos................... 11  Quinta generación: Lenguaje natural e inteligencia artificial ........... 12 4.2 Sintaxis de los lenguajes de programación .................................. 12 4.3 Variables y constantes ............................................................. 12 4.4 Tipos de datos........................................................................ 13 4.5 Estructuras secuenciales .......................................................... 14  Sentencias ............................................................................. 14  Llamadas a funciones .............................................................. 14  Asignación ............................................................................. 14  Operaciones aritméticas........................................................... 14 4.6 Estructuras selectivas .............................................................. 15  Sentencia if-else ..................................................................... 15  Sentencia switch..................................................................... 15 4.7 Estructuras repetitivas ............................................................. 15  Mientras (while)...................................................................... 15  Hacer-Mientras (do-while) ........................................................ 16  Para (for) .............................................................................. 16 4.8 Funciones .............................................................................. 16 4.9 Funciones recursivas ............................................................... 16 5.1 C++ ..................................................................................... 16 5.2 Java...................................................................................... 17
  • 3. 5.3 JavaScript.............................................................................. 17 5.4 PHP ...................................................................................... 17 5.5 Python .................................................................................. 18
  • 4. 1.La programación en la sociedad actual El propósito de la programación informática es desarrollar aplicaciones que faciliten las tareas cotidianas, tales como hacer compras, escuchar música, comunicarse con otros usuarios, etc.; en definitiva, mejorar localidad de vida de la sociedad. Para la comunicación con un ordenador se utilizan los lenguajes de programación. Estos lenguajes son un conjunto de símbolos y reglas que, siguiendo una estructura lógica, permiten escribir las líneas de código que componen las aplicaciones. En los inicios de la era informática, era necesario crear programas a partir de un lenguaje muy complejo de ceros y unos. La evolución de los ordenadores ha llevado consigo el desarrollo de nuevos lenguajes de programación que permiten crear entornos de desarrollo visuales que no requieren escribir ningún código para la creación de aplicaciones. La tecnología necesita profesionales capaces de ampliar sus horizontes, por lo que la tendencia actual es potenciar el pensamiento creativo y el razonamiento sistemático a edades cada vez más tempranas. Para ello, hay lenguajes diseñados para ser utilizados por niños y adolescentes, como Scratch, App Inventor…
  • 5. 2.Creación de un programa informático En informática, los algoritmos son la base para crear los programas. Se denomina algoritmo al conjunto de instrucciones y reglas ordenadas que guían el desarrollo de estas actividades. Un programa informático es un conjunto de instrucciones, escritas en un lenguaje de programación para que el ordenador lo pueda entender. Para crear un programa informático se siguen diferentes fases de desarrollo conocidas como Ciclo de vida del software: o Análisis del problema. o Diseño del algoritmo. o Codificación del programa o Pruebas y depuración o Documentación 2.1 Análisis del problema Consiste en hacer un estudio detallado del problema a resolver, con la finalidad de que el resultado final coincida con lo que se esperaba. Esta es una de las fases más complejas, ya que requiere hacer un estudio exhaustivo del problema para conocer todas las características, propiedades y restricciones que debe tener el programa desarrollado. En esta fase hay que identificar correctamente aspectos como a quién va dirigido el software, qué debe hacer exactamente, etc. 2.2 Diseño de algoritmos En esta fase se crean los algoritmos que permiten resolver el problema. Para representarlos se utilizan diagramas de flujo y pseudocódigos. Estos se basan en la utilización de símbolos gráficos denominados bloques, en los que escribimos las acciones que tiene que realizar el algoritmo.
  • 6. 2.3 Codificación del problema Es la traducción del lenguaje algorítmico a un lenguaje de programación que el ordenador puede entender, como Java, Python… Para crear los programas, se utilizan entornos de desarrollo que facilitan la escritura de las instrucciones. Estas instrucciones se almacenan en ficheros denominados código fuente, que se traducen con un compilador a lenguaje máquina, es decir, a programas ejecutables. 2.4 Pruebas y depuración Una vez escrito el programa, hay que someterlo a una serie de pruebas para detectar posibles errores de funcionamiento. Es importante examinar todas las opciones y posibilidades del programa, ya que si se da por finalizada la fase de pruebas sin haber realizado un chequeo completo, se corre el riesgo de que el programa pueda fallar en cualquier momento durante su ejecución. En caso de detectar algún error, este debe corregirse en el programa antes de crear el programa ejecutable definitivo. Las actualizaciones corrigen errores detectados en las aplicaciones tras su lanzamiento. 2.5 Documentación Cada uno de los pasos anteriores debe llevar asociado un documento con todas las especificaciones necesarias. Durante la programación es importante añadir comentarios al código fuente con el objeto de clarificar y explicar cada elemento del programa. Esta documentación sirve para hacer más comprensible el código a otros programadores que tengan que hacer futuras revisiones. Para ello, se suelen utilizar símbolos como // y /*..*/. El código de apertura es el siguiente: <!– y el cierre del comentario se escribe así: –> Ejemplo:
  • 7. ………………………………………………………………………………………………………………… En este ejemplo se observa que los comentarios escritos no se ven. Sólo podremos verlos a través del código fuente de la página.
  • 8. 3.Diseño de algoritmos 3.1 Algoritmo: definición y características que debe cumplir Un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. Las características que debe cumplir todo algoritmo son:  Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.  Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.  Un algoritmo debe ser finito. el algoritmo se debe terminar en algún momento; o sea, debe tener un número finito de pasos.  Un algoritmo debe ser legible. El texto que describe debe ser claro, tal que permita leerlo y entenderlo fácilmente. Los diagramas de flujo sirven para representar algoritmos de manera gráfica
  • 9. 3.2 Diagramas de flujo: símbolos utilizados El diagrama de flujo es la representación gráfica de un algoritmo. Cuando este diagrama incluye símbolos específicos para su resolución con un ordenador, también se le denomina ordinograma.  Líneas de flujo: indican la secuencia en la que se van a ejecutar los pasos del algoritmo.  Terminal: se utiliza para representar el inicio y el final de la tarea a realizar. También puede representar una 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. Si tiene más de 2 salidas se denomina decisión múltiple.  Función: es un modelo independiente que realiza una tarea determinada. Permite agrupar varias instrucciones que se realizan de forma repetitiva.  Entrada/Salida: simboliza la introducción de datos o la salida de 9información a través de cualquier medio.
  • 10. 3.3 Pseudocódigo El pseudocódigo es una forma de escribir los pasos que van a realizar un programa de la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente. Una de las mayores dificultades con las que se encuentran los hispanoparlantes que empiezan a programar es el idioma. Por eso es bueno utilizar el pseudocódigo, que ayuda a asimilar con más facilidad las ideas básicas. Este pseudocódigo vale para pasarlo posteriormente a cualquier lenguaje de programación, no importa el que quieras usar. Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo  Ocupa menos espacio en una hoja de papel.  Permite representar de forma fácil operaciones repetitivas complejas.  Es muy fácil pasar de Pseudocódigo a un programa en un algún lenguaje de programación.  Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación. ¿Qué quiero hacer? Lo escribo en pseudocódigo Escribo el programa en mi lenguaje de programación
  • 11. 4.Lenguajes de programación 4.1 Evolución histórica de los lenguajes Atendiendo a la evolución histórica, se realiza una clasificación general de los lenguajes desde su aparición.  Primera generación: Lenguaje máquina Los primeros ordenadores se programaban en código binario (0,1). Cada ordenador tenía que ser programado utilizando un conjunto de instrucciones específicas, por lo que se llama lenguaje máquina. En la actualidad, aunque se utilizan lenguajes de alto nivel, todos los programas deben ser convertidos a lenguaje máquina para que el ordenador los pueda ejecutar.  Segunda generación: Lenguaje ensamblador El lenguaje ensamblador utilizaba instrucciones sencillas, en lugar de código binario propio del lenguaje máquina. Este lenguaje utiliza un traductor para convertir cada instrucción a su equivalente en lenguaje máquina. Algunos lenguajes utilizan instrucciones en lenguaje ensamblador para hacer más eficientes los programas.  Tercera generación: Lenguajes de alto nivel Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina y mucho más cercanos al lenguaje natural. Necesitan un compilador para generar el programa en código máquina. Inicialmente se desarrollaron lenguajes no estructurados, que utilizaban alguna instrucción para indicar o modificar la secuencia de ejecución de las instrucciones. No obstante, la mayoría de los lenguajes de esta generación siguen el paradigma de la programación estructurada, basada en que todo programa puede escribirse utilizando únicamente instrucciones secuenciales, selectivas y repetitivas.  Cuarta generación: Programación orientada a objetos Es una modalidad de programación más cercana a la vida real, ya que los programas se escriben en términos de objetos sobre los que se realizan acciones y que interaccionan mediante el envío de mensajes entre ellos. La mayoría de lenguajes actuales están orientados a objetos: C++, Java, etc.
  • 12.  Quinta generación: Lenguaje natural e inteligencia artificial Se basan en el uso del lenguaje natural, o muy similar, para describir problemas que, utilizando técnicas de inteligencia artificial, el ordenador es capaz de resolver. Destacan lenguajes como Prolong. 4.2 Sintaxis de los lenguajes de programación A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa. La sintaxis de un lenguaje de programación describe las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto. El significado que se le da a una combinación de símbolos es manejado por su semántica (ya sea formal o como parte del código duro de la referencia de implementación). 4.3 Variables y constantes Los sistemas informáticos descomponen la información en datos sobre los que se opera hasta obtener el resultado deseado. Si un dato no va a cambiar durante la ejecución del programa se puede definir como constante, mientras que los datos cuyos valores pueden cambiar son variables. Es mejor entender el concepto variable como un contenedor de un dato, que podrá cambiar tantas veces como sea necesario y que siempre estará disponible en dicho contenedor. En ocasiones se trabaja con un conjunto de variables que del mismo tipo, que se almacenan de forma consecutiva, lo que se define en programación como array o cadena. Las variables y constantes se crean especificando su nombre y tipo de datos que almacenan. Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes para facilitar su lectura. Este ejemplo está escrito en Python.
  • 13. 4.4 Tipos de datos Para programar, es necesario identificar a qué tipo de datos pertenecen cada una de las variables o constantes, ya sean estos números, letras, palabras, frases, entre otros y cada uno corresponde a un tipo de dato, que requerirá de una manipulación específica para obtener los resultados deseados. Cada lenguaje de programación dispone de un conjunto de tipos de datos que puede manipular; sin embargo los que aquí se presentan corresponden a aquellos que todos los lenguajes de programación disponen, y que se conocen como tipos de datos estándares. Tipo de dato Subtipo Descripción Numéricos Enteros Este tipo dato corresponde a aquellas variables que exclusivamente pueden recibir VALORES SIN PARTE DECIMAL. Reales Este tipo de dato, en cambio corresponde a aquellas variables cuyos VALORES TIENEN PARTE DECIMAL, aunque al mismo tiempo puede contener valores enteros. Texto Caracteres En este tipo de dato se encuentran todos los caracteres conocidos, una letra, un número, un símbolo especial. Por lo tanto, está conformado por los DÍGITOS:'0', '1', '2', ... , '9'; LETRAS: 'a', 'b', 'c', ... , 'z'; MAYÚSCULAS: 'A', 'B', 'C', ... , 'Z'; y CARACTERES ESPECIALES: '%', '*', '?', ... , '/' Cadenas Constituyen conjuntos de caracteres, es decir la UNIÓN DE VARIOS CARACTERES, que pueden ser palabras o frases. El valor de este tipo de datos se encierra generalmente entre comillas (" "). Lógicos Boolean Únicamente reciben dos valores: true ó false. Se utilizan generalmente como banderas, para identificar si se realizó o no un proceso.
  • 14. 4.5 Estructuras secuenciales Proporcionan técnicas que facilitan la tarea de programar, ya que reducen el tiempo requerido para escribir, verificar, depurar y modificar los programas. Una estructura secuencial es aquella en la que cada instrucción sigue a la anterior, de modo que se realizan todas sin saltarse ni repetir ninguna de ellas. Se pueden encontrar diferentes expresiones:  Sentencias Son instrucciones que realizan acciones. Cada sentencia se coloca en una línea del programa, seguida de un “;”. Para agrupar un conjunto de sentencias se utilizan {}.  Llamadas a funciones Ejecutan instrucciones que se encuentran fuera del programa, ya sea en una biblioteca o en otra parte del programa.  Asignación Es la que permite el almacenamiento de un valor en una variable o una constante. La asignación se realiza se realiza con el símbolo =, por lo que es importante no confundirlo con el operador de comparación ==.  Operaciones aritméticas Los operadores aritméticos (+,-,*,/) realizan sumas, restas, productos, divisiones y calculan el resto. La mayoría de lenguajes permiten simplificar las instrucciones aritméticas en que se modifica el valor de una variable a partir de su valor anterior. Ejemplos:  += Incrementa el valor de la variable x en y.  -= Resta el valor de la variable x el valor y  *= Multiplica el valor de la variable x por y  /= Divide el valor de la variable x por y  %= Asigna a la variable x el resto de dividir x por y  ++ Incrementa el valor de la variable x en uno.
  • 15. 4.6 Estructuras selectivas Se utilizan para tomar decisiones lógicas. En ellas, se evalúa una condición y, en función del resultado, se realizan unas u otras acciones.  Sentencia if-else La estructura de selección if permite realizar una acción concreta en caso de cumplirse una condición. Se puede utilizar la sentencia if-else, de modo que si la condición evaluada es verdadera, se ejecutan las sentencias de bloque if, y en caso de ser falsa se ejecutan las secuencias del bloque else.  Sentencia switch Se utiliza para las decisiones múltiples, es decir, cuando la evaluación de una expresión puede dar como resultado varios valores. El programa asignará un valor a una variable mediante la expresión escrita al comienzo de la sentencia. Posteriormente, irá comparando el valor de esa variable con los valores especificados en los distintos subapartados (case); cuando localice el caso del valor que tiene la variable, solo se realizarían las sentencias escritas en el bloque default. Para evaluar condiciones, se utilizan operadores de comparación y lógicos:  == Igual.  > Mayor.  < Menor.  >= Mayor o igual.  <= Menor o igual  && Y. si tanto a como b son verdaderas. 4.7 Estructuras repetitivas Se utilizan para repetir la ejecución de un determinado grupo de sentencias, dependiendo de determinadas condiciones. Las más comunes son:  Mientras (while) Tiene como función repetir un bloque de sentencias mientras se cumpla una condición. La evaluación de la condición se realiza antes de la ejecución de las sentencias, de modo que: o Si es verdadera, las sentencias se realizan y se vuelve a evaluar la condición.
  • 16. o Si es falsa, la estructura Mientras finaliza y el control pasa a la siguiente instrucción del programa.  Hacer-Mientras (do-while) Tiene como propósito repetir un bloque de sentencias mientras se cumpla una condición. La condición se evalúa al final de las sentencias, de modo que: o Si es verdadera, las sentencias se vuelven a repetir. o Si es falsa, la estructura Hacer-Mientras finaliza y el control pasa a la siguiente instrucción del programa.  Para (for) Permite fijar el número de veces que se ha de repetir un bloque de sentencias. Para ello, se utiliza un contador que comienza con un valor inicial que incrementa o disminuye en cada iteración del bucle. La estructura finaliza cuando se deje de cumplir una condición. 4.8 Funciones Las funciones son un conjunto de instrucciones que realizan una tarea específica. Toman ciertos valores de entrada llamados parámetros y proporcionan un valor de salida (return), aunque ambos son opcionales y pueden no existir. 4.9 Funciones recursivas Es aquella que se llama así misma para resolverse. En cada llamda varían los parámetros y se obtienen los resultados necesarios para resolver la función inicial. 5. Algunos lenguajes de programación 5.1 C++ C++ es un lenguaje de programación diseñado a mediados de los años 1980. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de 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.
  • 17. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales. 5.2 Java Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene 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. 5.3 JavaScript Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado 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 JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio es también significativo. 5.4 PHP 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 incorporar directamente en un documento HTML en lugar, de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera el HTML resultante.
  • 18. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráfica sin dependientes. Puede ser usado en la mayoría de los servidores web al igual que en muchos sistemas operativos y plataformas sin ningún costo. 5.5 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.