SlideShare una empresa de Scribd logo
1
PROGRAMACIÓN
SIMÓN EDUARDO DOMÍNGUEZ ESCALANTE
WILLIAM IVAN DURAN BARON
INSTITUTO TÉCNICO MARIO PEZZOTTI LEMUS
DEPARTAMENTO SISTEMAS
ESPECIALIDAD SISTEMAS
LOS PATIOS
2019
2
PROGRAMACIÓN
SIMÓN EDUARDO DOMÍNGUEZ ESCALANTE
WILLIAM IVAN DURAN BARON
ESP. HENRY JAIMES ORTEGA
INSTITUTO TÉCNICO MARIO PEZZOTTI LEMUS
DEPARTAMENTO SISTEMAS
ESPECIALIDAD SISTEMAS
10°C
LOS PATIOS
2019
3
Nota de aceptación
________________________
________________________
________________________
________________________
________________________
________________________
________________________
(Firma)
________________________
Presidente del jurado
(Firma)
________________________
Jurado
(Firma)
________________________
Jurado
4
TABLA DE CONTENIDOS
1. ¿Qué es un programa?
2. Lenguaje de programación
3. Tipos de lenguaje
4. Tipos de datos de programación
5. Tipos de códigos
6. Que es un algoritmo
7. Ejemplos de algoritmos
8. Pasos para solución de problemas
9. Característicasde los algoritmos
Tipos de datos
Constante,variable
Símbolos de diagramación
Operadores aritméticos,relacionalesy lógicos
Tipos de operadores
Tipos de instrucciones
Estructuras de control
Software para aprender a programar
5
¿QUE ES UN PROGRAMA?
Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica en
una computadora. Este dispositivo requiere programas para funcionar, por lo general,
ejecutando las instrucciones del programa en un procesador central. El programa tiene un
formato ejecutable que la computadora puede utilizar directamente para ejecutar las
instrucciones. El mismo programa en su formato de código fuente legible para humanos, del
cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un
programador estudiar y desarrollar sus algoritmos. Una colección de programas de
computadora y datos relacionados se conoce como software.
LENGUAJES DE PROGRAMACIÓN
Un lenguaje de programación es un lenguaje formal que proporciona una serie
de instrucciones que permiten a un programador escribir secuencias de órdenes
y algoritmos a modo de controlar el comportamiento físico y lógico de
una computadora con el objetivo de que produzca diversas clases de datos. A
todo este conjunto de órdenes y datos escritos mediante un lenguaje de
programación se le conoce como programa.
TIPOS DE LENGUAJE
6
Los 5 lenguajes de programación más populares de la actualidad son: Java, C,
C++, Pyhton y C#.
Java: Reconocido por su legibilidad y simplicidad, Java es uno de los lenguajes
de programación más adoptados: más 9 millones de desarrolladores lo usan y
está presente en 7 mil millones de dispositivos en todo el mundo. Desde 2001 se
mantiene en las primeras posiciones, llegando al número puesto número 2 como
la más baja de todas en marzo de 2015.
C: Creado entre 1969 y 1972 en los Laboratorios Bell, es uno de los más
utilizados en el mundo. Si bien es ejecutado en la mayoría de los sistemas
operativos, es de propósito general, con lo cual es muy flexible.
Es muy popular para el desarrollo de aplicaciones de escritorio, como el conocido
editor gráfico GIMP.
C++: Conocido por el nombre “C Plus Plus”, este lenguaje de programación
orientado a objetos surge como una continuación y ampliación del C. Hay una
gran cantidad de programas escritos en C++, como por ejemplo los paquetes de
Adobe
Pyhton: Un lenguaje de programación multiplataforma y multiparadigma, que
también es de propósito general. Esto significa que soporta la orientación a
objetos, la programación imperativa y funcional. Su simpleza, legibilidad y similitud
con el idioma inglés lo convierten en un gran lenguaje ideal para principiantes.
C#: También llamado “C Sharp”, este lenguaje de programación orientado a
objetos fue desarrollado en el año 2000 por Microsoft para ser empleado en una
amplia gama de aplicaciones empresariales ejecutadas en el framework .NET. C
Sharp es una evolución del C y C++ que se destaca por su sencillez y
modernidad.
TIPOS DE DATOS DE PROGRAMACIÓN
Tipos numéricos enteros: En Java existen cuatro tipos destinados a
almacenar números enteros. La única diferencia entre ellos es el número de bytes
usados para su almacenamiento y, en consecuencia, el rango de valores que es
posible representar con ellos. Todos ellos emplean una representación que
permite el almacenamiento de números negativos y positivos. El nombre y
características de estos tipos son los siguientes:
7
 byte: como su propio nombre denota, emplea un solo byte (8 bits) de
almacenamiento. Esto permite almacenar valores en el rango [-128, 127].
 short: usa el doble de almacenamiento que el anterior, lo cual hace posible
representar cualquier valor en el rango [-32.768, 32.767].
 int: emplea 4 bytes de almacenamiento y es el tipo de dato entero más
empleado. El rango de valores que puede representar va de -231 a 231-1.
 long: es el tipo entero de mayor tamaño, 8 bytes (64 bits), con un rango de
valores desde -263 a 263-1.
Tipos numéricos en punto flotante: Los tipos numéricos en punto flotante
permiten representar números tanto muy grandes como muy pequeños además de
números decimales. Java dispone de 2 tipos concretos en esta categoría:
 float: conocido como tipo de precisión simple, emplea un total de 32 bits.
Con este tipo de datos es posible representar números en el rango de
1.4x10-45 a 3.4028235x1038.
 double: sigue un esquema de almacenamiento similar al anterior, pero
usando 64 bits en lugar de 32. Esto le permite representar valores en el
rango de 4.9x10-324 a 1.7976931348623157x10308.
Booleanos y caracteres: Aparte de los 6 tipos de datos que acabamos de ver,
destinados a trabajar con números en distintos rangos, Java define otros dos tipos
primitivos más:
 boolean: tiene la finalidad de facilitar el trabajo con valores "verdadero/falso"
(booleanos), resultantes por regla general de evaluar expresiones. Los dos
valores posibles de este tipo son true y false.
 char: se utiliza para almacenar caracteres individuales (letras, para
entendernos). En realidad está considerado también un tipo numérico, si
bien su representación habitual es la del carácter cuyo código almacena.
Utiliza 16 bits y se usa la codificación UTF-16 de Unicode.
TIPOS DE CÓDIGO
Código Fuente: El código fuente es aquel que contiene las líneas de código
escritas en el lenguaje de programación sobre el cual estamos trabajando.
Código Objeto: archivo compuesto por un conjunto de datos escritos en un
lenguaje de programación de tipo binario o código maquina obtenidos de la
traducción de un anterior código fuente.
8
Código Ejecutable: es básicamente el programa final. Si eres un usuario de
Windows el ejemplo más sencillo de un código ejecutable son los archivos.
Código de un Ejecutable visto desde un block de notas Como podemos ver, el
código final es mucho menos entendible que el código objeto, esto es debido a
que se encuentra por una parte cifrado y por otra parte se encuentra escrito
totalmente en lenguaje máquina.
¿QUE ES UN ALGORITMO?
Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un
problema o cumplir con un objetivo.
Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada
uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un
algoritmo varias veces se debe obtener siempre el mismo resultado, también debe
ser finito o sea debe iniciar con una acción y terminar con un resultado o solución
de un problema.
EJEMPLOS DE ALGORITMOS
EJEMPLO #1
9
EJEMPLO #2
EJEMPLO #3
10
PASÓ PARA SOLUCIÓN DE PROBLEMAS
La resolución de un problema mediante un ordenador consiste en el proceso que a
partir de la descripción de un problema, expresado habitualmente en lenguaje
natural y en términos propios del dominio del problema, permite desarrollar
un programa que resuelva dicho problema.
Este proceso exige los siguientes pasos:
 Análisis del problema.
 Diseño o desarrollo de un algoritmo.
 Transformación del algoritmo en un programa (codificación).
 Ejecución y validación del programa.
CARACTERÍSTICAS DE LOS ALGORITMOS
Las características fundamentales que debe cumplir todo algoritmo son:
 Un algoritmo debe ser preciso: tiene que 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 lo describe debe ser claro, tal
que permita entenderlo y leerlo fácilmente.
 Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
TIPOS DE DATOS
Tipo de datos número: int
Los números suelen ser representados en un lenguaje de programación de
maneras diferentes, ya que importa decidir una serie de cuestiones:
 Cual va ser el tamaño que vamos a usar.
 Si va a tener números decimales o no.
11
 Si va ser negativo

Tipos de datos número real: double o float
Si nos interesa utilizar un número con decimales, sueles encontrar el tipo de
datos double o float.
A esto lo llamamos un número de punto flotante. Declararlo como un tipo u otro
dependerá de la precisión en decimales que quieras tener.
¿Cómo podemos distinguir una variable si se ha declarado como int o
como float? Por ejemplo, si nos encontramos un número con un punto decimal
(3.14).
También puedes ver un número con la letra F o con la letra D, para distinguir si es
un float o un double. Por ejemplo 3.56F.
CONSTANTE, VARIABLE
En programación, una constante es un valor que no puede ser alterado/modificado
durante la ejecución de un programa, únicamente puede ser leído.
Una constante corresponde a una longitud fija de un área reservada en la memoria
principal del ordenador, donde el programa almacena valores fijos.
Una variable es un elemento de datos con nombre cuyo valor puede cambiar
durante el curso de la ejecución de un programa. Un nombre de variable debe
seguir el convenio de denominación de un identificador (carácter alfabético o
número y el signo de subrayado). Cuando se define más de una variable en una
sola declaración, el nombre debe ir separado por comas. Cada declaración de
variable debe finalizar con un signo de punto y coma. Los nombres de variables no
pueden coincidir con una palabra reservada.
SÍMBOLOS DE DIAGRAMACIÓN
Símbolo de Inicio / Final.
El símbolo de terminación marca el punto inicial o final del sistema. Por lo general,
contiene la palabra "Inicio" o "Fin".
12
Símbolo de Acción o Proceso.
Un rectángulo solo puede representar un solo paso dentro de un proceso
("agregar dos tazas de harina"), o un subproceso completo ("hacer pan") dentro de
un proceso más grande.
Símbolo del Documento Impreso.
Un documento o informe impreso.
Símbolo de Multidocumento.
Representa multidocumento en el proceso.
Símbolo de Decisión o Ramificación.
Un punto de decisión o ramificación. Las líneas que representan diferentes
decisiones surgen de diferentes puntos del diamante.
Símbolo de Entrada / Salida.
Representa el material o la información que entra o sale del sistema, como una
orden del cliente (entrada) o un producto (salida).
13
Símbolo de Entrada Manual.
Representa un paso en el que se pide al usuario que introduzca la información
manualmente.
Símbolo de Preparación.
Representa un ajuste a otro paso en el proceso.
Símbolo del Conector.
Indica que el flujo continúa donde se ha colocado un símbolo identico (que
contiene la misma letra).
O Símbolo.
Indica que el flujo del proceso continúa en más de dos ramas.
Símbolo de Unión de Invocación.
Indica un punto en el diagrama de flujo en el que múltiples ramificaciones
convergen de nuevo en un solo proceso.
14
Símbolo de Fusión.
Indica un paso en el que dos o más sub-listas o subprocesos se convierten en
uno.
Símbolo de Intercalar.
Indica un paso que ordena información en un formato estándar.
Símbolo de Ordenar.
Indica un paso que organiza una lista de elementos en una secuencia o establece
según algunos criterios predeterminados.
Símbolo de Proceso Predefinido
Indica una secuencia de acciones que realizan una tarea específica incrustada
dentro de un proceso más grande. Esta secuencia de acciones podría describirse
con más detalle en un diagrama de flujo separado.
Símbolo del Operación Manual.
Indica una secuencia de comandos que continuarán repitiéndose hasta que se
detenga manualmente.
15
Símbolo de Límite de Bucle.
Indica el punto en el que debe detenerse un bucle.
Símbolo de Retardo.
Indica un retraso en el proceso.
Almacenamiento de Datos o Símbolo de Datos Almacenados.
Indica un paso donde se almacenan los datos.
Símbolo de la Base de Datos.
Indica una lista de información con una estructura estándar que permite buscar y
ordenar.
Símbolo de Almacenamiento Interno.
Indica que la información se almacenó en la memoria durante un programa,
utilizado en diagramas de flujo de diseño de software.
Símbolo de Visualización.
Indica un paso que muestra información.
16
Conector Fuera de Página.
Indica que el proceso continúa fuera de la página.
OPERADORES ARITMÉTICOS, RELACIONALES Y LÓGICOS
ARITMÉTICOS: Los operadores aritméticos nos permite, básicamente, hacer
cualquier operación aritmética, que necesitamos (ejemplo: suma, resta,
multiplicación, etc.).
Existen operadores aritméticos binarios y unarios.
Los binarios son:
+: Suma de dos o más valores o variables.
-: Resta de dos o más valores o variables.
*: Multiplicación de dos o más valores o variables.
/: División de dos o más valores o variables.
%: Modulo (obtención del residuo de una división) de dos o más valores o
variables.
Los unarios:
++: Aumenta el valor de una variable en una unidad.
--: Disminuye el valor de una variable en una unidad.
-: Cambia el signo de una variable, es como multiplicar por -1
RELACIONALES: Son operadores que se encargan de unir y comparar dos o
más valores, se utilizan en comparaciones de parejas por los símbolos:
==: igual que
!= : diferente a
> : Mayor que
< : Menor que
>= : mayor igual que
<= : menor igual que
Estos operadores se usan para comparar valores de variables por pares es decir,
no se pueden comparar más de 2 valores al mismo tiempo:
a > b > c //ERROR
17
(a > b) && (b > c) //BIEN
LÓGICOS: Son operadores de unión, también llamados compuertas lógicas, estos
operadores pueden unir dos o más pares de valores comparados por medio de los
operadores relaciones:
&& : Operador AND (Y) todas las condiciones deben ser verdaderas para que se
ejecute una acción.
|| : Operador OR (O) de todas las condiciones solo una debe ser verdadera y con
hace determinada acción.
! : Operador NOT (NO) se niega la afirmación para cambiar su valor, es decir
cambia de verdadero a falso y de falso a verdadero.
TIPOS DE OPERADORES
 Operadores aritméticos.
 Operadores relacionales.
 Operadores lógicos.
 Operadores a nivel de bit.
 Operadores especiales.
Los operadores aritméticos nos permiten, básicamente, hacer
cualquier operación aritmética, que necesitemos (ejemplo: suma,
resta, multiplicación, etc.).
18
Al igual que en matemáticas, estos operadores nos permitirán evaluar las
relaciones (igualdad, mayor, menor, etc.) entre un par de operandos (en principio,
pensemos en números). Los operadores relacionales de los que
disponemos en C son:
19
Como operadores lógicos designamos a aquellos operadores que nos
permiten ``conectar'' un par de propiedades (al igual que en lógica):
En determinadas ocasiones nos puede interesar manipular datos a nivelde bit;
por ejemplo activar o desactivar flags. Un flag es una ``variable'' que puede tomar
2 valores, por lo que se suele representar con un bit.
Operadores especiales últimos describiremos los operadores que nos faltan:
 El operador de asignación
 El operador ternario ?
 Los operadores & y * (unarios)
 El operador sizeof
20
 El operador cast
 El operador coma ``,''
 Los operadores ``.'' y ``- ''
 El operador ( )
 El operador [ ]
TIPOS DE INSTRUCCIONES
 Instrucciones de transferencia de datos: en este tipo de instrucciones, se
transfieren datos desde una localización a otra. Los pasos que se siguen para
realizarlo son:
1. Determinación de las direcciones de origen y destino de memoria.
2. Realización de la transformación de memoria virtual a memoria real.
3. Comprobación de la caché.
4. Inicio del proceso de lectura/escritura en la memoria.
 Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o
después. Realizan operaciones aritméticas de las que se encarga la ALU. Se
pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos
(suma, resta).
 Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de
realizar estas operaciones, que en este caso son de tipo lógico.
 Instrucciones de conversión: similares a las aritméticas y lógicas. Pueden
implicar lógica especial para realizar la conversión.
 Instrucciones de transferencia de control: actualizan el contador de
programa (PC). Administran las llamadas/retornos a las subrutinas, el paso
de parámetros y el enlazado.
21
 Instrucciones de E/S (entrada/salida): administran los comandos de
entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la
dirección de este mapa.
ESTRUCTURAS DEL CONTROL
En lenguajes de programación, las estructuras de control permiten modificar el
flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
 De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-
Then-Else)
 De acuerdo con el valor de una variable, ejecutar un grupo u otro de
sentencias (Switch-Case)
 Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
 Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
 Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras
de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas.
Esta es una de las cosas que permiten que la programación se rija por los
principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares.
Básicamente lo que varía entre las estructuras de control de los diferentes
lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la
estructura.
SOFTWARE PARA APRENDER A PROGRAMAR
TreeHouse
Bajo el lema "¿Qué quieres aprender hoy?", TreeHouse ofrece cursos en línea,
basados en vídeos cortos, muy bien explicados, sobre programación web y
programación de dispositivos móviles con iOS. Es necesario pagar una
suscripción para acceder a todos los materiales, que por cierto se actualizan y
crecen con frecuencia. Me encanta que utilicen condecoraciones y que éstas sean
indicio de una educación más allá de títulos universitarios.
22
Try Ruby
Creo que no me equivoco al decir que la comunidad en pro del lenguaje Ruby
tiene los tutoriales de aprendizaje de programación más lindos y divertidos de
todos. Por ejemplo el famoso Hackety Hack y los espirituales Ruby Koans. Por su
parte, Try Ruby, es un tutorial interactivo, casi como un cuento programable, que
invita a descubrir ese hermoso lenguaje. Yo no lo pensaría y me daría una
oportunidad de aprender Ruby cuanto antes.
Skillshare
"Aprende lo que sea de quien sea, donde sea". Esta es la promesa de una
plataforma que conecta una red de nodos profesor/alumno, personas que
aprenden y enseñan también a programar a través de cursos donde el aprendizaje
es guiado por una comunidad.

Más contenido relacionado

La actualidad más candente

3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
Yenny Salazar
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambasgregoryj733
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
AeChm-MgMs-NnNm-OpSe
 
Entornos de lenguaje c
Entornos de lenguaje cEntornos de lenguaje c
Entornos de lenguaje c
alejanlaura
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadoresLorenzo Alejo
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
karlalopezbello
 
Constante y variable
Constante y variableConstante y variable
Constante y variableAnthony Vera
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
Carlos Pes
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigo
Abrirllave
 
Pseudocodigos
PseudocodigosPseudocodigos
PseudocodigosClariza
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
normaroldano
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
Luis Pérez
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
karenyulithza
 
3. Elementos basicos de un programa
3.  Elementos basicos de un programa3.  Elementos basicos de un programa
3. Elementos basicos de un programamartell024
 
Portafolio de evidencias actividades
Portafolio de evidencias actividadesPortafolio de evidencias actividades
Portafolio de evidencias actividades
James Logan
 
Lógica y Algoritmos
Lógica y AlgoritmosLógica y Algoritmos
Lógica y Algoritmos
Krisna M. B. Ready S.
 
Presentación de c #
Presentación de c #Presentación de c #
Presentación de c #
César Gimenez
 
Clasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programaciónClasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programación
MaryElizabeth07
 
Tema 01 introducción al curso
Tema 01 introducción al cursoTema 01 introducción al curso
Tema 01 introducción al curso
Jorge Pariasca
 
2685008 taller-java
2685008 taller-java2685008 taller-java
2685008 taller-java
jairjulian
 

La actualidad más candente (20)

3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambas
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Entornos de lenguaje c
Entornos de lenguaje cEntornos de lenguaje c
Entornos de lenguaje c
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadores
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigo
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
3. Elementos basicos de un programa
3.  Elementos basicos de un programa3.  Elementos basicos de un programa
3. Elementos basicos de un programa
 
Portafolio de evidencias actividades
Portafolio de evidencias actividadesPortafolio de evidencias actividades
Portafolio de evidencias actividades
 
Lógica y Algoritmos
Lógica y AlgoritmosLógica y Algoritmos
Lógica y Algoritmos
 
Presentación de c #
Presentación de c #Presentación de c #
Presentación de c #
 
Clasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programaciónClasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programación
 
Tema 01 introducción al curso
Tema 01 introducción al cursoTema 01 introducción al curso
Tema 01 introducción al curso
 
2685008 taller-java
2685008 taller-java2685008 taller-java
2685008 taller-java
 

Similar a 12 13 dominguez simon duran william programacion 29 10-2019

Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
Estudiantes ISI_UCA
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
camilofigueroa14
 
Como usar el lenguaje c++
Como usar el lenguaje c++Como usar el lenguaje c++
Como usar el lenguaje c++
EspitiaGiancarlo
 
Tecno
TecnoTecno
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
AlejandroLozada20
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
alancardona3
 
ESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICASESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICAS
Sara Sofía Imbachí Nieto
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
alancardona3
 
Programación.pptx
Programación.pptxProgramación.pptx
Programación.pptx
YHOALIBETHODALISMART
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
moni26011993
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
Armando Jori
 
Guia de ejercioccios de estudio c#.pptx
Guia de ejercioccios de estudio   c#.pptxGuia de ejercioccios de estudio   c#.pptx
Guia de ejercioccios de estudio c#.pptx
JAVIERARTUROGARCIAMI
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
henser
 
Introduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion cIntroduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion c
Freivys Paredes
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
Chavez Raul
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
Walter Wilfredo
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseint
LeidyEspinoza6
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
srblack13
 
Tecnología PseInt
Tecnología PseIntTecnología PseInt
Tecnología PseInt
Mariana Ocampo
 

Similar a 12 13 dominguez simon duran william programacion 29 10-2019 (20)

Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
 
Como usar el lenguaje c++
Como usar el lenguaje c++Como usar el lenguaje c++
Como usar el lenguaje c++
 
Tecno
TecnoTecno
Tecno
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
ESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICASESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICAS
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Programación.pptx
Programación.pptxProgramación.pptx
Programación.pptx
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
Guia de ejercioccios de estudio c#.pptx
Guia de ejercioccios de estudio   c#.pptxGuia de ejercioccios de estudio   c#.pptx
Guia de ejercioccios de estudio c#.pptx
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
 
Introduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion cIntroduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion c
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseint
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Tecnología PseInt
Tecnología PseIntTecnología PseInt
Tecnología PseInt
 

Último

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 

Último (20)

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 

12 13 dominguez simon duran william programacion 29 10-2019

  • 1. 1 PROGRAMACIÓN SIMÓN EDUARDO DOMÍNGUEZ ESCALANTE WILLIAM IVAN DURAN BARON INSTITUTO TÉCNICO MARIO PEZZOTTI LEMUS DEPARTAMENTO SISTEMAS ESPECIALIDAD SISTEMAS LOS PATIOS 2019
  • 2. 2 PROGRAMACIÓN SIMÓN EDUARDO DOMÍNGUEZ ESCALANTE WILLIAM IVAN DURAN BARON ESP. HENRY JAIMES ORTEGA INSTITUTO TÉCNICO MARIO PEZZOTTI LEMUS DEPARTAMENTO SISTEMAS ESPECIALIDAD SISTEMAS 10°C LOS PATIOS 2019
  • 4. 4 TABLA DE CONTENIDOS 1. ¿Qué es un programa? 2. Lenguaje de programación 3. Tipos de lenguaje 4. Tipos de datos de programación 5. Tipos de códigos 6. Que es un algoritmo 7. Ejemplos de algoritmos 8. Pasos para solución de problemas 9. Característicasde los algoritmos Tipos de datos Constante,variable Símbolos de diagramación Operadores aritméticos,relacionalesy lógicos Tipos de operadores Tipos de instrucciones Estructuras de control Software para aprender a programar
  • 5. 5 ¿QUE ES UN PROGRAMA? Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica en una computadora. Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de programas de computadora y datos relacionados se conoce como software. LENGUAJES DE PROGRAMACIÓN Un lenguaje de programación es un lenguaje formal que proporciona una serie de instrucciones que permiten a un programador escribir secuencias de órdenes y algoritmos a modo de controlar el comportamiento físico y lógico de una computadora con el objetivo de que produzca diversas clases de datos. A todo este conjunto de órdenes y datos escritos mediante un lenguaje de programación se le conoce como programa. TIPOS DE LENGUAJE
  • 6. 6 Los 5 lenguajes de programación más populares de la actualidad son: Java, C, C++, Pyhton y C#. Java: Reconocido por su legibilidad y simplicidad, Java es uno de los lenguajes de programación más adoptados: más 9 millones de desarrolladores lo usan y está presente en 7 mil millones de dispositivos en todo el mundo. Desde 2001 se mantiene en las primeras posiciones, llegando al número puesto número 2 como la más baja de todas en marzo de 2015. C: Creado entre 1969 y 1972 en los Laboratorios Bell, es uno de los más utilizados en el mundo. Si bien es ejecutado en la mayoría de los sistemas operativos, es de propósito general, con lo cual es muy flexible. Es muy popular para el desarrollo de aplicaciones de escritorio, como el conocido editor gráfico GIMP. C++: Conocido por el nombre “C Plus Plus”, este lenguaje de programación orientado a objetos surge como una continuación y ampliación del C. Hay una gran cantidad de programas escritos en C++, como por ejemplo los paquetes de Adobe Pyhton: Un lenguaje de programación multiplataforma y multiparadigma, que también es de propósito general. Esto significa que soporta la orientación a objetos, la programación imperativa y funcional. Su simpleza, legibilidad y similitud con el idioma inglés lo convierten en un gran lenguaje ideal para principiantes. C#: También llamado “C Sharp”, este lenguaje de programación orientado a objetos fue desarrollado en el año 2000 por Microsoft para ser empleado en una amplia gama de aplicaciones empresariales ejecutadas en el framework .NET. C Sharp es una evolución del C y C++ que se destaca por su sencillez y modernidad. TIPOS DE DATOS DE PROGRAMACIÓN Tipos numéricos enteros: En Java existen cuatro tipos destinados a almacenar números enteros. La única diferencia entre ellos es el número de bytes usados para su almacenamiento y, en consecuencia, el rango de valores que es posible representar con ellos. Todos ellos emplean una representación que permite el almacenamiento de números negativos y positivos. El nombre y características de estos tipos son los siguientes:
  • 7. 7  byte: como su propio nombre denota, emplea un solo byte (8 bits) de almacenamiento. Esto permite almacenar valores en el rango [-128, 127].  short: usa el doble de almacenamiento que el anterior, lo cual hace posible representar cualquier valor en el rango [-32.768, 32.767].  int: emplea 4 bytes de almacenamiento y es el tipo de dato entero más empleado. El rango de valores que puede representar va de -231 a 231-1.  long: es el tipo entero de mayor tamaño, 8 bytes (64 bits), con un rango de valores desde -263 a 263-1. Tipos numéricos en punto flotante: Los tipos numéricos en punto flotante permiten representar números tanto muy grandes como muy pequeños además de números decimales. Java dispone de 2 tipos concretos en esta categoría:  float: conocido como tipo de precisión simple, emplea un total de 32 bits. Con este tipo de datos es posible representar números en el rango de 1.4x10-45 a 3.4028235x1038.  double: sigue un esquema de almacenamiento similar al anterior, pero usando 64 bits en lugar de 32. Esto le permite representar valores en el rango de 4.9x10-324 a 1.7976931348623157x10308. Booleanos y caracteres: Aparte de los 6 tipos de datos que acabamos de ver, destinados a trabajar con números en distintos rangos, Java define otros dos tipos primitivos más:  boolean: tiene la finalidad de facilitar el trabajo con valores "verdadero/falso" (booleanos), resultantes por regla general de evaluar expresiones. Los dos valores posibles de este tipo son true y false.  char: se utiliza para almacenar caracteres individuales (letras, para entendernos). En realidad está considerado también un tipo numérico, si bien su representación habitual es la del carácter cuyo código almacena. Utiliza 16 bits y se usa la codificación UTF-16 de Unicode. TIPOS DE CÓDIGO Código Fuente: El código fuente es aquel que contiene las líneas de código escritas en el lenguaje de programación sobre el cual estamos trabajando. Código Objeto: archivo compuesto por un conjunto de datos escritos en un lenguaje de programación de tipo binario o código maquina obtenidos de la traducción de un anterior código fuente.
  • 8. 8 Código Ejecutable: es básicamente el programa final. Si eres un usuario de Windows el ejemplo más sencillo de un código ejecutable son los archivos. Código de un Ejecutable visto desde un block de notas Como podemos ver, el código final es mucho menos entendible que el código objeto, esto es debido a que se encuentra por una parte cifrado y por otra parte se encuentra escrito totalmente en lenguaje máquina. ¿QUE ES UN ALGORITMO? Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un objetivo. Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo resultado, también debe ser finito o sea debe iniciar con una acción y terminar con un resultado o solución de un problema. EJEMPLOS DE ALGORITMOS EJEMPLO #1
  • 10. 10 PASÓ PARA SOLUCIÓN DE PROBLEMAS La resolución de un problema mediante un ordenador consiste en el proceso que a partir de la descripción de un problema, expresado habitualmente en lenguaje natural y en términos propios del dominio del problema, permite desarrollar un programa que resuelva dicho problema. Este proceso exige los siguientes pasos:  Análisis del problema.  Diseño o desarrollo de un algoritmo.  Transformación del algoritmo en un programa (codificación).  Ejecución y validación del programa. CARACTERÍSTICAS DE LOS ALGORITMOS Las características fundamentales que debe cumplir todo algoritmo son:  Un algoritmo debe ser preciso: tiene que 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 lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente.  Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. TIPOS DE DATOS Tipo de datos número: int Los números suelen ser representados en un lenguaje de programación de maneras diferentes, ya que importa decidir una serie de cuestiones:  Cual va ser el tamaño que vamos a usar.  Si va a tener números decimales o no.
  • 11. 11  Si va ser negativo  Tipos de datos número real: double o float Si nos interesa utilizar un número con decimales, sueles encontrar el tipo de datos double o float. A esto lo llamamos un número de punto flotante. Declararlo como un tipo u otro dependerá de la precisión en decimales que quieras tener. ¿Cómo podemos distinguir una variable si se ha declarado como int o como float? Por ejemplo, si nos encontramos un número con un punto decimal (3.14). También puedes ver un número con la letra F o con la letra D, para distinguir si es un float o un double. Por ejemplo 3.56F. CONSTANTE, VARIABLE En programación, una constante es un valor que no puede ser alterado/modificado durante la ejecución de un programa, únicamente puede ser leído. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos. Una variable es un elemento de datos con nombre cuyo valor puede cambiar durante el curso de la ejecución de un programa. Un nombre de variable debe seguir el convenio de denominación de un identificador (carácter alfabético o número y el signo de subrayado). Cuando se define más de una variable en una sola declaración, el nombre debe ir separado por comas. Cada declaración de variable debe finalizar con un signo de punto y coma. Los nombres de variables no pueden coincidir con una palabra reservada. SÍMBOLOS DE DIAGRAMACIÓN Símbolo de Inicio / Final. El símbolo de terminación marca el punto inicial o final del sistema. Por lo general, contiene la palabra "Inicio" o "Fin".
  • 12. 12 Símbolo de Acción o Proceso. Un rectángulo solo puede representar un solo paso dentro de un proceso ("agregar dos tazas de harina"), o un subproceso completo ("hacer pan") dentro de un proceso más grande. Símbolo del Documento Impreso. Un documento o informe impreso. Símbolo de Multidocumento. Representa multidocumento en el proceso. Símbolo de Decisión o Ramificación. Un punto de decisión o ramificación. Las líneas que representan diferentes decisiones surgen de diferentes puntos del diamante. Símbolo de Entrada / Salida. Representa el material o la información que entra o sale del sistema, como una orden del cliente (entrada) o un producto (salida).
  • 13. 13 Símbolo de Entrada Manual. Representa un paso en el que se pide al usuario que introduzca la información manualmente. Símbolo de Preparación. Representa un ajuste a otro paso en el proceso. Símbolo del Conector. Indica que el flujo continúa donde se ha colocado un símbolo identico (que contiene la misma letra). O Símbolo. Indica que el flujo del proceso continúa en más de dos ramas. Símbolo de Unión de Invocación. Indica un punto en el diagrama de flujo en el que múltiples ramificaciones convergen de nuevo en un solo proceso.
  • 14. 14 Símbolo de Fusión. Indica un paso en el que dos o más sub-listas o subprocesos se convierten en uno. Símbolo de Intercalar. Indica un paso que ordena información en un formato estándar. Símbolo de Ordenar. Indica un paso que organiza una lista de elementos en una secuencia o establece según algunos criterios predeterminados. Símbolo de Proceso Predefinido Indica una secuencia de acciones que realizan una tarea específica incrustada dentro de un proceso más grande. Esta secuencia de acciones podría describirse con más detalle en un diagrama de flujo separado. Símbolo del Operación Manual. Indica una secuencia de comandos que continuarán repitiéndose hasta que se detenga manualmente.
  • 15. 15 Símbolo de Límite de Bucle. Indica el punto en el que debe detenerse un bucle. Símbolo de Retardo. Indica un retraso en el proceso. Almacenamiento de Datos o Símbolo de Datos Almacenados. Indica un paso donde se almacenan los datos. Símbolo de la Base de Datos. Indica una lista de información con una estructura estándar que permite buscar y ordenar. Símbolo de Almacenamiento Interno. Indica que la información se almacenó en la memoria durante un programa, utilizado en diagramas de flujo de diseño de software. Símbolo de Visualización. Indica un paso que muestra información.
  • 16. 16 Conector Fuera de Página. Indica que el proceso continúa fuera de la página. OPERADORES ARITMÉTICOS, RELACIONALES Y LÓGICOS ARITMÉTICOS: Los operadores aritméticos nos permite, básicamente, hacer cualquier operación aritmética, que necesitamos (ejemplo: suma, resta, multiplicación, etc.). Existen operadores aritméticos binarios y unarios. Los binarios son: +: Suma de dos o más valores o variables. -: Resta de dos o más valores o variables. *: Multiplicación de dos o más valores o variables. /: División de dos o más valores o variables. %: Modulo (obtención del residuo de una división) de dos o más valores o variables. Los unarios: ++: Aumenta el valor de una variable en una unidad. --: Disminuye el valor de una variable en una unidad. -: Cambia el signo de una variable, es como multiplicar por -1 RELACIONALES: Son operadores que se encargan de unir y comparar dos o más valores, se utilizan en comparaciones de parejas por los símbolos: ==: igual que != : diferente a > : Mayor que < : Menor que >= : mayor igual que <= : menor igual que Estos operadores se usan para comparar valores de variables por pares es decir, no se pueden comparar más de 2 valores al mismo tiempo: a > b > c //ERROR
  • 17. 17 (a > b) && (b > c) //BIEN LÓGICOS: Son operadores de unión, también llamados compuertas lógicas, estos operadores pueden unir dos o más pares de valores comparados por medio de los operadores relaciones: && : Operador AND (Y) todas las condiciones deben ser verdaderas para que se ejecute una acción. || : Operador OR (O) de todas las condiciones solo una debe ser verdadera y con hace determinada acción. ! : Operador NOT (NO) se niega la afirmación para cambiar su valor, es decir cambia de verdadero a falso y de falso a verdadero. TIPOS DE OPERADORES  Operadores aritméticos.  Operadores relacionales.  Operadores lógicos.  Operadores a nivel de bit.  Operadores especiales. Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc.).
  • 18. 18 Al igual que en matemáticas, estos operadores nos permitirán evaluar las relaciones (igualdad, mayor, menor, etc.) entre un par de operandos (en principio, pensemos en números). Los operadores relacionales de los que disponemos en C son:
  • 19. 19 Como operadores lógicos designamos a aquellos operadores que nos permiten ``conectar'' un par de propiedades (al igual que en lógica): En determinadas ocasiones nos puede interesar manipular datos a nivelde bit; por ejemplo activar o desactivar flags. Un flag es una ``variable'' que puede tomar 2 valores, por lo que se suele representar con un bit. Operadores especiales últimos describiremos los operadores que nos faltan:  El operador de asignación  El operador ternario ?  Los operadores & y * (unarios)  El operador sizeof
  • 20. 20  El operador cast  El operador coma ``,''  Los operadores ``.'' y ``- ''  El operador ( )  El operador [ ] TIPOS DE INSTRUCCIONES  Instrucciones de transferencia de datos: en este tipo de instrucciones, se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son: 1. Determinación de las direcciones de origen y destino de memoria. 2. Realización de la transformación de memoria virtual a memoria real. 3. Comprobación de la caché. 4. Inicio del proceso de lectura/escritura en la memoria.  Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta).  Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico.  Instrucciones de conversión: similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión.  Instrucciones de transferencia de control: actualizan el contador de programa (PC). Administran las llamadas/retornos a las subrutinas, el paso de parámetros y el enlazado.
  • 21. 21  Instrucciones de E/S (entrada/salida): administran los comandos de entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa. ESTRUCTURAS DEL CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede:  De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If- Then-Else)  De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case)  Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)  Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)  Ejecutar un grupo de sentencias un número determinado de veces (For-Next) Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada. Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura. SOFTWARE PARA APRENDER A PROGRAMAR TreeHouse Bajo el lema "¿Qué quieres aprender hoy?", TreeHouse ofrece cursos en línea, basados en vídeos cortos, muy bien explicados, sobre programación web y programación de dispositivos móviles con iOS. Es necesario pagar una suscripción para acceder a todos los materiales, que por cierto se actualizan y crecen con frecuencia. Me encanta que utilicen condecoraciones y que éstas sean indicio de una educación más allá de títulos universitarios.
  • 22. 22 Try Ruby Creo que no me equivoco al decir que la comunidad en pro del lenguaje Ruby tiene los tutoriales de aprendizaje de programación más lindos y divertidos de todos. Por ejemplo el famoso Hackety Hack y los espirituales Ruby Koans. Por su parte, Try Ruby, es un tutorial interactivo, casi como un cuento programable, que invita a descubrir ese hermoso lenguaje. Yo no lo pensaría y me daría una oportunidad de aprender Ruby cuanto antes. Skillshare "Aprende lo que sea de quien sea, donde sea". Esta es la promesa de una plataforma que conecta una red de nodos profesor/alumno, personas que aprenden y enseñan también a programar a través de cursos donde el aprendizaje es guiado por una comunidad.