SlideShare una empresa de Scribd logo
1 de 46
LA PROGRAMACIÓN: RESOLUCIÓN DE
PROBLEMAS
 Un programa es una secuencia de instrucciones con un propósito
concreto que un ordenador puede interpretar y ejecutar
 Programar es resolver problemas
 Conjunto de actividades implicadas en la descripción, el desarrollo y la
implementación eficaz de soluciones algorítmicas a problemas bien
especificados
Algoritmo 1. m. Conjunto ordenado y finito de operaciones que permite
hallar la solución de un problema.
(Extraído del Diccionario de la RAE, 22ª edición)
 Un algoritmo es, por tanto, una sistemática que transforma un
estado inicial en un estado final
 La entrada del programa: Precondiciones
 Descripción del estado inicial (datos y situación de partida)
 La salida del programa: Postcondiciones
 Descripción del estado final (datos y situación deseada al acabar)
ELEMENTOS BASICOS DE
ALGORITMOS
Nombre Símbolo Función
Terminal Representa el inicio y fin del algoritmo.
Entrada / salida
Entrada o salida de datos. Por ejemplo leer un
dato, mostrar un dato en pantalla, etc.
Proceso
Cualquier tipo de operación que pueda originar
cambio de valor
Decisión
Indica operaciones lógicas o de comparación
entre datos y en función del resultado de la
misma determina (normalmente si y no) cual de
los distintos caminos alternativos del programa
se debe seguir
Conector Misma
Página
Sirve para enlazar dos partes cualesquiera de
un diagrama a través de un conector en la
salida y otro conector en la entrada. Se refiere
a la conexión en la misma pagina del diagrama
Indicador de
dirección o línea de
flujo
Indica el sentido de la ejecución de las
operaciones
Salida
Se utiliza en ocasiones en lugar del símbolo de
salida. El dibujo representa un pedazo de hoja.
Es usado para mostrar datos o resultados.
 Utilizamos los lenguajes de programación para
expresar los algoritmos de forma que el ordenador
los entienda
 De igual forma, que utilizamos la lengua castellana
para expresar nuestras ideas a otras personas
 Recuerda: Programar BIEN no es sólo conocer la
sintaxis de uno o varios lenguajes de programación
PSEUDOCÓDIGO
El principal objetivo del pseudocódigo es el de representar la
solución a un algoritmo de la forma más detallada posible, y a
su vez lo más parecida posible al lenguaje que posteriormente
se utilizara para la codificación del mismo.
Las principales características de este lenguaje son:
• Se puede ejecutar en un ordenador
• Es una forma de representación sencilla de utilizar y de
manipular.
• Facilita el paso del programa al lenguaje de programación.
• Es independiente del lenguaje de programación que se
vaya a utilizar.
• Es un método que facilita la programación y solución al
algoritmo del programa.
EJERCICIO:
 El problema del montón de fichas
Supongamos que tenemos un montón de fichas, cada una de las
cuales tiene escrito el nombre de una persona junto con otros datos
personales (fecha de nacimiento, dirección, número de teléfono).
Las fichas están ordenadas alfabéticamente por el nombre.
Creamos una nueva ficha y deseamos incorporarla al montón
existente.
¿Cómo dividimos el montón original en dos montones, tales que
todas las fichas del primer montón precedan a la nueva en la
ordenación y todas las del segundo no le precedan, pudiendo estar
alguno de los montones finales vacío?
 ¿Cuáles son las precondiciones?
 ¿Cuáles son las postcondiciones?
 ¿Qué algoritmos se te ocurren?
 ¿Qué lenguaje utilizamos para describir todo lo anterior?
EL CICLO DE VIDA DEL SOFTWARE
 Todas las tareas a realizar desde que se concibe
un programa hasta que se deja de utilizar (no sólo
“hasta que se codifica” ni “hasta que se instala”)
 Existen distintos modelos del ciclo de vida software:
Modelo en Cascada
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
¿QUÉ SIGNIFICA TODO ESTO?
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
“Quiero 3 habitaciones,
2 baños, garaje...”
Planos, diseño circuito
eléctrico y de agua...
Se construye la casa
Se comprueba la solidez de la
estructura, el funcionamiento de
las instalaciones, el acabado...
Algunas reparaciones, se cierra
la terraza, se instala aire
acondicionado...
Casa
¿Qué tiene que hacer
exactamente nuestro
programa?
¿Cómo vamos a organizar
el programa? ¿Qué partes
tendrá y cómo funcionará?
Se construye el software
Ponemos a prueba nuestro
programa, incluso en
situaciones límite
Pequeñas modificaciones o
correcciones (parches),
actualizaciones, etc...
Software
FASES EN EL DESARROLLO DE UNA APLICACIÓN
 Análisis
 Actividad en la que se analizan y clarifican los diferentes
aspectos del problema que debe ser resuelto por la
aplicación, con el fin de establecer claramente qué debe
ser construido
 El resultado es, normalmente, un documento de
requisitos software que especifica claramente las
funcionalidades de la aplicación
 Funcionalidad = lo que tiene que hacerse (sin saber todavía
cómo)
 Diseño
 Actividad en la que se decide la organización y la
estructura de una aplicación que satisfaga los diferentes
requisitos establecidos en la fase de análisis
 El resultado es uno (o varios) documentos de diseño
que especifican claramente cómo construir la aplicación
 Mientras que el análisis se ocupa de qué hay que hacer,
el diseño se ocupa de cómo hacerlo
 Hay varias técnicas de diseño, nosotros estudiaremos
una de las más básicas: el diseño funcional
 Pruebas
 Actividad en la que se asegura que la aplicación
construida satisface los requisitos del usuario
 Se debe invertir mucho tiempo en hacer pruebas
(¡mucho más que en su implementación!)
 Dos pasos diferenciados
 Verificación: ¿Se ajusta la aplicación construida a los requisitos
establecidos?
 Validación: ¿Resuelve la aplicación el problema que realmente
tenía el usuario?
 Mantenimiento
 Actividad en la que la aplicación se modifica para satisfacer
cambios o ampliaciones en los requisitos del usuario, corregir
errores, etc.
 ¡Es la actividad más costosa en el desarrollo de software!
(Tened en cuenta que hay programas que están muchos años
en funcionamiento y lo usan miles de personas)
 Estos costes pueden aliviarse si se hacen bien todo lo anterior
 *Otras actividades
 Confección de los manuales de usuario
 Planificación y control del proyecto
 Gestión de versiones
 ...
Ejercicios.
Realizar el algoritmo de los siguientes
enunciados:
• Recibir tres números y regresar la suma
de ellos.
• Que convierte pulgadas a centímetros (la
entrada es un número en pulgadas y la
salida el equivalente en centímetros.
HISTORIA DE C Y C++
El comité para el estándar ANSI C fue formado en 1983 con el
objetivo de crear un lenguaje uniforme a partir del C original,
desarrollado por Kernighan y Ritchie en 1972, en la ATT. Hasta
entonces el estándar lo marcaba el libro escrito en 1978 por
estos dos autores.
 En la actualidad, el C++ es un lenguaje versátil, potente y
general. Su éxito entre los programadores profesionales le ha
llevado a ocupar el primer puesto como herramienta de
desarrollo de aplicaciones. El C++ mantiene las ventajas del
C en cuanto a riqueza de operadores y expresiones,
flexibilidad, concisión y eficiencia. Además, ha eliminado
algunas de las dificultades y limitaciones del C original. La
evolución de C++ ha continuado con la aparición de Java,
un lenguaje creado simplificando algunas cosas de C++ y
añadiendo otras, que se utiliza para realizar aplicaciones en
Internet.
CAMBIO EN LA EXTENSIÓN DEL NOMBRE
DE LOS FICHEROS
El primer cambio que tiene que conocer cualquier
programador es que los ficheros fuente de C++ tienen la
extensión *.cpp (de C plus plus, que es la forma oral de
llamar al lenguaje en inglés), en lugar de *.c.
Esta distinción es muy importante, pues determina ni
más ni menos el que se utilice el compilador de C o el
de C++. La utilización de nombres incorrectos en los
ficheros puede dar lugar a errores durante el proceso de
compilación.
INTRODUCCIÓN AL LENGUAJE DE
PROGRAMACIÓN C++
Lenguaje C++como extensión del lenguaje C.
Este lenguaje abarca tres paradigmas de la programación:
1. Programación Estructurada: es un paradigma de programación orientado
a mejorar la claridad, calidad y tiempo de desarrollo de un programa
2. Programación Genérica: es un tipo de programación que está mucho más
centrada en los algoritmos que en los datos
3. Programación Orientada a Objetos:es un paradigma de programación
que usa los objetos en sus interacciones, para diseñar aplicaciones y programas
informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión,
abstracción, polimorfismo, acoplamiento y encapsulamiento
En la actualidad, C++ es un lenguaje versátil, potente y general.
ENTORNO DE DESARROLLO TÍPICO EN C++
 Por lo general, los sistemas de C++ consisten en
tres partes:
 un entorno de desarrollo de programas,
 el lenguaje y
 la Biblioteca estándar de C++.
 Comúnmente, los programas en C++ pasan a
través de seis fases: edición, preprocesamiento,
compilación, enlace, carga y ejecución.
 Fase 1: Creación de un programa:
 Consiste en editar un archivo con un programa de edición.
 Fases 2 y 3: Preprocesamiento y compilación de un
programa en C++
 Se introduce el comando para compilar el programa.
 En un sistema de C++, un programa preprocesador se
ejecuta de manera automática antes de que empiece la fase
de traducción del compilador (por lo que a la fase 2 la
 llamamos preprocesamiento, y a la fase 3 la llamamos
compilación).
 El preprocesador de C++ obedece a comandos denominados
directivas del preprocesador, las cuales indican que deben
realizarse ciertas manipulaciones en el programa, antes de
compilarlo. Por lo general, estas manipulaciones incluyen
otros archivos de texto a ser compilados y realizan varios
reemplazos de texto.
 Fase 4: Enlace
 Por lo general, los programas en C++ contienen referencias
a funciones y datos definidos en otra parte, como en las
bibliotecas estándar o en las bibliotecas privadas de grupos
de programadores que trabajan sobre un proyecto
específico.
 El código objeto producido por el compilador de C++
comúnmente contiene “vacios”, debido a estas partes
faltantes.
 Un enlazador relaciona el código objeto con el código para
las funciones faltantes, de manera que se produzca una
imagen ejecutable (sin piezas faltantes).
 Si el programa se compila y se enlaza de manera correcta,
se produce una imagen ejecutable.
 Fase 5: Carga
 A la fase 5 se le conoce como carga. Antes de poder
ejecutar un programa, primero se debe colocar en la
memoria.
 Esto se hace mediante el cargador, que toma la imagen
ejecutable del disco y la transfiere a la memoria. También se
cargan los componentes adicionales de bibliotecas
compartidas que dan soporte al programa.
 Fase 6: Ejecución
 Por último, la computadora, bajo el control de su CPU,
ejecuta el programa una instrucción a la vez.
 INVESTIGUE:
Las buenas práctica de programación.
Los errores más frecuentes en la programación.
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
ESTRUCTURA DE UN PROGRAMA EN C++
PALABRAS RESERVADAS DE C++
Una palabra reservada, tal como void (ausencia de tipo, o tipo
genérico), es una característica del lenguaje C++.
Una palabra reservada no se puede utilizar como nombre de
identificador, objeto o función.
ALGORITMOS EN LOS PROGRAMAS DE C++
COMENTARIOS INTRODUCIDOS EN EL PROGRAMA
En C los comentarios empiezan por los caracteres /* y terminan con los
caracteres */. Pueden comprender varias líneas y estar distribuidos de cualquier
forma, pero todo aquello que está entre el /* (inicio del comentario) y el */ (fin del
comentario) es simplemente ignorado por el compilador.
Algunos ejemplos de formato de comentarios son los siguientes:
/* Esto es un comentario simple. */
/* Esto es un comentario más largo,
distribuido en varias líneas. El
texto se suele alinear por la izquierda. */
/**************************************
* Esto es un comentario de varias *
* líneas, encerrado en una caja para *
* llamar la atención. *
**************************************/
TIPOS DE DATOS DE C++
TIPOS DE DATOS DE C++
OPERADORES Y EXPRESIONES DE C++
OPERADORES LOGICOS DE C++
Los operadores relacionales se utilizan para comprobar una condición.
CONSTANTES Y VARIABLES
Son porciones de memoria que almacenan un valor.
• Las variables son palabras que manipulan datos. Dicho valor puede ser
modificado en cualquier momento durante la ejecución del programa. Las
variables son posiciones en memoria donde estarán guardados los diferentes
valores que le damos o que toman durante la ejecución
• Las datos constantes, mal llamadas por algunos "variables constantes"
(realmente no son variables) tienen un valor fijo durante toda la ejecución del
programa, es decir, este valor no cambia ni puede ser cambiado a lo largo de la
ejecución de nuestro programa.
• Las variables pueden almacenar todo tipo de datos: caracteres, números,
estructuras, etc … Dependiendo del valor de la variable, decimos que dicha
variable es de un tipo de dato.
CONSTANTES Y VARIABLES
• Tanto las variables como las constantes están constituidas por un nombre y
un valor. El nombre lo llamaremos identificador.
Toda variable utilizada en un programa debe ser declarada previamente. En
C++, ésta declaración puede situarse en cualquier parte del programa.
Dependiendo de dónde se definan,
tenemos varios tipos:
Variables globales
Variables locales
El procedimiento para declarar una variable:
<tipo_de_dato> <nombre_de_variable> ;
<tipo_de_dato> <lista de variables> ;
<tipo_de_dato> <nombre_de_variable> = valor;
int x;
char x, y, z;
long int i =10, j, k=0;
CONSTANTES Y VARIABLES
Una constante es una variable cuyo valor no puede ser modificado.
Los nombres de las constantes se suelen escribir en mayúsculas.
Dos formas de declara una constante a primera es por medio del
comando #define nombre_constante valor y la segunda es usando la
palabra clave const
const int DIAS = 7;
const char VACIO = ‘ ‘;
const char PORCENTAJE = ‘% ‘;
Constantes definidas
Se declaran mediante la directiva #define
#define <nombre_de_constante> <valor>
…
#define pi 3.14
#define fin ‘F’
...
EJERCICIO:
1.- Escriba un programa en C++ que le pida su
nombre y año de nacimiento y le devuelva la
edad que tiene.
https://www.stackscale.com/es/blog/lenguajes-programacion-
mas-populares/
EJEMPLO:
1.- Escriba un programa en C++ solicite el
nombre y edad de una persona y devuelva un
valor aleatorio de dicha edad.

Más contenido relacionado

Similar a Introducción a Programación I (Clase1).pptx (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Programación
ProgramaciónProgramación
Programación
 
El software 2
El software 2El software 2
El software 2
 
Unidad 3 margie
Unidad 3 margieUnidad 3 margie
Unidad 3 margie
 
Diap 01
Diap 01Diap 01
Diap 01
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Programacion informatica
Programacion informaticaProgramacion informatica
Programacion informatica
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación
ProgramaciónProgramación
Programación
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 

Último

4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......dianamontserratmayor
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASenriquezerly87
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347vd110501
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 

Último (20)

4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 

Introducción a Programación I (Clase1).pptx

  • 1.
  • 2. LA PROGRAMACIÓN: RESOLUCIÓN DE PROBLEMAS  Un programa es una secuencia de instrucciones con un propósito concreto que un ordenador puede interpretar y ejecutar  Programar es resolver problemas  Conjunto de actividades implicadas en la descripción, el desarrollo y la implementación eficaz de soluciones algorítmicas a problemas bien especificados Algoritmo 1. m. Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. (Extraído del Diccionario de la RAE, 22ª edición)  Un algoritmo es, por tanto, una sistemática que transforma un estado inicial en un estado final  La entrada del programa: Precondiciones  Descripción del estado inicial (datos y situación de partida)  La salida del programa: Postcondiciones  Descripción del estado final (datos y situación deseada al acabar)
  • 3. ELEMENTOS BASICOS DE ALGORITMOS Nombre Símbolo Función Terminal Representa el inicio y fin del algoritmo. Entrada / salida Entrada o salida de datos. Por ejemplo leer un dato, mostrar un dato en pantalla, etc. Proceso Cualquier tipo de operación que pueda originar cambio de valor Decisión Indica operaciones lógicas o de comparación entre datos y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Conector Misma Página Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma pagina del diagrama Indicador de dirección o línea de flujo Indica el sentido de la ejecución de las operaciones Salida Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.
  • 4.  Utilizamos los lenguajes de programación para expresar los algoritmos de forma que el ordenador los entienda  De igual forma, que utilizamos la lengua castellana para expresar nuestras ideas a otras personas  Recuerda: Programar BIEN no es sólo conocer la sintaxis de uno o varios lenguajes de programación
  • 5. PSEUDOCÓDIGO El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizara para la codificación del mismo. Las principales características de este lenguaje son: • Se puede ejecutar en un ordenador • Es una forma de representación sencilla de utilizar y de manipular. • Facilita el paso del programa al lenguaje de programación. • Es independiente del lenguaje de programación que se vaya a utilizar. • Es un método que facilita la programación y solución al algoritmo del programa.
  • 6.
  • 7. EJERCICIO:  El problema del montón de fichas Supongamos que tenemos un montón de fichas, cada una de las cuales tiene escrito el nombre de una persona junto con otros datos personales (fecha de nacimiento, dirección, número de teléfono). Las fichas están ordenadas alfabéticamente por el nombre. Creamos una nueva ficha y deseamos incorporarla al montón existente. ¿Cómo dividimos el montón original en dos montones, tales que todas las fichas del primer montón precedan a la nueva en la ordenación y todas las del segundo no le precedan, pudiendo estar alguno de los montones finales vacío?  ¿Cuáles son las precondiciones?  ¿Cuáles son las postcondiciones?  ¿Qué algoritmos se te ocurren?  ¿Qué lenguaje utilizamos para describir todo lo anterior?
  • 8. EL CICLO DE VIDA DEL SOFTWARE  Todas las tareas a realizar desde que se concibe un programa hasta que se deja de utilizar (no sólo “hasta que se codifica” ni “hasta que se instala”)  Existen distintos modelos del ciclo de vida software: Modelo en Cascada Análisis Diseño Implementación Pruebas Mantenimiento
  • 9. ¿QUÉ SIGNIFICA TODO ESTO? Análisis Diseño Implementación Pruebas Mantenimiento “Quiero 3 habitaciones, 2 baños, garaje...” Planos, diseño circuito eléctrico y de agua... Se construye la casa Se comprueba la solidez de la estructura, el funcionamiento de las instalaciones, el acabado... Algunas reparaciones, se cierra la terraza, se instala aire acondicionado... Casa ¿Qué tiene que hacer exactamente nuestro programa? ¿Cómo vamos a organizar el programa? ¿Qué partes tendrá y cómo funcionará? Se construye el software Ponemos a prueba nuestro programa, incluso en situaciones límite Pequeñas modificaciones o correcciones (parches), actualizaciones, etc... Software
  • 10. FASES EN EL DESARROLLO DE UNA APLICACIÓN  Análisis  Actividad en la que se analizan y clarifican los diferentes aspectos del problema que debe ser resuelto por la aplicación, con el fin de establecer claramente qué debe ser construido  El resultado es, normalmente, un documento de requisitos software que especifica claramente las funcionalidades de la aplicación  Funcionalidad = lo que tiene que hacerse (sin saber todavía cómo)
  • 11.  Diseño  Actividad en la que se decide la organización y la estructura de una aplicación que satisfaga los diferentes requisitos establecidos en la fase de análisis  El resultado es uno (o varios) documentos de diseño que especifican claramente cómo construir la aplicación  Mientras que el análisis se ocupa de qué hay que hacer, el diseño se ocupa de cómo hacerlo  Hay varias técnicas de diseño, nosotros estudiaremos una de las más básicas: el diseño funcional
  • 12.
  • 13.  Pruebas  Actividad en la que se asegura que la aplicación construida satisface los requisitos del usuario  Se debe invertir mucho tiempo en hacer pruebas (¡mucho más que en su implementación!)  Dos pasos diferenciados  Verificación: ¿Se ajusta la aplicación construida a los requisitos establecidos?  Validación: ¿Resuelve la aplicación el problema que realmente tenía el usuario?
  • 14.  Mantenimiento  Actividad en la que la aplicación se modifica para satisfacer cambios o ampliaciones en los requisitos del usuario, corregir errores, etc.  ¡Es la actividad más costosa en el desarrollo de software! (Tened en cuenta que hay programas que están muchos años en funcionamiento y lo usan miles de personas)  Estos costes pueden aliviarse si se hacen bien todo lo anterior  *Otras actividades  Confección de los manuales de usuario  Planificación y control del proyecto  Gestión de versiones  ...
  • 15. Ejercicios. Realizar el algoritmo de los siguientes enunciados: • Recibir tres números y regresar la suma de ellos. • Que convierte pulgadas a centímetros (la entrada es un número en pulgadas y la salida el equivalente en centímetros.
  • 16. HISTORIA DE C Y C++ El comité para el estándar ANSI C fue formado en 1983 con el objetivo de crear un lenguaje uniforme a partir del C original, desarrollado por Kernighan y Ritchie en 1972, en la ATT. Hasta entonces el estándar lo marcaba el libro escrito en 1978 por estos dos autores.  En la actualidad, el C++ es un lenguaje versátil, potente y general. Su éxito entre los programadores profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones, flexibilidad, concisión y eficiencia. Además, ha eliminado algunas de las dificultades y limitaciones del C original. La evolución de C++ ha continuado con la aparición de Java, un lenguaje creado simplificando algunas cosas de C++ y añadiendo otras, que se utiliza para realizar aplicaciones en Internet.
  • 17. CAMBIO EN LA EXTENSIÓN DEL NOMBRE DE LOS FICHEROS El primer cambio que tiene que conocer cualquier programador es que los ficheros fuente de C++ tienen la extensión *.cpp (de C plus plus, que es la forma oral de llamar al lenguaje en inglés), en lugar de *.c. Esta distinción es muy importante, pues determina ni más ni menos el que se utilice el compilador de C o el de C++. La utilización de nombres incorrectos en los ficheros puede dar lugar a errores durante el proceso de compilación.
  • 18. INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++ Lenguaje C++como extensión del lenguaje C. Este lenguaje abarca tres paradigmas de la programación: 1. Programación Estructurada: es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa 2. Programación Genérica: es un tipo de programación que está mucho más centrada en los algoritmos que en los datos 3. Programación Orientada a Objetos:es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento En la actualidad, C++ es un lenguaje versátil, potente y general.
  • 19. ENTORNO DE DESARROLLO TÍPICO EN C++  Por lo general, los sistemas de C++ consisten en tres partes:  un entorno de desarrollo de programas,  el lenguaje y  la Biblioteca estándar de C++.  Comúnmente, los programas en C++ pasan a través de seis fases: edición, preprocesamiento, compilación, enlace, carga y ejecución.
  • 20.
  • 21.  Fase 1: Creación de un programa:  Consiste en editar un archivo con un programa de edición.  Fases 2 y 3: Preprocesamiento y compilación de un programa en C++  Se introduce el comando para compilar el programa.  En un sistema de C++, un programa preprocesador se ejecuta de manera automática antes de que empiece la fase de traducción del compilador (por lo que a la fase 2 la  llamamos preprocesamiento, y a la fase 3 la llamamos compilación).  El preprocesador de C++ obedece a comandos denominados directivas del preprocesador, las cuales indican que deben realizarse ciertas manipulaciones en el programa, antes de compilarlo. Por lo general, estas manipulaciones incluyen otros archivos de texto a ser compilados y realizan varios reemplazos de texto.
  • 22.  Fase 4: Enlace  Por lo general, los programas en C++ contienen referencias a funciones y datos definidos en otra parte, como en las bibliotecas estándar o en las bibliotecas privadas de grupos de programadores que trabajan sobre un proyecto específico.  El código objeto producido por el compilador de C++ comúnmente contiene “vacios”, debido a estas partes faltantes.  Un enlazador relaciona el código objeto con el código para las funciones faltantes, de manera que se produzca una imagen ejecutable (sin piezas faltantes).  Si el programa se compila y se enlaza de manera correcta, se produce una imagen ejecutable.
  • 23.  Fase 5: Carga  A la fase 5 se le conoce como carga. Antes de poder ejecutar un programa, primero se debe colocar en la memoria.  Esto se hace mediante el cargador, que toma la imagen ejecutable del disco y la transfiere a la memoria. También se cargan los componentes adicionales de bibliotecas compartidas que dan soporte al programa.  Fase 6: Ejecución  Por último, la computadora, bajo el control de su CPU, ejecuta el programa una instrucción a la vez.
  • 24.  INVESTIGUE: Las buenas práctica de programación. Los errores más frecuentes en la programación.
  • 25. ESTRUCTURA DE UN PROGRAMA EN C++
  • 26. ESTRUCTURA DE UN PROGRAMA EN C++
  • 27. ESTRUCTURA DE UN PROGRAMA EN C++
  • 28. ESTRUCTURA DE UN PROGRAMA EN C++
  • 29. ESTRUCTURA DE UN PROGRAMA EN C++
  • 30.
  • 31.
  • 32.
  • 33. ESTRUCTURA DE UN PROGRAMA EN C++
  • 34. ESTRUCTURA DE UN PROGRAMA EN C++
  • 35. PALABRAS RESERVADAS DE C++ Una palabra reservada, tal como void (ausencia de tipo, o tipo genérico), es una característica del lenguaje C++. Una palabra reservada no se puede utilizar como nombre de identificador, objeto o función.
  • 36. ALGORITMOS EN LOS PROGRAMAS DE C++
  • 37. COMENTARIOS INTRODUCIDOS EN EL PROGRAMA En C los comentarios empiezan por los caracteres /* y terminan con los caracteres */. Pueden comprender varias líneas y estar distribuidos de cualquier forma, pero todo aquello que está entre el /* (inicio del comentario) y el */ (fin del comentario) es simplemente ignorado por el compilador. Algunos ejemplos de formato de comentarios son los siguientes: /* Esto es un comentario simple. */ /* Esto es un comentario más largo, distribuido en varias líneas. El texto se suele alinear por la izquierda. */ /************************************** * Esto es un comentario de varias * * líneas, encerrado en una caja para * * llamar la atención. * **************************************/
  • 38. TIPOS DE DATOS DE C++
  • 39. TIPOS DE DATOS DE C++
  • 41. OPERADORES LOGICOS DE C++ Los operadores relacionales se utilizan para comprobar una condición.
  • 42. CONSTANTES Y VARIABLES Son porciones de memoria que almacenan un valor. • Las variables son palabras que manipulan datos. Dicho valor puede ser modificado en cualquier momento durante la ejecución del programa. Las variables son posiciones en memoria donde estarán guardados los diferentes valores que le damos o que toman durante la ejecución • Las datos constantes, mal llamadas por algunos "variables constantes" (realmente no son variables) tienen un valor fijo durante toda la ejecución del programa, es decir, este valor no cambia ni puede ser cambiado a lo largo de la ejecución de nuestro programa. • Las variables pueden almacenar todo tipo de datos: caracteres, números, estructuras, etc … Dependiendo del valor de la variable, decimos que dicha variable es de un tipo de dato.
  • 43. CONSTANTES Y VARIABLES • Tanto las variables como las constantes están constituidas por un nombre y un valor. El nombre lo llamaremos identificador. Toda variable utilizada en un programa debe ser declarada previamente. En C++, ésta declaración puede situarse en cualquier parte del programa. Dependiendo de dónde se definan, tenemos varios tipos: Variables globales Variables locales El procedimiento para declarar una variable: <tipo_de_dato> <nombre_de_variable> ; <tipo_de_dato> <lista de variables> ; <tipo_de_dato> <nombre_de_variable> = valor; int x; char x, y, z; long int i =10, j, k=0;
  • 44. CONSTANTES Y VARIABLES Una constante es una variable cuyo valor no puede ser modificado. Los nombres de las constantes se suelen escribir en mayúsculas. Dos formas de declara una constante a primera es por medio del comando #define nombre_constante valor y la segunda es usando la palabra clave const const int DIAS = 7; const char VACIO = ‘ ‘; const char PORCENTAJE = ‘% ‘; Constantes definidas Se declaran mediante la directiva #define #define <nombre_de_constante> <valor> … #define pi 3.14 #define fin ‘F’ ...
  • 45.
  • 46. EJERCICIO: 1.- Escriba un programa en C++ que le pida su nombre y año de nacimiento y le devuelva la edad que tiene. https://www.stackscale.com/es/blog/lenguajes-programacion- mas-populares/ EJEMPLO: 1.- Escriba un programa en C++ solicite el nombre y edad de una persona y devuelva un valor aleatorio de dicha edad.