SlideShare una empresa de Scribd logo
LENGUAJES DE PROGRAMACIÓN
TEMA 1. INTRODUCCIÓN Y
CONCEPTOS GENERALES
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURADA
La programación estructurada
consiste en estructurar el desarrollo
de un programa para computadora
con mayor claridad y por consiguiente
habrá mayor tiempo para el proceso y
un resultado de mejor calidad.
1.1 ¿ QUÉ ES UN LP ?
Definición: Un lenguaje de programación es un
sistema notacional para describir computaciones
de una forma legible tanto para la máquina como
para el ser humano. Un lenguaje de programación es
un lenguaje de computadora que los programadores
utilizan para comunicarse y para desarrollar programas
de software, aplicaciones, páginas webs, scripts u otros
conjuntos de instrucciones para que sean ejecutadas
por los ordenadores.
TIPOS DE L.P
 Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados
para un hardware específico y que por lo tanto no pueden migrar o exportarse a otros
computadores.
 Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un
lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura
del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de
propósito específico.
 Lenguajes de nivel medio. Este término no siempre es aceptado, que propone
lenguajes de programación que se ubican en un punto medio entre los dos anteriores:
pues permite operaciones de alto nivel y a la vez la gestión local de la arquitectura del
sistema.
OTRA FORMA DE CLASIFICACIÓN A
MENUDO ES LA SIGUIENTE:
• LENGUAJES IMPERATIVOS. MENOS FLEXIBLES, DADA LA
SECUENCIALIDAD EN QUE CONSTRUYEN SUS INSTRUCCIONES,
ESTOS LENGUAJES PROGRAMAN MEDIANTE ÓRDENES
CONDICIONALES Y UN BLOQUE DE COMANDOS AL QUE
RETORNAN UNA VEZ LLEVADA A CABO LA FUNCIÓN.
• LENGUAJES FUNCIONALES. TAMBIÉN LLAMADOS
PROCEDIMENTALES, ESTOS LENGUAJES PROGRAMAN
MEDIANTE FUNCIONES QUE SON INVOCADAS CONFORME A
LA ENTRADA RECIBIDA, QUE A SU VEZ SON RESULTADO DE
OTRAS FUNCIONES.
CARACTERÍSTICAS
• EFICIENCIA
• EXPRESIVIDAD
• CAPACIDAD DE MANTENIMIENTO
• LEGIBILIDAD
• CONFIABILIDAD
• SEGURIDAD
• SIMPLICIDAD
• PRODUCTIVIDAD
TRADUCCIÓN DEL LENGUAJE
• TRADUCTOR ES UN PROGRAMA QUE ACEPTA OTROS PROGRAMAS
ESCRITOS EN UN LENGUAJE Y:
• LOS EJECUTA DIRECTAMENTE (INTERPRETE)
• LOS TRANSFORMA EN UNA FORMA ADECUADA PARA SU EJECUCIÓN
(COMPILADOR).
entrada
código
fuente
salida
intérprete
PROGRAMAS Y ALGORITMOS
¿QUÉ ES UN ALGORITMO?
UN ALGORITMO ES UNA SECUENCIA DE PASOS A SEGUIR PARA RESOLVER UN
PROBLEMA.
POR EJEMPLO, CUANDO QUIERO VER UNA PELÍCULA DE VÍDEO, PODRÍA HACER LOS
SIGUIENTES PASOS (ALGORITMO):
- ELIJO UNA PELÍCULA DE LAS DE MI COLECCIÓN.
•-COMPRUEBO SI TV Y VÍDEO ESTÁN CONECTADOS A LA RED (Y PROCEDO).
•-SI LA TV ESTÁ APAGADA, LA ENCIENDO, SI NO, PUES NO. Y LO MISMO CON EL VÍDEO.
•-INTRODUZCO LA PELÍCULA EN EL VÍDEO. DEJO EL ESTUCHE SOBRE EL VÍDEO.
•-SI LA TV NO ESTÁ EN EL CANAL ADECUADO, LA CAMBIO, SI NO, PUES NO.
•-COJO LOS MANDOS A DISTANCIA (EL DEL TV Y EL DEL VÍDEO).
•-ME PONGO CÓMODO.
•-PULSO PLAY EN EL MANDO DEL VÍDEO.
METODOLOGÍA PARA LA
DESCOMPOSICIÓN DE UN
ALGORITMO
1. DEFINICIÓN DEL PROBLEMA: ESTE PASO DE LA METODOLOGÍA DEBEMOS
PLANTEARNOS LA PREGUNTA ¿CUÁL ES EL PROBLEMA EN CONCRETO?, VISUALIZAR
LA DELIMITACIÓN DEL PROBLEMA, ¿HASTA DÓNDE ABARCARÁ LA SOLUCIÓN DEL
PROBLEMA? Y SI ES POSIBLE RESOLVER EL ALGORITMO O NO.
• 2. ANÁLISIS: UNA VEZ IDENTIFICADO Y DELIMITADO EL PROBLEMA, ESTA FASE TIENE
EL OBJETIVO DE DIVIDIR EL PROBLEMA EN SUS COMPONENTES Y EXAMINAR DE QUÉ
MANERA PUEDEN UNIRSE, EN ESTA FASE SE DEBEN CONTESTAR LAS SIGUIENTES
PREGUNTAS:
• A. ¿QUÉ SE NECESITA PARA RESOLVER EL PROBLEMA?
• B. ¿QUÉ PASOS SON NECESARIOS PARA RESOLVER EL PROBLEMA?
• C. ¿QUÉ SE DEBE OBTENER PARA RESOLVER EL PROBLEMA?
3. DISEÑO: HACIENDO USO DE ALTERNATIVAS DE
SOLUCIÓN COMO LO SON DIAGRAMAS DE FLUJO Y
PSEUDOCÓDIGO SE INDICAN LOS PASOS QUE DEBERÁ
SEGUIR EL ALGORITMO PARA OBTENER LA SOLUCIÓN DEL
PROBLEMA.
4. VERIFICACIÓN: DEFINIDO COMO LA ACCIÓN DE
COMPROBAR O EXAMINAR LA VERDAD DE ALGO,
APLICADO AL TEMA ACTUAL, ES LA FASE QUE NOS
PERMITE SABER SI EL ALGORITMO CUMPLIÓ O NO SU
OBJETIVO, PARA REALIZAR LA COMPROBACIÓN SE LE DAN
VARIABLES DE ENTRADA AL ALGORITMO Y SE OBSERVAN
LOS RESULTADOS QUE ARROJA
CASO PRACTICO
SE REQUIERE DE UN ALGORITMO QUE CALCULE EL SUELDO SEMANAL O
MENSUAL DE UN TRABAJADOR DE CONSTRUCCIÓN, AL EMPLEADO LE
PAGAN S/. 50.00 LA HORA Y CADA DÍA TRABAJA DURANTE 8 HORAS.
•FASE 1 DEFINICIÓN DEL PROBLEMA
•FASE 2 ANÁLISIS DEL PROBLEMA
•FASE 3 DISEÑO DEL ALGORITMO
•FASE 4 VERIFICACIÓN
FASE 1 DEFINICIÓN DEL PROBLEMA
NOMBRE DEL PROBLEMA Sueldo del trabajador
DELIMITACIÓN Obtener el sueldo semanal o mensual a
partir del pago de horas y el numero
de horas trabajadas
RESULTADO Sueldo semanal del trabajador
FASE 2 ANÁLISIS DEL PROBLEMA
DATOS DE ENTRADA PROCESO SALIDA
?Que necesito para
resolver el problema?
?Qué pasos necesito para
resolver el problema?
?Qué se obtiene para
resolver el problema)
• Pago por hora
• Numero de horas
trabajadas en un día
• Numero de días
trabajados
Sueldo=(pago por hora *
numero de horas
trabajadas en un día) *
numero de días
trabajadas
Sueldo mensual
FASE 3 DISEÑO DEL ALGORITMO
Inicio
Numerodiastrab VARIABLE DE ENTRADA
Constantes
Pagoporhora: 50
Numero de horas trab: 8
Operación
Sueldo= (pago x hora * numero
de horas trabajado en un dia) *
numero de días trabajados
Numerodiastrab
Salida
resultado
Fin
FASE 4 VERIFICACIÓN
Entrada Proceso
Operación a realizar
Resultado
Numdiastrab=7 Sueldo= (50*8)7
DIAGRAMA DE FLUJO
UN DIAGRAMA DE FLUJO ES UNA REPRESENTACIÓN GRÁFICA DEL ALGORITMO.
EXPRESAMOS LOS PASOS DEL ALGORITMO MEDIANTE UN ESQUEMA CON
UNOS SÍMBOLOS ESTABLECIDOS.
UN DIAGRAMA DE FLUJO DEBE PROPORCIONAR UNA INFORMACIÓN CLARA,
ORDENADA Y CONCISA DE TODOS LOS PASOS A SEGUIR.
ELEMENTOS DE UN DIAGRAMA DE
FLUJO
EL PSEUDOCÓDIGO
EL PSEUDOCÓDIGO ES UNA FORMA DE ESCRIBIR LOS PASOS, PERO DE
LA FORMA MÁS CERCANA AL LENGUAJE DE PROGRAMACIÓN QUE
VAMOS A UTILIZAR, ES COMO UN FALSO LENGUAJE, PERO EN NUESTRO
IDIOMA, EN EL LENGUAJE HUMANO.
Comentarios
Poner comentarios de lo que vamos haciendo es muy útil, sobre todo cuando
llega la hora de revisar el programa, si no, más de una vez nos
encontraremos diciendo ¿qué hacía esto aquí?
// Esto será un comentario y no hará nada en el programa
LAS VARIABLES
UNA VARIABLE ES COMO UNA CAJA DONDE METEMOS COSAS (DATOS).
ESTOS DATOS LOS PODEMOS IR CAMBIANDO, AHORA PONGO UN 3, AHORA LO QUITO Y PONGO UN 5.
UNA VARIABLE TIENE UN NOMBRE, QUE PUEDE SER UNA LETRA, UNA PALABRA, VARIAS PALABRAS UNIDAS POR EL
GUION BAJO O VARIAS PALABRAS SIN SEPARAR, PERO LA PRIMERA LETRA DE CADA PALABRA EN MAYÚSCULAS.
EJEMPLO: VIDASPERDIDAS, VIDAPERDIDAS, VIDAS_PERDIDAS.
UNA VARIABLE DEPENDIENDO DE SU VALOR PUEDE SER NUMÉRICA, SI SOLO PUEDE TENER UN VALOR
NUMÉRICO, DE TEXTO, SI SOLO PUEDE CONTENER TEXTO (LETRA, PALABRA O FRASE TAMBIÉN LLAMADA STRING).
EN LAS VARIABLES DE TEXTO, SU VALOR (EL TEXTO), DEBE IR ENTRE COMILLAS, PARA DIFERENCIAR QUE EL TEXTO
ES TEXTO Y NO ES EL NOMBRE DE OTRA VARIABLE.
POR EJEMPLOS VIDAS = "CINCO" O VIDAS = "5". EN LOS DOS CASOS EL VALOR ES UN TEXTO, NUNCA EL VALOR
DE 5.
LAS NUMÉRICAS NO LLEVAN COMILLAS EN SU VALOR. POR EJEMPLO: VIDAS = 5.
EN ESTE CASO SU VALOR SI QUE ES EL NÚMERO 5.
HAY OTRAS VARIABLES QUE SE LLAMAN BOOLEANAS QUE SOLO PUEDEN TENER DOS VALORES
TRUE O FALSE.
NORMALMENTE TRUE SE PUEDE SUSTITUIR POR EL VALOR 1 Y FALSE POR EL 0.
VEAMOS ALGUNOS EJEMPLOS DE LOS TIPOS DE VARIABLES:
EDAD=3; //VARIABLE NUMÉRICA.
FÍJATE QUE ESTO EN NEGRITA ES UN COMENTARIO.
VARIABLEDETEXTO= “TENGO 14 AÑOS”; //FÍJATE QUE VA ENTRE COMILLAS.
VARIABLENUMERICA= EDAD + 2 ; //SU VALOR ES EL VALOR DE LA VARIABLE EDAD (NUMÉRICA) +2;
EN ESTE CASO SERÍA = 5 (3+2).
VARIABLEBOOLEANA = TRUE; EN ESTE CASO SERÍA DE VALOR 1
VARIABLES: SON VALORES QUE VAN CAMBIANDO
DURANTE LA EJECUCIÓN DE LOS PROCESOS DEL
ALGORITMO, EN ESTAS VARIABLES SE VAN A GUARDAR
LAS OPERACIONES QUE EL ALGORITMO REALICE PARA
RESOLVER EL PROBLEMA.
CONSTANTES: SON DATOS QUE SU VALOR NO VA A
CAMBIAR DURANTE TODO EL DESARROLLO DEL
ALGORITMO, LAS CONSTANTES PUEDEN TENER O NO
UN IDENTIFICADOR, PUES ESTOS VALORES PUEDEN
ESCRIBIRSE DIRECTAMENTE AL USAR LAS OPERACIONES
O BIEN ASIGNARLE UN IDENTIFICADOR, LAS
CONSTANTES TAMBIÉN TIENEN UN TIPO DE DATO.
OPERADORES Y EXPRESIONES
• ARITMETICOS
Operador Acción Ejemplo
+ Suma X = 5 + 4 | x= 9
- Resta X = 10 – 3 | x=7
* Multiplicación X = 3 * 2 | x = 6
/ División X = 10 / 2 | x = 5
% División Modular X = 1 / 3 | x = .66
++ Incremento X = 1; X++ | x = 2
-- Decremento X = 1; X-- | x = 0
^ Potencia X = 2 ^ 3 | x = 8
• RELACIONALES: ESTOS OPERADORES PERMITEN EVALUAR LA
RELACIÓN ENTRE UN PAR DE OPERANDO (CONSTANTES O VARIABLES)
Y PERMITEN DEVOLVER VALORES DE CIERTO O FALSO.
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual / idéntico
¡= Diferente / distinto
LÓGICOS: SON OPERADORES QUE PERMITEN CONECTAR UN PAR DE
PROPIEDADES, ES DECIR, NOS PERMITEN OBTENER UNA RESPUESTA LÓGICA DE
LA COMPARACIÓN DE DOS OPERACIONES.
Operador Acción
&& Conjunción, and, Y
|| Disyunción, or, O
! Negación, no
ESTRUCTURAS DE CONTROL
• LAS ESTRUCTURAS DE CONTROL TIENEN UNA FINALIDAD
BASTANTE DEFINIDA: SU OBJETIVO ES IR SEÑALANDO EL ORDEN
EN QUE TIENEN QUE SUCEDERSE LOS PASOS DE UN
ALGORITMO O DE UN PROGRAMA.
LAS ESTRUCTURAS DE CONTROL SON DE TRES TIPOS:
SECUENCIALES
SELECTIVAS
REPETITIVAS
PARA QUE SIRVEN LAS ESTRCUTURAS DE
CONTROL
LAS ESTRUCTURAS DE CONTROL NOS DAN EL
PODER DE ALTERAR, CONTROLAR O MODIFICAR
EL ORDEN O EL FLUJO EN EL QUE SE EJECUTAN
LAS INSTRUCCIONES DE UN SOFTWARE A
VOLUNTAD. GRACIAS A LAS ESTRUCTURAS DE
CONTROL PODEMOS ABSTRAER ALGORITMOS O
SECUENCIAS DE INSTRUCCIONES EN UN
SOFTWARE PARA LOGRAR SU OBJETIVO.
1. SECUENCIALES O DE SECUENCIA
ESTA ES LA ESTRUCTURA BÁSICA, YA QUE NOS PERMITE ASEGURAR QUE
UNA INSTRUCCIÓN SE EJECUTA DESPUÉS DE LA OTRA SIGUIENDO EL
ORDEN EN QUE FUERON ESCRITAS.
2. SELECTIVAS, DE SELECCIÓN O CONDICIONALES
ESTE TIPO DE ESTRUCTURAS DE CONTROL NOS SIRVEN CUANDO
NECESITAMOS QUE SE EVALÚE EL VALOR DE ALGUNA VARIABLE O DE
ALGUNA CONDICIÓN PARA DECIDIR QUÉ INSTRUCCIONES EJECUTAR A
CONTINUACIÓN.
•SELECTIVAS SIMPLES: EVALÚAN UN VALOR O UNA CONDICIÓN Y
DETERMINAN LAS INSTRUCCIONES A EJECUTAR EN CASO DE CUMPLIRSE
LA CONDICIÓN.
• SELECTIVAS DOBLES: EVALÚAN UN VALOR O UNA CONDICIÓN.
DETERMINAN LAS INSTRUCCIONES A EJECUTAR EN CASO DE CUMPLIRSE LA
CONDICIÓN Y TAMBIÉN LAS INSTRUCCIONES A EJECUTAR EN CASO DE NO
CUMPLIRSE.
• SELECTIVAS MÚLTIPLES O ANIDADAS: PERMITEN COMBINAR SELECTIVAS
SIMPLES Y DOBLES PARA CREAR ESTRUCTURAS Y CONDICIONES MÁS
COMPLEJAS CUANDO EL ALGORITMO EN CUESTIÓN LO NECESITE.
3. ITERATIVAS, DE ITERACIÓN, DE REPETICIÓN O
REPETITIVAS
ESTE TIPO DE ESTRUCTURAS DE CONTROL NOS
SIRVEN CUANDO NECESITAMOS QUE SE
EJECUTE UN CONJUNTO ESPECÍFICO DE
INSTRUCCIONES EN DIVERSAS OCASIONES. LA
CANTIDAD DE VECES QUE SE REPITE DICHO
BLOQUE DE ACCIONES PUEDE SER ESTÁTICO O
PUEDE DEPENDER DEL VALOR DE ALGUNA
VARIABLE O DE ALGUNA CONDICIÓN.
• ITERATIVAS CON CANTIDAD FIJA DE ITERACIONES: SE UTILIZAN CUANDO A
PRIORI SE CONOCE LA CANTIDAD DE OCASIONES QUE DEBE REPETIRSE UN
BLOQUE DE INSTRUCCIONES. NORMALMENTE, USAN UNA VARIABLE DE
ITERACIÓN O ÍNDICE PARA CONTAR LA CANTIDAD DE REPETICIONES QUE SE
HAN REALIZADO.
El valor inicial <valor1> de la <variable> irá
aumentando o disminuyendo según el
paso <valor3> hasta llegar al
valor <valor2>. Si no se especifica el valor
de paso, se sobrentiende que el aumento
es de uno en uno.
• ITERATIVAS CON CANTIDAD VARIABLE DE ITERACIONES: SE UTILIZAN CUANDO
LA CANTIDAD DE OCASIONES QUE DEBE REPETIRSE UN BLOQUE DE
INSTRUCCIONES ESTÁ DETERMINADO POR UNA CONDICIÓN. POR LO
REGULAR, EXISTEN DOS VARIANTES: REPETIR UN BLOQUE DE
INSTRUCCIONES MIENTRAS SE CUMPLA UNA CONDICIÓN O
REPARTIRLO HASTA QUE SE CUMPLA UNA CONDICIÓN.

Más contenido relacionado

PDF
Taller de programación
PPT
Programacion 2
PPTX
Pseudocodigos
PDF
Naturaleza y evolución de la tecnología
PDF
Naturaleza y evolución de la tecnología
PDF
Naturaleza y evolución de la tecnología
PDF
unidad1_algoritmoyprograma.pdf
PDF
Taller de programación
Programacion 2
Pseudocodigos
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
unidad1_algoritmoyprograma.pdf

Similar a programacion de base de datos en ingesnieria de software (20)

PPTX
Fundamentos De Programacion
PPTX
Python_Introduccion_a_la_programacion.pptx
PPTX
Introduccion a .net y C# Programacion visual II
PDF
Presentation .pdf
PPTX
manual D.F.D
PPTX
Python_Introduccion_a_la_programacion.pptx
DOCX
Fundamentos de visual basic 6.0.
DOCX
Algoritmos tecnologia 2021 tercer periodo (1)
PPTX
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
DOCX
Trabajo de tecnologia periodo 3
PDF
Ventajas del pseudocódigo sobre los diagramas de flujo
PDF
Fundamentos de programación
PPTX
Como realizar un pseudocodigo
PPTX
Como realizar un pseudocodigo
PPTX
Como realizar un pseudocodigo (1)
PDF
pensamiento computacional seudocodigos y sentencias
PDF
ALGORITMOS DE PROGRAMACION (1).pdf
Fundamentos De Programacion
Python_Introduccion_a_la_programacion.pptx
Introduccion a .net y C# Programacion visual II
Presentation .pdf
manual D.F.D
Python_Introduccion_a_la_programacion.pptx
Fundamentos de visual basic 6.0.
Algoritmos tecnologia 2021 tercer periodo (1)
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Trabajo de tecnologia periodo 3
Ventajas del pseudocódigo sobre los diagramas de flujo
Fundamentos de programación
Como realizar un pseudocodigo
Como realizar un pseudocodigo
Como realizar un pseudocodigo (1)
pensamiento computacional seudocodigos y sentencias
ALGORITMOS DE PROGRAMACION (1).pdf
Publicidad

Último (20)

PPTX
Logging While Drilling Ingenieria Petrolera.pptx
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PPTX
Software para la educación instituciones superiores
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
DOCX
Cumplimiento normativo y realidad laboral
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PDF
Primera formulación de cargos de la SEC en contra del CEN
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
presentacion sobre los polimeros, como se conforman
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
Logging While Drilling Ingenieria Petrolera.pptx
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
Software para la educación instituciones superiores
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
clase MICROCONTROLADORES ago-dic 2019.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Cumplimiento normativo y realidad laboral
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
Primera formulación de cargos de la SEC en contra del CEN
informacion acerca de la crianza tecnificada de cerdos
presentacion sobre los polimeros, como se conforman
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
prg2_t01_p01_Fundamentos POO - parte1.pdf
Publicidad

programacion de base de datos en ingesnieria de software

  • 1. LENGUAJES DE PROGRAMACIÓN TEMA 1. INTRODUCCIÓN Y CONCEPTOS GENERALES
  • 2. FUNDAMENTOS DE PROGRAMACIÓN ESTRUCTURADA La programación estructurada consiste en estructurar el desarrollo de un programa para computadora con mayor claridad y por consiguiente habrá mayor tiempo para el proceso y un resultado de mejor calidad.
  • 3. 1.1 ¿ QUÉ ES UN LP ? Definición: Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano. Un lenguaje de programación es un lenguaje de computadora que los programadores utilizan para comunicarse y para desarrollar programas de software, aplicaciones, páginas webs, scripts u otros conjuntos de instrucciones para que sean ejecutadas por los ordenadores.
  • 4. TIPOS DE L.P  Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados para un hardware específico y que por lo tanto no pueden migrar o exportarse a otros computadores.  Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de propósito específico.  Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes de programación que se ubican en un punto medio entre los dos anteriores: pues permite operaciones de alto nivel y a la vez la gestión local de la arquitectura del sistema.
  • 5. OTRA FORMA DE CLASIFICACIÓN A MENUDO ES LA SIGUIENTE: • LENGUAJES IMPERATIVOS. MENOS FLEXIBLES, DADA LA SECUENCIALIDAD EN QUE CONSTRUYEN SUS INSTRUCCIONES, ESTOS LENGUAJES PROGRAMAN MEDIANTE ÓRDENES CONDICIONALES Y UN BLOQUE DE COMANDOS AL QUE RETORNAN UNA VEZ LLEVADA A CABO LA FUNCIÓN. • LENGUAJES FUNCIONALES. TAMBIÉN LLAMADOS PROCEDIMENTALES, ESTOS LENGUAJES PROGRAMAN MEDIANTE FUNCIONES QUE SON INVOCADAS CONFORME A LA ENTRADA RECIBIDA, QUE A SU VEZ SON RESULTADO DE OTRAS FUNCIONES.
  • 6. CARACTERÍSTICAS • EFICIENCIA • EXPRESIVIDAD • CAPACIDAD DE MANTENIMIENTO • LEGIBILIDAD • CONFIABILIDAD • SEGURIDAD • SIMPLICIDAD • PRODUCTIVIDAD
  • 7. TRADUCCIÓN DEL LENGUAJE • TRADUCTOR ES UN PROGRAMA QUE ACEPTA OTROS PROGRAMAS ESCRITOS EN UN LENGUAJE Y: • LOS EJECUTA DIRECTAMENTE (INTERPRETE) • LOS TRANSFORMA EN UNA FORMA ADECUADA PARA SU EJECUCIÓN (COMPILADOR). entrada código fuente salida intérprete
  • 8. PROGRAMAS Y ALGORITMOS ¿QUÉ ES UN ALGORITMO? UN ALGORITMO ES UNA SECUENCIA DE PASOS A SEGUIR PARA RESOLVER UN PROBLEMA. POR EJEMPLO, CUANDO QUIERO VER UNA PELÍCULA DE VÍDEO, PODRÍA HACER LOS SIGUIENTES PASOS (ALGORITMO): - ELIJO UNA PELÍCULA DE LAS DE MI COLECCIÓN. •-COMPRUEBO SI TV Y VÍDEO ESTÁN CONECTADOS A LA RED (Y PROCEDO). •-SI LA TV ESTÁ APAGADA, LA ENCIENDO, SI NO, PUES NO. Y LO MISMO CON EL VÍDEO. •-INTRODUZCO LA PELÍCULA EN EL VÍDEO. DEJO EL ESTUCHE SOBRE EL VÍDEO. •-SI LA TV NO ESTÁ EN EL CANAL ADECUADO, LA CAMBIO, SI NO, PUES NO. •-COJO LOS MANDOS A DISTANCIA (EL DEL TV Y EL DEL VÍDEO). •-ME PONGO CÓMODO. •-PULSO PLAY EN EL MANDO DEL VÍDEO.
  • 9. METODOLOGÍA PARA LA DESCOMPOSICIÓN DE UN ALGORITMO 1. DEFINICIÓN DEL PROBLEMA: ESTE PASO DE LA METODOLOGÍA DEBEMOS PLANTEARNOS LA PREGUNTA ¿CUÁL ES EL PROBLEMA EN CONCRETO?, VISUALIZAR LA DELIMITACIÓN DEL PROBLEMA, ¿HASTA DÓNDE ABARCARÁ LA SOLUCIÓN DEL PROBLEMA? Y SI ES POSIBLE RESOLVER EL ALGORITMO O NO. • 2. ANÁLISIS: UNA VEZ IDENTIFICADO Y DELIMITADO EL PROBLEMA, ESTA FASE TIENE EL OBJETIVO DE DIVIDIR EL PROBLEMA EN SUS COMPONENTES Y EXAMINAR DE QUÉ MANERA PUEDEN UNIRSE, EN ESTA FASE SE DEBEN CONTESTAR LAS SIGUIENTES PREGUNTAS: • A. ¿QUÉ SE NECESITA PARA RESOLVER EL PROBLEMA? • B. ¿QUÉ PASOS SON NECESARIOS PARA RESOLVER EL PROBLEMA? • C. ¿QUÉ SE DEBE OBTENER PARA RESOLVER EL PROBLEMA?
  • 10. 3. DISEÑO: HACIENDO USO DE ALTERNATIVAS DE SOLUCIÓN COMO LO SON DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO SE INDICAN LOS PASOS QUE DEBERÁ SEGUIR EL ALGORITMO PARA OBTENER LA SOLUCIÓN DEL PROBLEMA. 4. VERIFICACIÓN: DEFINIDO COMO LA ACCIÓN DE COMPROBAR O EXAMINAR LA VERDAD DE ALGO, APLICADO AL TEMA ACTUAL, ES LA FASE QUE NOS PERMITE SABER SI EL ALGORITMO CUMPLIÓ O NO SU OBJETIVO, PARA REALIZAR LA COMPROBACIÓN SE LE DAN VARIABLES DE ENTRADA AL ALGORITMO Y SE OBSERVAN LOS RESULTADOS QUE ARROJA
  • 11. CASO PRACTICO SE REQUIERE DE UN ALGORITMO QUE CALCULE EL SUELDO SEMANAL O MENSUAL DE UN TRABAJADOR DE CONSTRUCCIÓN, AL EMPLEADO LE PAGAN S/. 50.00 LA HORA Y CADA DÍA TRABAJA DURANTE 8 HORAS. •FASE 1 DEFINICIÓN DEL PROBLEMA •FASE 2 ANÁLISIS DEL PROBLEMA •FASE 3 DISEÑO DEL ALGORITMO •FASE 4 VERIFICACIÓN
  • 12. FASE 1 DEFINICIÓN DEL PROBLEMA NOMBRE DEL PROBLEMA Sueldo del trabajador DELIMITACIÓN Obtener el sueldo semanal o mensual a partir del pago de horas y el numero de horas trabajadas RESULTADO Sueldo semanal del trabajador
  • 13. FASE 2 ANÁLISIS DEL PROBLEMA DATOS DE ENTRADA PROCESO SALIDA ?Que necesito para resolver el problema? ?Qué pasos necesito para resolver el problema? ?Qué se obtiene para resolver el problema) • Pago por hora • Numero de horas trabajadas en un día • Numero de días trabajados Sueldo=(pago por hora * numero de horas trabajadas en un día) * numero de días trabajadas Sueldo mensual
  • 14. FASE 3 DISEÑO DEL ALGORITMO Inicio Numerodiastrab VARIABLE DE ENTRADA Constantes Pagoporhora: 50 Numero de horas trab: 8 Operación Sueldo= (pago x hora * numero de horas trabajado en un dia) * numero de días trabajados Numerodiastrab Salida resultado Fin
  • 15. FASE 4 VERIFICACIÓN Entrada Proceso Operación a realizar Resultado Numdiastrab=7 Sueldo= (50*8)7
  • 16. DIAGRAMA DE FLUJO UN DIAGRAMA DE FLUJO ES UNA REPRESENTACIÓN GRÁFICA DEL ALGORITMO. EXPRESAMOS LOS PASOS DEL ALGORITMO MEDIANTE UN ESQUEMA CON UNOS SÍMBOLOS ESTABLECIDOS. UN DIAGRAMA DE FLUJO DEBE PROPORCIONAR UNA INFORMACIÓN CLARA, ORDENADA Y CONCISA DE TODOS LOS PASOS A SEGUIR.
  • 17. ELEMENTOS DE UN DIAGRAMA DE FLUJO
  • 18. EL PSEUDOCÓDIGO EL PSEUDOCÓDIGO ES UNA FORMA DE ESCRIBIR LOS PASOS, PERO DE LA FORMA MÁS CERCANA AL LENGUAJE DE PROGRAMACIÓN QUE VAMOS A UTILIZAR, ES COMO UN FALSO LENGUAJE, PERO EN NUESTRO IDIOMA, EN EL LENGUAJE HUMANO. Comentarios Poner comentarios de lo que vamos haciendo es muy útil, sobre todo cuando llega la hora de revisar el programa, si no, más de una vez nos encontraremos diciendo ¿qué hacía esto aquí? // Esto será un comentario y no hará nada en el programa
  • 19. LAS VARIABLES UNA VARIABLE ES COMO UNA CAJA DONDE METEMOS COSAS (DATOS). ESTOS DATOS LOS PODEMOS IR CAMBIANDO, AHORA PONGO UN 3, AHORA LO QUITO Y PONGO UN 5. UNA VARIABLE TIENE UN NOMBRE, QUE PUEDE SER UNA LETRA, UNA PALABRA, VARIAS PALABRAS UNIDAS POR EL GUION BAJO O VARIAS PALABRAS SIN SEPARAR, PERO LA PRIMERA LETRA DE CADA PALABRA EN MAYÚSCULAS. EJEMPLO: VIDASPERDIDAS, VIDAPERDIDAS, VIDAS_PERDIDAS. UNA VARIABLE DEPENDIENDO DE SU VALOR PUEDE SER NUMÉRICA, SI SOLO PUEDE TENER UN VALOR NUMÉRICO, DE TEXTO, SI SOLO PUEDE CONTENER TEXTO (LETRA, PALABRA O FRASE TAMBIÉN LLAMADA STRING). EN LAS VARIABLES DE TEXTO, SU VALOR (EL TEXTO), DEBE IR ENTRE COMILLAS, PARA DIFERENCIAR QUE EL TEXTO ES TEXTO Y NO ES EL NOMBRE DE OTRA VARIABLE. POR EJEMPLOS VIDAS = "CINCO" O VIDAS = "5". EN LOS DOS CASOS EL VALOR ES UN TEXTO, NUNCA EL VALOR DE 5. LAS NUMÉRICAS NO LLEVAN COMILLAS EN SU VALOR. POR EJEMPLO: VIDAS = 5. EN ESTE CASO SU VALOR SI QUE ES EL NÚMERO 5.
  • 20. HAY OTRAS VARIABLES QUE SE LLAMAN BOOLEANAS QUE SOLO PUEDEN TENER DOS VALORES TRUE O FALSE. NORMALMENTE TRUE SE PUEDE SUSTITUIR POR EL VALOR 1 Y FALSE POR EL 0. VEAMOS ALGUNOS EJEMPLOS DE LOS TIPOS DE VARIABLES: EDAD=3; //VARIABLE NUMÉRICA. FÍJATE QUE ESTO EN NEGRITA ES UN COMENTARIO. VARIABLEDETEXTO= “TENGO 14 AÑOS”; //FÍJATE QUE VA ENTRE COMILLAS. VARIABLENUMERICA= EDAD + 2 ; //SU VALOR ES EL VALOR DE LA VARIABLE EDAD (NUMÉRICA) +2; EN ESTE CASO SERÍA = 5 (3+2). VARIABLEBOOLEANA = TRUE; EN ESTE CASO SERÍA DE VALOR 1
  • 21. VARIABLES: SON VALORES QUE VAN CAMBIANDO DURANTE LA EJECUCIÓN DE LOS PROCESOS DEL ALGORITMO, EN ESTAS VARIABLES SE VAN A GUARDAR LAS OPERACIONES QUE EL ALGORITMO REALICE PARA RESOLVER EL PROBLEMA. CONSTANTES: SON DATOS QUE SU VALOR NO VA A CAMBIAR DURANTE TODO EL DESARROLLO DEL ALGORITMO, LAS CONSTANTES PUEDEN TENER O NO UN IDENTIFICADOR, PUES ESTOS VALORES PUEDEN ESCRIBIRSE DIRECTAMENTE AL USAR LAS OPERACIONES O BIEN ASIGNARLE UN IDENTIFICADOR, LAS CONSTANTES TAMBIÉN TIENEN UN TIPO DE DATO.
  • 22. OPERADORES Y EXPRESIONES • ARITMETICOS Operador Acción Ejemplo + Suma X = 5 + 4 | x= 9 - Resta X = 10 – 3 | x=7 * Multiplicación X = 3 * 2 | x = 6 / División X = 10 / 2 | x = 5 % División Modular X = 1 / 3 | x = .66 ++ Incremento X = 1; X++ | x = 2 -- Decremento X = 1; X-- | x = 0 ^ Potencia X = 2 ^ 3 | x = 8
  • 23. • RELACIONALES: ESTOS OPERADORES PERMITEN EVALUAR LA RELACIÓN ENTRE UN PAR DE OPERANDO (CONSTANTES O VARIABLES) Y PERMITEN DEVOLVER VALORES DE CIERTO O FALSO. Operador Acción > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual / idéntico ¡= Diferente / distinto
  • 24. LÓGICOS: SON OPERADORES QUE PERMITEN CONECTAR UN PAR DE PROPIEDADES, ES DECIR, NOS PERMITEN OBTENER UNA RESPUESTA LÓGICA DE LA COMPARACIÓN DE DOS OPERACIONES. Operador Acción && Conjunción, and, Y || Disyunción, or, O ! Negación, no
  • 25. ESTRUCTURAS DE CONTROL • LAS ESTRUCTURAS DE CONTROL TIENEN UNA FINALIDAD BASTANTE DEFINIDA: SU OBJETIVO ES IR SEÑALANDO EL ORDEN EN QUE TIENEN QUE SUCEDERSE LOS PASOS DE UN ALGORITMO O DE UN PROGRAMA. LAS ESTRUCTURAS DE CONTROL SON DE TRES TIPOS: SECUENCIALES SELECTIVAS REPETITIVAS
  • 26. PARA QUE SIRVEN LAS ESTRCUTURAS DE CONTROL LAS ESTRUCTURAS DE CONTROL NOS DAN EL PODER DE ALTERAR, CONTROLAR O MODIFICAR EL ORDEN O EL FLUJO EN EL QUE SE EJECUTAN LAS INSTRUCCIONES DE UN SOFTWARE A VOLUNTAD. GRACIAS A LAS ESTRUCTURAS DE CONTROL PODEMOS ABSTRAER ALGORITMOS O SECUENCIAS DE INSTRUCCIONES EN UN SOFTWARE PARA LOGRAR SU OBJETIVO.
  • 27. 1. SECUENCIALES O DE SECUENCIA ESTA ES LA ESTRUCTURA BÁSICA, YA QUE NOS PERMITE ASEGURAR QUE UNA INSTRUCCIÓN SE EJECUTA DESPUÉS DE LA OTRA SIGUIENDO EL ORDEN EN QUE FUERON ESCRITAS.
  • 28. 2. SELECTIVAS, DE SELECCIÓN O CONDICIONALES ESTE TIPO DE ESTRUCTURAS DE CONTROL NOS SIRVEN CUANDO NECESITAMOS QUE SE EVALÚE EL VALOR DE ALGUNA VARIABLE O DE ALGUNA CONDICIÓN PARA DECIDIR QUÉ INSTRUCCIONES EJECUTAR A CONTINUACIÓN. •SELECTIVAS SIMPLES: EVALÚAN UN VALOR O UNA CONDICIÓN Y DETERMINAN LAS INSTRUCCIONES A EJECUTAR EN CASO DE CUMPLIRSE LA CONDICIÓN.
  • 29. • SELECTIVAS DOBLES: EVALÚAN UN VALOR O UNA CONDICIÓN. DETERMINAN LAS INSTRUCCIONES A EJECUTAR EN CASO DE CUMPLIRSE LA CONDICIÓN Y TAMBIÉN LAS INSTRUCCIONES A EJECUTAR EN CASO DE NO CUMPLIRSE. • SELECTIVAS MÚLTIPLES O ANIDADAS: PERMITEN COMBINAR SELECTIVAS SIMPLES Y DOBLES PARA CREAR ESTRUCTURAS Y CONDICIONES MÁS COMPLEJAS CUANDO EL ALGORITMO EN CUESTIÓN LO NECESITE.
  • 30. 3. ITERATIVAS, DE ITERACIÓN, DE REPETICIÓN O REPETITIVAS ESTE TIPO DE ESTRUCTURAS DE CONTROL NOS SIRVEN CUANDO NECESITAMOS QUE SE EJECUTE UN CONJUNTO ESPECÍFICO DE INSTRUCCIONES EN DIVERSAS OCASIONES. LA CANTIDAD DE VECES QUE SE REPITE DICHO BLOQUE DE ACCIONES PUEDE SER ESTÁTICO O PUEDE DEPENDER DEL VALOR DE ALGUNA VARIABLE O DE ALGUNA CONDICIÓN.
  • 31. • ITERATIVAS CON CANTIDAD FIJA DE ITERACIONES: SE UTILIZAN CUANDO A PRIORI SE CONOCE LA CANTIDAD DE OCASIONES QUE DEBE REPETIRSE UN BLOQUE DE INSTRUCCIONES. NORMALMENTE, USAN UNA VARIABLE DE ITERACIÓN O ÍNDICE PARA CONTAR LA CANTIDAD DE REPETICIONES QUE SE HAN REALIZADO. El valor inicial <valor1> de la <variable> irá aumentando o disminuyendo según el paso <valor3> hasta llegar al valor <valor2>. Si no se especifica el valor de paso, se sobrentiende que el aumento es de uno en uno.
  • 32. • ITERATIVAS CON CANTIDAD VARIABLE DE ITERACIONES: SE UTILIZAN CUANDO LA CANTIDAD DE OCASIONES QUE DEBE REPETIRSE UN BLOQUE DE INSTRUCCIONES ESTÁ DETERMINADO POR UNA CONDICIÓN. POR LO REGULAR, EXISTEN DOS VARIANTES: REPETIR UN BLOQUE DE INSTRUCCIONES MIENTRAS SE CUMPLA UNA CONDICIÓN O REPARTIRLO HASTA QUE SE CUMPLA UNA CONDICIÓN.