SlideShare una empresa de Scribd logo
UNIVERSIDAD DEL MAGDALENA
FACULTAD CIENCIAS DE LA EDUCACIÓN
PROGRAMA DE LICENCIATURA EN EDUCACIÓN
BÁSICA CON ÉNFASIS EN INFORMÁTICA
Fundamentos de Programación
Conceptos básicos
 Conceptos básicos sobre lógica de
programación.
 Tipos de expresiones
 Aritméticas
 Relacionales
 Lógicas
 Tablas de verdad: Conjunción, Disyunción,
Negación.
DEFINICIONES
 Expresiones: Es una combinación de variables,
constantes, operadores y referencias que
expresan cálculos aritméticos y/o lógicos a ser
realizados.
En su forma más simple una expresión esta
constituida por una variable o constante.
 Constantes: Una constante es un valor invariante
que puede ser referenciado en el algoritmo por
el valor mismo o un nombre. Se pueden declarar
constantes de cualquier tipo simple de dato.
DEFINICIONES (CONT.)
 Variables: Una variable es un nombre compuesto
por letras y números (el primer carácter ha de ser
una letra) con el que se designan un almacén de
valores, puede variar a lo largo del algoritmo. Se
pueden definir variables de cualquier tipo de
dato simple o compuesto.
 Operadores: Se llaman operadores a todos
aquellos símbolos que realizan una operación
determinada del argumento antecedente con el
consecuente.
CARACTERÍSTICAS DE LOS
ALGORITMOS
 Preciso
 Indicar el orden de realización de cada paso.
 El orden de realización de las operaciones
debe estar dado en una forma clara.
 No debe existir ambigüedad en el mismo.
 Todos los posibles caminos de solución
deben aparecer recogidos en el algoritmo.
CARACTERÍSTICAS DE LOS
ALGORITMOS (CONT.)
 Deterministico
 Si se sigue el algoritmo dos o más veces
sobre los mismos datos de entrada se debe
obtener el mismo resultado cada vez.
 Finito
 Debe tener un número finito de pasos.
 El algoritmo debe terminar en un momento
determinado después de ejecutar un número
finito de pasos.
CARACTERÍSTICAS DE LOS
ALGORITMOS (CONT. 2)
 Elemental
 La secuencia de las operaciones debe ser
detallada.
 Los pasos deben estar indicados como
instrucciones sencillas, de ser posible
representables en el lenguaje de programación a
utilizar después.
 General
 Debe encontrar la solución para las diferentes
instancias del problema que resuelve, no debe
estar sujeto a unos parámetros de entrada
específicos.
TABLA DE VERDAD
NEGACIÓN
Q Negación (!)
V F
F V
 Del lado izquierdo se encuentran los casos
posibles y del lado derecho el resultado de
aplicar negación al valor de la izquierda.
 Para una variable existen 21 casos posibles.
TABLA DE VERDAD
CONJUNCIÓN
Q P &
V V V
V F F
F V F
F F F
 En la conjunción se requiere que ambas
preposiciones sean verdaderas para que el
resultado sea verdadero.
 Para dos variables existen 22 casos posibles.
TABLA DE VERDAD
DISYUNCIÓN
Q P ||
V V V
V F V
F V V
F F F
 En la disyunción se requiere que ambas
preposiciones sean falsas para que el resultado
sea falso.
CONSTRUCCIÓN DE TABLAS DE
VERDAD. CASOS POSIBLES
 En general para n variables existen 2n casos
posibles.
 Las repeticiones de los valores en cada columna
es 2n-1 , 2n-2 … 2o
 Ej. Para 3 variables.
 Los casos posibles son :
 23 = 8
 Las repeticiones de los valores en cada columna
es:
 23-1 , 23-2 … 23-3 , es decir: 22 , 21 … 20, es decir: 4,
2 y 1.
EJERCICIOS CON TABLAS DE
VERDAD
 Construya la tabla de verdad de las
siguientes expresiones lógicas:
 P || Q || R & Z
 P! & Q || R ! || Z
 P & Q! || R
 (R || Q & Z)!
 P ! || Q & R! || Z
TIPOS DE EXPRESIONES
 Expresiones aritméticas: Son expresiones de
resultado numérico. Los valores posibles
como resultado de las expresiones
aritméticas pertenecen a los tipos de datos
entero o real.
 Ej.: Expresiones aritméticas
 a/b a dividido entre b
 a * b a multiplicado por b
 a – b a menos b
 a + b a sumado a b
PRECEDENCIA ENTRE OPERADORES
ARITMÉTICOS
 Los operadores siguen un orden de precedencia
a la hora de evaluar las expresiones, ordenados
en orden de mayor a menor prioridad los
operadores aritméticos son:
Potenciación
División y multiplicación
Suma y resta.
 Esto quiere decir que aunque las expresiones son
leídas de izquierda a derecha se realizan primero
las operaciones aritméticas de potenciación,
después las de división y multiplicación y
finalmente las sumas y restas.
EJERCICIOS. PRECEDENCIA ENTRE
OPERADORES ARITMÉTICOS
 Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el
resultado de valuar la siguiente expresión
aritmética?
 a * b ^ c
 40
 a + b * c
 11
TIPOS DE EXPRESIONES
 Expresiones lógicas: Son expresiones que
tienen por resultado dos valores posibles:
Verdadero o Falso.
 Los operadores en una expresión lógica
pueden ser de dos tipos:
 Operadores relacionales
 Operadores lógicos
OPERADORES RELACIONALES
 Operan sobre expresiones de diferentes tipos
(numéricos, alfanuméricos, lógicos) y retornan un
valor del tipo lógico:
 Operador Operación que denota
 < Menor que
 > Mayor que
 <= Menor o igual que
 >= Mayor o igual que
 == Igualdad
 != Desigualdad
PRECEDENCIA ENTRE OPERADORES
RELACIONALES
 Al igual que los operadores aritméticos para
cambiar el orden de evaluación se utilizan los
paréntesis y la evaluación de las expresiones
con operadores de igual prioridad se realiza
de izquierda a derecha.
 Ordenados en orden de mayor a menor la
prioridad los operadores relacionales es:
<, >, <=, >=
==, !=
EJERCICIOS. PRECEDENCIA ENTRE
OPERADORES RELACIONALES
 Los operadores relacionales tienen un nivel de
precedencia menor que los operadores aritméticos.
 Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el
resultado de valuar la siguiente expresión relacional?
 a > b +c
 Falso
 a == b + c
 Verdadero
OPERADORES LÓGICOS
 Estos operadores se basan en la aritmética
del lenguaje binario, en el que existen sólo
dos valores, 0 ó 1, Falso o Verdadero. Operan
sólo sobre operandos lógicos.
 Operador Operación que denota
 ! NOT
 & AND
 || OR
PRECEDENCIA ENTRE OPERADORES
LÓGICOS
 De mayor a menor la precedencia de los
operadores lógicos es:
!
&
||
 Los operadores lógicos, al igual que los
relacionales tienen un nivel de precedencia
menor que los operadores aritméticos.
EJERCICIOS. PRECEDENCIA ENTRE
OPERADORES LÓGICOS
 Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el
resultado de valuar la siguiente expresión lógica?
 a > b +c & (a==b)
 a > (b + c) & (a==b)
 Falso
 a == b + c || (a < b)
 a == (b + c) || (a < b)
 Verdadero
EJERCICIOS DE PRECEDENCIA DE
OPERADORES ARITMÉTICOS
 Para valores a = 2, b = 2, c = 7, ¿Cuál es el
resultado de valuar las siguientes
expresiones?
 a + b * c
 a / c + b
 a ^ b / c
 a * b / c
 a + b - c
 a * b ^ c
EXPRESIONES ALGEBRAICAS Y
EXPRESIONES ALGORITMICAS
 Ecuación cuadrática:
 Para que el computador la evalúe tal como
nosotros lo haríamos debemos recordar la
precedencia de los operadores y utilizar los
paréntesis para dar prioridad cuando sea
necesario.
EXPRESIONES ALGEBRAICAS Y
EXPRESIONES ALGORITMICAS (CONT).
 Ecuación cuadrática:
 X = (-1)*b + sqrt(b ^ 2 – 4* a * c) / 2 * a
 ¿Cuáles son las operaciones que puede que
no se realicen en el orden que deseamos?
 X = (-1)*b + sqrt((b ^ 2 – (4* a * c)) /( 2 * a)
REPRESENTACIÓN DE HECHOS A TRAVÉS DE
EXPRESIONES ALGORÍTMICAS
 En general todo lo que decimos podemos
representarlo a través de variables,
constantes y operadores, es decir, a través de
expresiones algorítmicas.
 Representar hechos a través de expresiones
algorítmicas es el primer paso para
desarrollar el pensamiento algorítmico.
EJEMPLOS. REPRESENTACIÓN DE HECHOS A
TRAVÉS DE EXPRESIONES ALGORÍTMICAS
 Mis gastos semanales vienen dados por el total
de almuerzos y cenas que consumo en la
universidad y los pasajes de ida y vuelta de lunes
a viernes.
 Primero definir las variables.
 GastosSemanales
 TotalAlmuerzos
 TotalCenas
 TotalPasajes
EJEMPLOS. REPRESENTACIÓN DE HECHOS
A TRAVÉS DE EXPRESIONES ALGORÍTMICAS
(CONT.)
 Segundo escribir la expresión algebraica (general)
 GatosSemanales = TotalAlmuerzos + TotalCenas +
TotalPasajes
 Tercero escribir las expresiones algebraicas
parciales.
 TotalAlmuerzos = CostoAlmuerzo *
CantidadDiasClase
 TotalAlmuerzos = CostoAlmuerzoLun +
CostoAlmuerzoMar + … + CostoAlmuerzoVier.
EJEMPLOS. REPRESENTACIÓN DE HECHOS
A TRAVÉS DE EXPRESIONES ALGORÍTMICAS
(CONT. 2)
 ¿Cuáles serian las expresiones algebraicas
para TotalCenas?
 TotalCenas = CostoCena * CantidadDiasClase
 TotalCenas = CostoCenaLun + CostoCenaMar
+ … + CostoCenaVier.
EJEMPLOS. REPRESENTACIÓN DE HECHOS
A TRAVÉS DE EXPRESIONES ALGORÍTMICAS
(CONT. 3)
 ¿Cuáles serian las expresiones algebraicas
para TotalPasajes?
 TotalPasajes = CostoPasajes *
CantidadDiasClase * 2
 TotalPasajes = TotalPasajesIda +
TotalPasajesVuelta
 TotalPasajesIda = CosPasIdaLun +
CosPasIdaMar + … + CosPasIdaVier
 TotalPasajesVuelta = CosPasVuelLun +
CosPasVuelMar + … + CosPasVuelVier
PASOS PARA LA REPRESENTACIÓN DE
HECHOS A TRAVÉS DE EXPRESIONES
ALGORÍTMICAS
 Definir las variables.
 Escribir la expresión algebraica general.
 Escribir las expresiones algebraicas parciales.
 En el caso de presentarse conflicto para la
evaluación de la expresión algebraica (en
estricto orden de izquierda a derecha) por el
computador, (debido a la precedencia de
operadores) , se tiene un cuarto paso que
consiste en convertir la expresión algebraica
en una expresión algorítmica.
EJERCICIOS
 El bono de un vendedor es su salario base
más una comisión que representa el 5% de
la sumatoria de la cantidad de productos
vendidos.
 Definir las variables.
 BonoVendedor
 SalarioBase
 Comision
EJERCICIOS (CONT. 2)
 El bono de un vendedor es su salario base
más una comisión que representa el 5% de
la sumatoria de la cantidad de productos
vendidos.
 Escribir la expresión algebraica general.
 BonoVendedor = SalarioBase + Comision
EJERCICIOS (CONT. 2)
 El bono de un vendedor es su salario base
más una comisión que representa el 5% de
la sumatoria de los costos de los productos
vendidos.
 Escribir las expresiones algebraicas parciales.
 Comision = SumaCostoProductos*0,05
 SumaCostoProductos = CostoProd1 +
CostoProd2 + … + CostoProdN
RESOLUCIÓN DE PROBLEMAS
 El programador de computadoras es ante que
nada una persona que resuelve problemas, por lo
que para llegar a ser un programador eficaz se
necesita aprender a resolver problemas de un
modo riguroso y sistemático.
 A la metodología necesaria para resolver
problemas mediante el uso del computador se le
denomina Metodología de la Programación.
 El eje central de la Metodología de la
Programación es el algoritmo.
CASOS DE ESTUDIO N°1. UN
EMPLEADO
FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO
BASADO EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.
 Administrar la información de un empleado.
 El empleado tiene nombre, apellido, género,
fecha de nacimiento, fecha de ingreso y
salario básico. Desde el programa se debe
poder cambiar el salario del empleado y
calcular su edad, antigüedad en la empresa y
cesantías.
PASOS PARA LA RESOLUCIÓN
DE PROBLEMAS MEDIANTE EL
USO DEL COMPUTADOR
1. ANÁLISIS DEL PROBLEMA
(E-P-S)
 Se identifica la naturaleza del problema y se
analiza la forma de resolverlo.
 Si es necesario se recurre a la bibliografía en
busca de métodos para solucionarlo.
 En este paso se describen los datos de
entrada, el proceso y los resultados o salida.
ANÁLISIS DEL PROBLEMA
EJEMPLO
 ¿Comprendemos totalmente de que trata el
problema?
 ¿Manualmente se cómo obtener todo lo solicitado?
 En caso que alguna respuesta sea negativa se debe
recurrir a la bibliografía / buscar información.
 Cesantías.
 El trabajador tiene derecho a que se le pague un
salario mensual por cada año de trabajo o
proporcionalmente a la fracción de año trabajado.
 http://www.gerencie.com/prestaciones-sociales.html
ESPECIFICACIONES DE
ENTRADA
 Información necesaria para la solución del
problema.
 Se debe responder a las siguientes
preguntas:
 ¿Cuántos y cuáles son los datos de
entrada?
 ¿Cuándo los datos de entrada son
válidos?
 Bajo qué condiciones va a ser resuelto el
problema.
ESPECIFICACIONES DE
ENTRADA
EJEMPLO
 ¿Cuántos y cuáles son los datos de entrada?
 Son 7.
 Nombre, apellido, género, fecha de nacimiento,
fecha de ingreso , salario básico.
 Fecha actual.
 ¿Cuándo los datos de entrada son válidos?
 Género (F o M).
 Fechas (Día entre 1 y 31, Mes entre 1 y 12, Año >
1900).
 Bajo qué condiciones va a ser resuelto el problema.
 No se verifica si el mes posee menos de 31 días.
ESPECIFICACIONES DE
PROCESOS
 Verificar que se tiene el conocimiento
adecuado de los procedimientos
matemáticos y/o lógicos necesarios para
alcanzar la solución del problema desde un
punto de vista teórico.
 De ser necesario, se recurrirá a la bibliografía
adecuada para ubicar la información
requerida para tener capacidad de solución,
a nivel teórico, del problema.
ESPECIFICACIONES DE
PROCESOS
CONT.
 Determinar las operaciones o cálculos
necesarios para encontrar la solución del
problema.
 Se debe responder a las siguientes
preguntas:
 ¿Cuáles operaciones se emplearan?
 ¿Cuántos requerimientos?
 Variables requeridas
ESPECIFICACIONES DE
PROCESOS
EJEMPLO
 ¿Cuáles operaciones se emplearán?
 Restas y Multiplicaciones
 ¿Cuántos requerimientos?
 3
 Variables requeridas
 DifAnyoNacimiento-Actual, Mes, Día
 DifAnyoIngreso-Actual, Mes, Día
ESPECIFICACIONES DE
SALIDA
 Resultados finales de los cálculos solicitados.
 ¿Cuántos y cuáles son los datos que se
producirán (datos de salida)?
 Cambiar el salario del empleado – Salario
Actual.
 Calcular su edad actual – Edad del empleado.
 Calcular antigüedad en la empresa – Tiempo
de servicio.
 Calcular cesantías. Monto a recibir por retiro
de la organización.
2. DISEÑO DEL ALGORITMO
 Una vez especificado los datos de entrada y los
resultados, se procederá al diseño del algoritmo.
 Esto conlleva a un análisis lógico de las
operaciones que deben ejecutarse para alcanzar
la solución del problema.
 Se debe describir la secuencia ordenada de pasos
que conducen a la solución del problema
planteado.
 El algoritmo debe cumplir con las características
mencionadas (Diapositivas 4-6).
3. REPRESENTACIÓN DEL
ALGORITMO
Pseudocódigo Diagrama de Flujo
 El algoritmo debe ser expresado a través de
una técnica de representación de algoritmos.
4. PRUEBA DEL ALGORITMO
 En esta fase se corrigen errores de lógica, que
conducen a la obtención de resultados no
esperados.
 El programador elige un conjunto de datos de
entrada y ejecuta manualmente cada sentencia
del algoritmo y verifica que los resultados
obtenidos sean los esperados.
 Este proceso debe ser llevado a cabo con
conjuntos de datos que permitan ejecutar todos
los caminos posibles del programa.
5. CODIFICACIÓN
 En esta fase, se traduce el pseudocódigo o
diagrama de flujo a un lenguaje de programación
especifico.
 Se define las variables a utilizar y se codifica todo
el procedimiento.
 Las instrucciones expresadas en el algoritmo se
traducen a instrucciones en algún lenguaje
programación para obtener el programa fuente.
6. PRUEBA Y DEPURACIÓN
DEL PROGRAMA
 Una vez escrito el programa fuente, se procede a su
compilación.
 El compilador toma el código escrito en el lenguaje
empleado y lo traduce a código máquina (que es como lo
entiende el computador). En esta fase se ponen de
manifiesto los errores sintácticos y de programación que se
puedan haber cometido.
 Se deben corregir todos los errores y avisos del compilador,
una vez hecho esto el compilador devuelve un archivo
objeto y uno ejecutable.
 Después de la ejecución del programa se hace la
verificación de que los resultados obtenidos se
correspondan con los esperados.
6. PRUEBA Y DEPURACIÓN
DEL PROGRAMA
 Una vez escrito el programa fuente, se procede a su
compilación.
 El compilador toma el código escrito en el lenguaje
empleado y lo traduce a código máquina (que es como lo
entiende el computador). En esta fase se ponen de
manifiesto los errores sintácticos y de programación que se
puedan haber cometido.
 Se deben corregir todos los errores y avisos del compilador,
una vez hecho esto el compilador devuelve un archivo
objeto y uno ejecutable.
 Después de la ejecución del programa se hace la
verificación de que los resultados obtenidos se
correspondan con los esperados.
TIPOS DE ESTRUCTURAS DE
CONTROL DE FLUJO DE DATOS
 Secuenciales
 Permite indicar la ejecución incondicional de
varias acciones de forma secuencial.
 Condicionales
 Son aquellas que permiten variar el orden de
ejecución del programa según se verifiquen o
no ciertas condiciones.
 Repetitivas
 Son las que permiten la repetición de
secuencias de sentencias un número
determinado de veces.
TIPOS DE ESTRUCTURAS DE
CONTROL DE FLUJO DE DATOS
EJEMPLO
 Secuenciales
 Operaciones aritméticas: restas,
multiplicaciones…
 Condicionales
 Verificación de datos de entrada
 Alternativas para el usuario
 Repetitivas
 Después de ingresados los datos de entrada,
se puede realizar un solo cálculo. No hay
estructuras repetitivas.
CASOS DE ESTUDIO N°2. RESULTADOS DE UNA
ENCUESTA
FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO
EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.
 Manejar los resultados de una encuesta de opinión.
 En la encuesta se dividen a las personas en 3 rangos
de edad menores de 18, entre 18 y 55 y mayores de
55 años. La encuesta tiene una única pregunta:
Calidad de un curso entre 0 y 10. El encuestado debe
informar si es soltero o casado.
 El programa debe informar el valor total de la
encuesta, promediar todas las notas y mostrarlas por
pantalla. También debe ser capaz de presentar
resultados según rango de edad y estado civil. El
programa presenta por pantalla el promedio de las
calificaciones del curso , dadas por las personas que
cumplen con el perfil pedido.
 Se puede suponer que al momento de calcular los
resultados hay por lo menos una persona de cada
perfil.
ANÁLISIS DEL PROBLEMA
EJEMPLO
 ¿Comprendemos totalmente de que trata el
problema?
 ¿Manualmente se cómo obtener todo lo
solicitado?
 En caso que alguna respuesta sea negativa se
debe recurrir a la bibliografía / buscar
información.
ESPECIFICACIONES DE
ENTRADA
EJEMPLO
 ¿Cuántos y cuáles son los datos de entrada?
 Son 3.
 Edad del encuestado
 Puntuación con que se evalúa al curso
 Estado civil del encuestado
 ¿Cuándo los datos de entrada son válidos?
 Edad (>1 y < 100)
 Estado Civil (S o C).
 Puntuación (entre 0 y 10)
 Bajo qué condiciones va a ser resuelto el problema.
 Para obtener los resultados se va suponer que
existe información para poder obtenerlos.
ESPECIFICACIONES DE
PROCESOS
EJEMPLO
 ¿Cuáles operaciones se emplearán?
 Sumas, Multiplicaciones y Divisiones
 ¿Cuántos requerimientos?
 7
 Variables requeridas
 TotalEnc18C, TotalEnc18S, TotalEnc18-55C,
TotalEnc18-55S…
 AcumPunt18C, AcumPunt18S, AcumPunt18-55C,
AcumPunt18-55S…
ESPECIFICACIONES DE
SALIDA
 ¿Cuántos y cuáles son los datos que se
producirán (datos de salida)?
 Promedio encuestados menores de 18
solteros
 Promedio encuestados mayores de 18 y
menores de 55, solteros
 …
 Promedio encuestados
TIPOS DE ESTRUCTURAS DE
CONTROL DE FLUJO DE DATOS
 Secuenciales
 Operaciones aritméticas: restas,
multiplicaciones…
 Condicionales
 Verificación de datos de entrada
 Alternativas para el usuario
 Repetitivas
 Todas las instrucciones se repiten por cada
encuestado. Un estructura de control
repetitiva engloba todo el proceso de
encuesta.
CASOS DE ESTUDIO N°3. NOTAS DE UN CURSO.
FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO
EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.
 Administrar las calificaciones de los alumnos
de un curso, en el cual hay doce estudiantes,
de cada uno de los cuales se tiene la nota
definitiva que obtuvo (un valor entre 0,0 y
5,0).
 Se quiere algoritmo que permita cambiar la
nota de un estudiante, calcular el promedio
del curso y establecer el número de
estudiantes que está por encima de dicho
promedio.
CASOS DE ESTUDIO N°4. UNA ALCANCÍA.
FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO
EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.
 Se quiere construir un algoritmo para
manejar una alcancía. En la alcancía es
posible guardar monedas de distintas
denominaciones: $50, $100, $200 y $500. No
se guardan billetes o monedas de otros
valores.
 En general el usuario puede agregar una
moneda de una de las denominaciones que
se manejan, informar cuántas monedas tiene
de cada denominación, calcular el total de
dinero ahorrado y romper la alcancía, es
decir, vaciar su contenido.

Más contenido relacionado

PPSX
Expresiones logicas
PPT
Fundamentos De Algoritmia
PPTX
Expresiones aritmetica
PPTX
Maria reyes
PPTX
5. estructuras de programación
PPTX
Jhohan ruiz
DOCX
Expresiones algorítmicas
PPTX
Unmsm04 2008
Expresiones logicas
Fundamentos De Algoritmia
Expresiones aritmetica
Maria reyes
5. estructuras de programación
Jhohan ruiz
Expresiones algorítmicas
Unmsm04 2008

La actualidad más candente (20)

PPTX
Operadores de c_..
PPTX
OPERADORES PARA C++
ODP
Informatica
PDF
Curso calc tema_3
PPSX
Estructura selectiva
PPT
Fpr Tema 3 www.fresymetal.com
DOCX
Calculo
DOCX
Aaamarilis trabajo
PPTX
5 Expresiones
DOCX
Alguas ideas de estructura de datos
PPTX
Matematica
PDF
Quasi - Lenguaje C Operadores
PPTX
Act. Individual.- Pseudocódigos y diagramas de flujo
PDF
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
DOCX
PDF
Análisis del Error
DOCX
Analisis numerico pag web
PPT
Contenidos matematica 3°2°
PDF
Guía de aplicación por fracciones parciales
Operadores de c_..
OPERADORES PARA C++
Informatica
Curso calc tema_3
Estructura selectiva
Fpr Tema 3 www.fresymetal.com
Calculo
Aaamarilis trabajo
5 Expresiones
Alguas ideas de estructura de datos
Matematica
Quasi - Lenguaje C Operadores
Act. Individual.- Pseudocódigos y diagramas de flujo
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Análisis del Error
Analisis numerico pag web
Contenidos matematica 3°2°
Guía de aplicación por fracciones parciales
Publicidad

Destacado (7)

PPTX
Tutorial algoritmo expresiones
PPTX
Las industrias y el deteriorio ambiental
PPTX
Tutorial de instalación visual basic 6
PPT
Metodologia de la Programción
PPTX
Programcion basica
PPTX
Conceptos básicos y metodología de la programación
DOCX
Algoritmo variables, constantes, tipos de datos y asignacion
Tutorial algoritmo expresiones
Las industrias y el deteriorio ambiental
Tutorial de instalación visual basic 6
Metodologia de la Programción
Programcion basica
Conceptos básicos y metodología de la programación
Algoritmo variables, constantes, tipos de datos y asignacion
Publicidad

Similar a Fundamentos programcion unidad_i (20)

PDF
3.3.- Operadores y Expresiones
PDF
Unidad Iv Algoritmos
DOC
Operadores expresiones
PPTX
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
PDF
Material de apoyo unidad 3. datos y entidades primitivas
PDF
Clase de datos variables constantes
PDF
Unidad II Datos y Entidades Primitivas - Expresiones
PPTX
Estructurcialsadsdndnsndsnjdnsjnsdjnd.pptx
PPT
Entidades Primitivas Para Algoritmos
PPTX
Introducción a los algoritmos
PDF
Algoritmica
PPT
Fundamentos-de-Algoritmos.ppt
PDF
INTRODUCCIÓN ADSI - PARTE 2
DOCX
Algoritmos
DOC
Algoritmos
PPT
algoritmos3.ppt
PPTX
1390230107 194 _operadores
PPTX
Grupo 03
3.3.- Operadores y Expresiones
Unidad Iv Algoritmos
Operadores expresiones
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
Material de apoyo unidad 3. datos y entidades primitivas
Clase de datos variables constantes
Unidad II Datos y Entidades Primitivas - Expresiones
Estructurcialsadsdndnsndsnjdnsjnsdjnd.pptx
Entidades Primitivas Para Algoritmos
Introducción a los algoritmos
Algoritmica
Fundamentos-de-Algoritmos.ppt
INTRODUCCIÓN ADSI - PARTE 2
Algoritmos
Algoritmos
algoritmos3.ppt
1390230107 194 _operadores
Grupo 03

Más de Nany Hernandez (20)

PPT
MATERIALES PARA EL CONOCIMIENTO DEL MUNDO NATURAL Y SOCIAL
PPTX
Unimag,¡ahora una voz distinta!
DOCX
Fichas autores de Software para la Educación
PPTX
Decreto n° 1290
PDF
Ingreso a la pagina principal de moodle
DOCX
Educación Colombia siglos XIX - XX y XXI
DOCX
Políticas educativas Colombia siglo XIX, XX y XXI
PPTX
Fundamentos epistemológico
PPTX
La atención- Psicología
DOCX
Educación multiculturalidad Colombia
PDF
Investigación Plan educativo de la secretaria distrital 2014
PDF
PONENCIA S.O.S protestan los valores
PPTX
Educación bancaria2
DOCX
EFIGIE DEL EDUCANDO UNIMAGDALENA
DOCX
Psicología Educativa -documento-
DOCX
Pedagogía del oprimido
DOCX
Análisis párrafos de primer capitulo SUPERFICIALES NICHOLAS CARR
PPTX
Psicologia Educativa
DOCX
Políticas educativas de los siglos XIX, XX y XXI
DOCX
Banco de preguntas Vida Universitaria
MATERIALES PARA EL CONOCIMIENTO DEL MUNDO NATURAL Y SOCIAL
Unimag,¡ahora una voz distinta!
Fichas autores de Software para la Educación
Decreto n° 1290
Ingreso a la pagina principal de moodle
Educación Colombia siglos XIX - XX y XXI
Políticas educativas Colombia siglo XIX, XX y XXI
Fundamentos epistemológico
La atención- Psicología
Educación multiculturalidad Colombia
Investigación Plan educativo de la secretaria distrital 2014
PONENCIA S.O.S protestan los valores
Educación bancaria2
EFIGIE DEL EDUCANDO UNIMAGDALENA
Psicología Educativa -documento-
Pedagogía del oprimido
Análisis párrafos de primer capitulo SUPERFICIALES NICHOLAS CARR
Psicologia Educativa
Políticas educativas de los siglos XIX, XX y XXI
Banco de preguntas Vida Universitaria

Último (20)

DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Metodologías Activas con herramientas IAG
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
2 GRADO UNIDAD 5 - 2025.docx para primaria
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Metodologías Activas con herramientas IAG
Tarea De El Colegio Coding For Kids 1 y 2
caso clínico iam clinica y semiología l3.pptx
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Escuela Sabática 6. A través del Mar Rojo.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
Fundamentos_Educacion_a_Distancia_ABC.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas

Fundamentos programcion unidad_i

  • 1. UNIVERSIDAD DEL MAGDALENA FACULTAD CIENCIAS DE LA EDUCACIÓN PROGRAMA DE LICENCIATURA EN EDUCACIÓN BÁSICA CON ÉNFASIS EN INFORMÁTICA Fundamentos de Programación
  • 2. Conceptos básicos  Conceptos básicos sobre lógica de programación.  Tipos de expresiones  Aritméticas  Relacionales  Lógicas  Tablas de verdad: Conjunción, Disyunción, Negación.
  • 3. DEFINICIONES  Expresiones: Es una combinación de variables, constantes, operadores y referencias que expresan cálculos aritméticos y/o lógicos a ser realizados. En su forma más simple una expresión esta constituida por una variable o constante.  Constantes: Una constante es un valor invariante que puede ser referenciado en el algoritmo por el valor mismo o un nombre. Se pueden declarar constantes de cualquier tipo simple de dato.
  • 4. DEFINICIONES (CONT.)  Variables: Una variable es un nombre compuesto por letras y números (el primer carácter ha de ser una letra) con el que se designan un almacén de valores, puede variar a lo largo del algoritmo. Se pueden definir variables de cualquier tipo de dato simple o compuesto.  Operadores: Se llaman operadores a todos aquellos símbolos que realizan una operación determinada del argumento antecedente con el consecuente.
  • 5. CARACTERÍSTICAS DE LOS ALGORITMOS  Preciso  Indicar el orden de realización de cada paso.  El orden de realización de las operaciones debe estar dado en una forma clara.  No debe existir ambigüedad en el mismo.  Todos los posibles caminos de solución deben aparecer recogidos en el algoritmo.
  • 6. CARACTERÍSTICAS DE LOS ALGORITMOS (CONT.)  Deterministico  Si se sigue el algoritmo dos o más veces sobre los mismos datos de entrada se debe obtener el mismo resultado cada vez.  Finito  Debe tener un número finito de pasos.  El algoritmo debe terminar en un momento determinado después de ejecutar un número finito de pasos.
  • 7. CARACTERÍSTICAS DE LOS ALGORITMOS (CONT. 2)  Elemental  La secuencia de las operaciones debe ser detallada.  Los pasos deben estar indicados como instrucciones sencillas, de ser posible representables en el lenguaje de programación a utilizar después.  General  Debe encontrar la solución para las diferentes instancias del problema que resuelve, no debe estar sujeto a unos parámetros de entrada específicos.
  • 8. TABLA DE VERDAD NEGACIÓN Q Negación (!) V F F V  Del lado izquierdo se encuentran los casos posibles y del lado derecho el resultado de aplicar negación al valor de la izquierda.  Para una variable existen 21 casos posibles.
  • 9. TABLA DE VERDAD CONJUNCIÓN Q P & V V V V F F F V F F F F  En la conjunción se requiere que ambas preposiciones sean verdaderas para que el resultado sea verdadero.  Para dos variables existen 22 casos posibles.
  • 10. TABLA DE VERDAD DISYUNCIÓN Q P || V V V V F V F V V F F F  En la disyunción se requiere que ambas preposiciones sean falsas para que el resultado sea falso.
  • 11. CONSTRUCCIÓN DE TABLAS DE VERDAD. CASOS POSIBLES  En general para n variables existen 2n casos posibles.  Las repeticiones de los valores en cada columna es 2n-1 , 2n-2 … 2o  Ej. Para 3 variables.  Los casos posibles son :  23 = 8  Las repeticiones de los valores en cada columna es:  23-1 , 23-2 … 23-3 , es decir: 22 , 21 … 20, es decir: 4, 2 y 1.
  • 12. EJERCICIOS CON TABLAS DE VERDAD  Construya la tabla de verdad de las siguientes expresiones lógicas:  P || Q || R & Z  P! & Q || R ! || Z  P & Q! || R  (R || Q & Z)!  P ! || Q & R! || Z
  • 13. TIPOS DE EXPRESIONES  Expresiones aritméticas: Son expresiones de resultado numérico. Los valores posibles como resultado de las expresiones aritméticas pertenecen a los tipos de datos entero o real.  Ej.: Expresiones aritméticas  a/b a dividido entre b  a * b a multiplicado por b  a – b a menos b  a + b a sumado a b
  • 14. PRECEDENCIA ENTRE OPERADORES ARITMÉTICOS  Los operadores siguen un orden de precedencia a la hora de evaluar las expresiones, ordenados en orden de mayor a menor prioridad los operadores aritméticos son: Potenciación División y multiplicación Suma y resta.  Esto quiere decir que aunque las expresiones son leídas de izquierda a derecha se realizan primero las operaciones aritméticas de potenciación, después las de división y multiplicación y finalmente las sumas y restas.
  • 15. EJERCICIOS. PRECEDENCIA ENTRE OPERADORES ARITMÉTICOS  Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el resultado de valuar la siguiente expresión aritmética?  a * b ^ c  40  a + b * c  11
  • 16. TIPOS DE EXPRESIONES  Expresiones lógicas: Son expresiones que tienen por resultado dos valores posibles: Verdadero o Falso.  Los operadores en una expresión lógica pueden ser de dos tipos:  Operadores relacionales  Operadores lógicos
  • 17. OPERADORES RELACIONALES  Operan sobre expresiones de diferentes tipos (numéricos, alfanuméricos, lógicos) y retornan un valor del tipo lógico:  Operador Operación que denota  < Menor que  > Mayor que  <= Menor o igual que  >= Mayor o igual que  == Igualdad  != Desigualdad
  • 18. PRECEDENCIA ENTRE OPERADORES RELACIONALES  Al igual que los operadores aritméticos para cambiar el orden de evaluación se utilizan los paréntesis y la evaluación de las expresiones con operadores de igual prioridad se realiza de izquierda a derecha.  Ordenados en orden de mayor a menor la prioridad los operadores relacionales es: <, >, <=, >= ==, !=
  • 19. EJERCICIOS. PRECEDENCIA ENTRE OPERADORES RELACIONALES  Los operadores relacionales tienen un nivel de precedencia menor que los operadores aritméticos.  Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el resultado de valuar la siguiente expresión relacional?  a > b +c  Falso  a == b + c  Verdadero
  • 20. OPERADORES LÓGICOS  Estos operadores se basan en la aritmética del lenguaje binario, en el que existen sólo dos valores, 0 ó 1, Falso o Verdadero. Operan sólo sobre operandos lógicos.  Operador Operación que denota  ! NOT  & AND  || OR
  • 21. PRECEDENCIA ENTRE OPERADORES LÓGICOS  De mayor a menor la precedencia de los operadores lógicos es: ! & ||  Los operadores lógicos, al igual que los relacionales tienen un nivel de precedencia menor que los operadores aritméticos.
  • 22. EJERCICIOS. PRECEDENCIA ENTRE OPERADORES LÓGICOS  Ej.: Para valores a = 5, b = 2, c = 3, ¿Cuál es el resultado de valuar la siguiente expresión lógica?  a > b +c & (a==b)  a > (b + c) & (a==b)  Falso  a == b + c || (a < b)  a == (b + c) || (a < b)  Verdadero
  • 23. EJERCICIOS DE PRECEDENCIA DE OPERADORES ARITMÉTICOS  Para valores a = 2, b = 2, c = 7, ¿Cuál es el resultado de valuar las siguientes expresiones?  a + b * c  a / c + b  a ^ b / c  a * b / c  a + b - c  a * b ^ c
  • 24. EXPRESIONES ALGEBRAICAS Y EXPRESIONES ALGORITMICAS  Ecuación cuadrática:  Para que el computador la evalúe tal como nosotros lo haríamos debemos recordar la precedencia de los operadores y utilizar los paréntesis para dar prioridad cuando sea necesario.
  • 25. EXPRESIONES ALGEBRAICAS Y EXPRESIONES ALGORITMICAS (CONT).  Ecuación cuadrática:  X = (-1)*b + sqrt(b ^ 2 – 4* a * c) / 2 * a  ¿Cuáles son las operaciones que puede que no se realicen en el orden que deseamos?  X = (-1)*b + sqrt((b ^ 2 – (4* a * c)) /( 2 * a)
  • 26. REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS  En general todo lo que decimos podemos representarlo a través de variables, constantes y operadores, es decir, a través de expresiones algorítmicas.  Representar hechos a través de expresiones algorítmicas es el primer paso para desarrollar el pensamiento algorítmico.
  • 27. EJEMPLOS. REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS  Mis gastos semanales vienen dados por el total de almuerzos y cenas que consumo en la universidad y los pasajes de ida y vuelta de lunes a viernes.  Primero definir las variables.  GastosSemanales  TotalAlmuerzos  TotalCenas  TotalPasajes
  • 28. EJEMPLOS. REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS (CONT.)  Segundo escribir la expresión algebraica (general)  GatosSemanales = TotalAlmuerzos + TotalCenas + TotalPasajes  Tercero escribir las expresiones algebraicas parciales.  TotalAlmuerzos = CostoAlmuerzo * CantidadDiasClase  TotalAlmuerzos = CostoAlmuerzoLun + CostoAlmuerzoMar + … + CostoAlmuerzoVier.
  • 29. EJEMPLOS. REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS (CONT. 2)  ¿Cuáles serian las expresiones algebraicas para TotalCenas?  TotalCenas = CostoCena * CantidadDiasClase  TotalCenas = CostoCenaLun + CostoCenaMar + … + CostoCenaVier.
  • 30. EJEMPLOS. REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS (CONT. 3)  ¿Cuáles serian las expresiones algebraicas para TotalPasajes?  TotalPasajes = CostoPasajes * CantidadDiasClase * 2  TotalPasajes = TotalPasajesIda + TotalPasajesVuelta  TotalPasajesIda = CosPasIdaLun + CosPasIdaMar + … + CosPasIdaVier  TotalPasajesVuelta = CosPasVuelLun + CosPasVuelMar + … + CosPasVuelVier
  • 31. PASOS PARA LA REPRESENTACIÓN DE HECHOS A TRAVÉS DE EXPRESIONES ALGORÍTMICAS  Definir las variables.  Escribir la expresión algebraica general.  Escribir las expresiones algebraicas parciales.  En el caso de presentarse conflicto para la evaluación de la expresión algebraica (en estricto orden de izquierda a derecha) por el computador, (debido a la precedencia de operadores) , se tiene un cuarto paso que consiste en convertir la expresión algebraica en una expresión algorítmica.
  • 32. EJERCICIOS  El bono de un vendedor es su salario base más una comisión que representa el 5% de la sumatoria de la cantidad de productos vendidos.  Definir las variables.  BonoVendedor  SalarioBase  Comision
  • 33. EJERCICIOS (CONT. 2)  El bono de un vendedor es su salario base más una comisión que representa el 5% de la sumatoria de la cantidad de productos vendidos.  Escribir la expresión algebraica general.  BonoVendedor = SalarioBase + Comision
  • 34. EJERCICIOS (CONT. 2)  El bono de un vendedor es su salario base más una comisión que representa el 5% de la sumatoria de los costos de los productos vendidos.  Escribir las expresiones algebraicas parciales.  Comision = SumaCostoProductos*0,05  SumaCostoProductos = CostoProd1 + CostoProd2 + … + CostoProdN
  • 35. RESOLUCIÓN DE PROBLEMAS  El programador de computadoras es ante que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático.  A la metodología necesaria para resolver problemas mediante el uso del computador se le denomina Metodología de la Programación.  El eje central de la Metodología de la Programación es el algoritmo.
  • 36. CASOS DE ESTUDIO N°1. UN EMPLEADO FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.  Administrar la información de un empleado.  El empleado tiene nombre, apellido, género, fecha de nacimiento, fecha de ingreso y salario básico. Desde el programa se debe poder cambiar el salario del empleado y calcular su edad, antigüedad en la empresa y cesantías.
  • 37. PASOS PARA LA RESOLUCIÓN DE PROBLEMAS MEDIANTE EL USO DEL COMPUTADOR
  • 38. 1. ANÁLISIS DEL PROBLEMA (E-P-S)  Se identifica la naturaleza del problema y se analiza la forma de resolverlo.  Si es necesario se recurre a la bibliografía en busca de métodos para solucionarlo.  En este paso se describen los datos de entrada, el proceso y los resultados o salida.
  • 39. ANÁLISIS DEL PROBLEMA EJEMPLO  ¿Comprendemos totalmente de que trata el problema?  ¿Manualmente se cómo obtener todo lo solicitado?  En caso que alguna respuesta sea negativa se debe recurrir a la bibliografía / buscar información.  Cesantías.  El trabajador tiene derecho a que se le pague un salario mensual por cada año de trabajo o proporcionalmente a la fracción de año trabajado.  http://www.gerencie.com/prestaciones-sociales.html
  • 40. ESPECIFICACIONES DE ENTRADA  Información necesaria para la solución del problema.  Se debe responder a las siguientes preguntas:  ¿Cuántos y cuáles son los datos de entrada?  ¿Cuándo los datos de entrada son válidos?  Bajo qué condiciones va a ser resuelto el problema.
  • 41. ESPECIFICACIONES DE ENTRADA EJEMPLO  ¿Cuántos y cuáles son los datos de entrada?  Son 7.  Nombre, apellido, género, fecha de nacimiento, fecha de ingreso , salario básico.  Fecha actual.  ¿Cuándo los datos de entrada son válidos?  Género (F o M).  Fechas (Día entre 1 y 31, Mes entre 1 y 12, Año > 1900).  Bajo qué condiciones va a ser resuelto el problema.  No se verifica si el mes posee menos de 31 días.
  • 42. ESPECIFICACIONES DE PROCESOS  Verificar que se tiene el conocimiento adecuado de los procedimientos matemáticos y/o lógicos necesarios para alcanzar la solución del problema desde un punto de vista teórico.  De ser necesario, se recurrirá a la bibliografía adecuada para ubicar la información requerida para tener capacidad de solución, a nivel teórico, del problema.
  • 43. ESPECIFICACIONES DE PROCESOS CONT.  Determinar las operaciones o cálculos necesarios para encontrar la solución del problema.  Se debe responder a las siguientes preguntas:  ¿Cuáles operaciones se emplearan?  ¿Cuántos requerimientos?  Variables requeridas
  • 44. ESPECIFICACIONES DE PROCESOS EJEMPLO  ¿Cuáles operaciones se emplearán?  Restas y Multiplicaciones  ¿Cuántos requerimientos?  3  Variables requeridas  DifAnyoNacimiento-Actual, Mes, Día  DifAnyoIngreso-Actual, Mes, Día
  • 45. ESPECIFICACIONES DE SALIDA  Resultados finales de los cálculos solicitados.  ¿Cuántos y cuáles son los datos que se producirán (datos de salida)?  Cambiar el salario del empleado – Salario Actual.  Calcular su edad actual – Edad del empleado.  Calcular antigüedad en la empresa – Tiempo de servicio.  Calcular cesantías. Monto a recibir por retiro de la organización.
  • 46. 2. DISEÑO DEL ALGORITMO  Una vez especificado los datos de entrada y los resultados, se procederá al diseño del algoritmo.  Esto conlleva a un análisis lógico de las operaciones que deben ejecutarse para alcanzar la solución del problema.  Se debe describir la secuencia ordenada de pasos que conducen a la solución del problema planteado.  El algoritmo debe cumplir con las características mencionadas (Diapositivas 4-6).
  • 47. 3. REPRESENTACIÓN DEL ALGORITMO Pseudocódigo Diagrama de Flujo  El algoritmo debe ser expresado a través de una técnica de representación de algoritmos.
  • 48. 4. PRUEBA DEL ALGORITMO  En esta fase se corrigen errores de lógica, que conducen a la obtención de resultados no esperados.  El programador elige un conjunto de datos de entrada y ejecuta manualmente cada sentencia del algoritmo y verifica que los resultados obtenidos sean los esperados.  Este proceso debe ser llevado a cabo con conjuntos de datos que permitan ejecutar todos los caminos posibles del programa.
  • 49. 5. CODIFICACIÓN  En esta fase, se traduce el pseudocódigo o diagrama de flujo a un lenguaje de programación especifico.  Se define las variables a utilizar y se codifica todo el procedimiento.  Las instrucciones expresadas en el algoritmo se traducen a instrucciones en algún lenguaje programación para obtener el programa fuente.
  • 50. 6. PRUEBA Y DEPURACIÓN DEL PROGRAMA  Una vez escrito el programa fuente, se procede a su compilación.  El compilador toma el código escrito en el lenguaje empleado y lo traduce a código máquina (que es como lo entiende el computador). En esta fase se ponen de manifiesto los errores sintácticos y de programación que se puedan haber cometido.  Se deben corregir todos los errores y avisos del compilador, una vez hecho esto el compilador devuelve un archivo objeto y uno ejecutable.  Después de la ejecución del programa se hace la verificación de que los resultados obtenidos se correspondan con los esperados.
  • 51. 6. PRUEBA Y DEPURACIÓN DEL PROGRAMA  Una vez escrito el programa fuente, se procede a su compilación.  El compilador toma el código escrito en el lenguaje empleado y lo traduce a código máquina (que es como lo entiende el computador). En esta fase se ponen de manifiesto los errores sintácticos y de programación que se puedan haber cometido.  Se deben corregir todos los errores y avisos del compilador, una vez hecho esto el compilador devuelve un archivo objeto y uno ejecutable.  Después de la ejecución del programa se hace la verificación de que los resultados obtenidos se correspondan con los esperados.
  • 52. TIPOS DE ESTRUCTURAS DE CONTROL DE FLUJO DE DATOS  Secuenciales  Permite indicar la ejecución incondicional de varias acciones de forma secuencial.  Condicionales  Son aquellas que permiten variar el orden de ejecución del programa según se verifiquen o no ciertas condiciones.  Repetitivas  Son las que permiten la repetición de secuencias de sentencias un número determinado de veces.
  • 53. TIPOS DE ESTRUCTURAS DE CONTROL DE FLUJO DE DATOS EJEMPLO  Secuenciales  Operaciones aritméticas: restas, multiplicaciones…  Condicionales  Verificación de datos de entrada  Alternativas para el usuario  Repetitivas  Después de ingresados los datos de entrada, se puede realizar un solo cálculo. No hay estructuras repetitivas.
  • 54. CASOS DE ESTUDIO N°2. RESULTADOS DE UNA ENCUESTA FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.  Manejar los resultados de una encuesta de opinión.  En la encuesta se dividen a las personas en 3 rangos de edad menores de 18, entre 18 y 55 y mayores de 55 años. La encuesta tiene una única pregunta: Calidad de un curso entre 0 y 10. El encuestado debe informar si es soltero o casado.  El programa debe informar el valor total de la encuesta, promediar todas las notas y mostrarlas por pantalla. También debe ser capaz de presentar resultados según rango de edad y estado civil. El programa presenta por pantalla el promedio de las calificaciones del curso , dadas por las personas que cumplen con el perfil pedido.  Se puede suponer que al momento de calcular los resultados hay por lo menos una persona de cada perfil.
  • 55. ANÁLISIS DEL PROBLEMA EJEMPLO  ¿Comprendemos totalmente de que trata el problema?  ¿Manualmente se cómo obtener todo lo solicitado?  En caso que alguna respuesta sea negativa se debe recurrir a la bibliografía / buscar información.
  • 56. ESPECIFICACIONES DE ENTRADA EJEMPLO  ¿Cuántos y cuáles son los datos de entrada?  Son 3.  Edad del encuestado  Puntuación con que se evalúa al curso  Estado civil del encuestado  ¿Cuándo los datos de entrada son válidos?  Edad (>1 y < 100)  Estado Civil (S o C).  Puntuación (entre 0 y 10)  Bajo qué condiciones va a ser resuelto el problema.  Para obtener los resultados se va suponer que existe información para poder obtenerlos.
  • 57. ESPECIFICACIONES DE PROCESOS EJEMPLO  ¿Cuáles operaciones se emplearán?  Sumas, Multiplicaciones y Divisiones  ¿Cuántos requerimientos?  7  Variables requeridas  TotalEnc18C, TotalEnc18S, TotalEnc18-55C, TotalEnc18-55S…  AcumPunt18C, AcumPunt18S, AcumPunt18-55C, AcumPunt18-55S…
  • 58. ESPECIFICACIONES DE SALIDA  ¿Cuántos y cuáles son los datos que se producirán (datos de salida)?  Promedio encuestados menores de 18 solteros  Promedio encuestados mayores de 18 y menores de 55, solteros  …  Promedio encuestados
  • 59. TIPOS DE ESTRUCTURAS DE CONTROL DE FLUJO DE DATOS  Secuenciales  Operaciones aritméticas: restas, multiplicaciones…  Condicionales  Verificación de datos de entrada  Alternativas para el usuario  Repetitivas  Todas las instrucciones se repiten por cada encuestado. Un estructura de control repetitiva engloba todo el proceso de encuesta.
  • 60. CASOS DE ESTUDIO N°3. NOTAS DE UN CURSO. FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.  Administrar las calificaciones de los alumnos de un curso, en el cual hay doce estudiantes, de cada uno de los cuales se tiene la nota definitiva que obtuvo (un valor entre 0,0 y 5,0).  Se quiere algoritmo que permita cambiar la nota de un estudiante, calcular el promedio del curso y establecer el número de estudiantes que está por encima de dicho promedio.
  • 61. CASOS DE ESTUDIO N°4. UNA ALCANCÍA. FUNDAMENTOS DE PROGRAMACIÓN. APRENDIZAJE ACTIVO BASADO EN CASOS. 2006. VILLALOBOS, J. CASALLAS, G.  Se quiere construir un algoritmo para manejar una alcancía. En la alcancía es posible guardar monedas de distintas denominaciones: $50, $100, $200 y $500. No se guardan billetes o monedas de otros valores.  En general el usuario puede agregar una moneda de una de las denominaciones que se manejan, informar cuántas monedas tiene de cada denominación, calcular el total de dinero ahorrado y romper la alcancía, es decir, vaciar su contenido.