3. Modelaje y solución de problemas
Es la capacidad de abstraer la información de la
realidad relevante para un problema, de expresar
dicha realidad en términos de algún lenguaje y
proponer una solución en términos de
modificaciones de dicha abstracción.
Se denomina “análisis” al proceso de crear dicha
abstracción a partir de la realidad, y
“especificación del problema” al resultado de
expresar el problema en términos de dicha
abstracción.
4. Algorítmica
Es la capacidad de utilizar un conjunto de
instrucciones para expresar las
modificaciones que se deben hacer sobre la
abstracción de la realidad, para llegar a un
punto en el cual el problema se considere
resuelto. Se denomina “diseño de un
algoritmo” al proceso de construcción de
dicho conjunto de instrucciones
10. Operador Operación Ejemplo Resultado
= Igual que ‘hola’=‘lola’ Falso
<> Diferente a ‘a’ <> ‘b’ Verdadero
< Menor que 8 < 29 Verdadero
> Mayor que 45 > 27 Verdadero
< = Menor o Igual que 14 <= 22 Verdadero
> = Mayor o Igual que 33 >= 12 Verdadero
12. Operador Jerarquía Ejemplo Resultado
No (mayor)
(menor)
No P
~ P
NO P
No es cierto que P
Es FALSO que P
Y P y Q P^Q
P sin embargo Q
O P o Q P o Q
o P o Q o ambas
13. P Q ~ P ~ Q P o Q P y Q
Verdadero Verdadero Falso Falso Verdadero Verdadero
Verdadero Falso Falso Verdadero Verdadero Falso
Falso Verdadero Verdadero Falso Verdadero Falso
Falso Falso Verdadero Verdadero Falso Falso
15. ~(5¨3/10-4 <= 7+24 · 3DIV3) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(5¨3/10-4 <= 7+24 · 3DIV3) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(125/10-4 <= 7+24 · 3DIV3) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(12,5 -4 <= 7+24 · 3DIV3) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~( 12,5 -4 <= 7+72DIV3) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(12,5-4 <= 7+24) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(8,5 <= 7+24) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~(8,5 <= 31) AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~ VERDADERO AND ~(8-20 · 4/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~ V AND ~(8-80/5 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~ V AND ~(8-16 > 56) OR (48MOD5/3 · 149 = 34+120-5)
~ V AND ~ (-8 > 56) OR (48MOD5/3 · 149 = 34+120-5)
16. ~ V AND ~FALSO OR (48MOD5/3 · 149 = 34+120-5)
~ V AND ~F OR ( 3/3 · 149 = 34+120-5)
~ V AND ~F OR ( 1 · 149 = 34+120-5)
~ V AND ~F OR ( 149 = 34+120 -5)
~ V AND ~F OR ( 149 = 154-5)
~ V AND ~F OR VERDADERO
F AND ~F OR V
F AND V OR V
F OR V
V
17. Utilizar la coma (,) para indicar los decimales y el punto (.)
para la multiplicación
Resolver los puntos paso a paso
Los paréntesis se resuelven de adentro hacia afuera
Los paréntesis tienen la mayor gerarquía, por lo tanto se
resuelven primero
Cada parentesis divide el ejercicio en partes
Los ejercicios se resuleven de izquierda a derecho
No confundir división con división entera
La respuesta o solución de una operación relacional es un
valor lógico FALSO o VERDADERO
VERDADERO siempre es mayor que FALSO
No se puede realizar una comparación entre un valor lógico
y un valor numérico, utilizando un operador relacional
18. Simple Estructurado
Datos Simples
• Entero (integer)
• Real (real)
• Carácter (char)
• Lógico (boolean)
Datos Estructurados
dinámicos
estáticos
• Lista (pila/cola)
• Lista enlazada
• árbol
• grafo
• Arreglo(array)
• Registro
• Archivo (fichero)
• Conjunto
• Cadena (string)
20. Llamaremos identificador al nombre que se les da a las casillas de
memoria
Reglas Para Contruir Identificadores
El primer caracter que forma un
identificador debe ser una letra (a,
b, c, z).
Los demás caracteres pueden ser
letras (a,b,c,...,z), dígitos
(0,1,2,...,9) o el siguiente símbolo
especial: _
La longitud del identificador es
igual a 7 en la mayoría de los
lenguajes de programación.
21. Constantes
Las constantes son datos que no
cambian durante la ejecución de un
programa
Variables
Las variables son objetos que pueden
cambiar su valor durante la ejecución de
un programa
22. Asigna valores o expresiones a una variable.
Operación destructiva
Variable expresión o valor
La expresión puede ser aritmética o lógica, o
una constante o variable.
Contendor Contenido
Variable = Dato
23. Ejemplo
Supongamos que las variables i, ACUM y J son de tipo
entero, REA y SUM de tipo real, CAR de tipo caracter y
BAND de tipo booleano. Consideremos también que
tenemos que realizar las siguientes asignaciones
1. i =0
2. i = i + 1
3. ACUM = 0
4. J =5 ¨ 2 DIV 3
5. CAR = ‘a'
6. ACUM = J DIV i
7. REA = ACUM/3
8. BAND = (8 > 5) AND (15 <2 ¨ 3)
9. SUM = ACUM . 5 / J ¨ 2
10. i = i . 3
11. REA = REA/5
12. BAND = BAND OR (i = J)
13. i = REA
14. CAR = J
24. Número de
Asignación
i J ACUM REA SUM CAR BAND
1 0
2 1
3 0
4 8
5 ‘a’
6 8
7 2,66
8 FALSO
9 0,625
10 3
11 0,532
12 FALSO
13 ERROR
14 ERROR
25. Conjunto de pasos, procedimientos o
acciones que nos permiten alcanzar un
resultado o resolver un problema
26. Etapas para la solución de un problema
Problema
Análisis profundo
del problema
Construcción del
Algoritmo
Verificación del
Algoritmo
27. Características:
Precisión: Los pasos a seguir en el algoritmo
deben ser precisados claramente
Determinismo: El algoritmo, dado un conjunto
de datos idénticos de entrada, siempre debe
arrojar los mismos resultados
Finitud: El algoritmo, independientemente de
la complejidad del mismo, siempre debe ser de
longitud finita
28. Módulos o secciones de un algoritmo:
Entrada
de Datos
Procesamiento
de datos
Impresión de
resultados
Algoritmo
29. Qué es pseudocódigo?
Para qué sirve y cómo se usa el
pseudocódigo?
Ejemplo de pseudocódigo
Qué son los diagramas de flujo?
Para qué sirve y cómo se usan los diagramas
de flujo?
Ejemplo de un diagrama de flujo
30. Representación del Símbolo Explicación del Símbolo
Marca el inicio o fin del diagrama
Símbolo utilizado para Introducir
los datos de entrada. Expresa
lectura
Símbolo utilizado para
representar un proceso.
No
Si
Símbolo utilizado para
representar una decisión
Símbolo utilizado para
representar una decisión múltiple
31. Representación del Símbolo Explicación del Símbolo
5ímbolo utilizado para
representar la Impresión de un
resultado. Expresa escritura
Símbolos utilizados para expresar
la dirección del flujo del diagrama
Símbolo utilizado para expresar
conexión dentro de una misma
página
Símbolo utilizado para expresar
conexión entre páginas diferentes
Símbolo utilizado para expresar
un módulo de un problema
33. Inicio
Fin
Reglas
3. Todas las líneas
deben estar
conectadas
4. El diagrama debe ir
de arriba hacia abajo,
de izquierda a derecha
5. La notación
utilizada en el
diagrama de flujo
debe ser
independiente del
lenguaje de
programación
1. Todo diagrama de
flujo debe tener un
inicio y un fin
2. Las líneas
deben ser rectas,
verticales y
horizontales
34. Reglas
6. Es conveniente
cuando realizamos una
tarea compleja poner
comentarios
que expresen o ayuden a
entender lo que hicimos
7. Si el diagrama de flujo
requiriera más de una
hoja para su
construcción, debe
mos utilizar los
conectores adecuados y
enumerar las páginas
conveniente
mente.
8. No puede llegar más de una línea
a un símbolo
35. Conjunto de instrucciones que sigue la computadora para
alcanzar un resultado específico
Un lenguaje de
programación, por otra
parte, está constituido por
un conjunto de reglas
sintácticas y semánticas,
que hacen posible escribir
un programa.
36. Determinar las entradas y salidas
Reconocer o determinar cada uno de los pasos
para el desarrollo del algoritmo
Al solicitar un dato, siempre se “Imprime o
escribe primero la pregunta” y luego se solicita
Se debe pensar en términos de que quién
realiza las preguntas es la máquina no el
programador
https://www.youtube.com/watch?v=X5Wkp1gsNik
37. La mejor forma de aprender, no es compilando por cada
línea, deben de imaginar el flujo de la ejecución del
programa mientras lo realizas
La programación es una forma estructurada de expresar
pensamientos
Es muy importante no ignorar los errores
Reconocer el significado de las palabras en inglés que se
manejan
38. Una instrucción sigue a la otra en secuencia
Inicio
Acción 1
Acción 2
Acción 3
:
:
Acción N
Fin
Inicio
Fin
Acción 1
Acción 2
Acción N
39. Ejemplo: Escriba el pseudocódigo y diagrama de flujo para un
algoritmo que sume dos números enteros
Inicio
Int num1, num2, sum
Escribir “Diga dos números enteros”
Leer num1, num2
sum = num1 + num2
Escribir “La suma es: ”, sum
Fin
Inicio
Int num1, num2, sum
“Diga dos
números enteros”
Fin
num1, num2
sum = num1 + num2
“La suma es: ”, sum
40. Se utilizan en el desarrollo de la solución de un problema debemos
tomar una decisión, para establecer un proceso o señalar un camino
alternativo a seguir.
Estructura selectiva simple
SI ENTONCES
Estructura selectiva doble
SI ENTONCES / SINO
Estructura selectiva múltiple
SI MULTIPLE
Estructura selectiva anidada (cascada)
41. condición
operación
Donde:
CONDICION expresa la
condición o conjunto de
condiciones a evaluar.
OPERACION expresa la
operación o conjunto de
operaciones que se van a
realizar si la condición resulta
verdadera.
Si (verdadero)
No (falso)
Si condición entonces
hacer operación
{Fin del condicional}
42. Ejemplo:
Construya un
diagrama de flujo y
pseudocódigo tal que
ingresando la
calificación de un
alumno en un
examen, escriba
“aprobado” en caso
de que esa calificación
sea mayor o igual a 3.
Inicio
Double nota
“Digite la nota”
Fin
nota
“Aprobado”
nota >= 3
Si
No
Inicio
Double nota
Escribir “Digite la nota”
Leer nota
Si (nota >= 3) Entonces
Escribir “Aprobado”
Fin
43. Donde:
CONDICION expresa la condición o conjunto de condiciones a evaluar.
OPERACIÓN 1 expresa la operación o conjunto de operaciones que se
van a realizar si la condición resulta verdadera.
OPERACIÓN 2 expresa la operación o conjunto de operaciones que se
van a realizar si la condición resulta falsa.
Si condición entonces
hacer operación 1
Si no
hacer operación 2
{Fin del condicional}
condición
Operación 1
Si
verdadero
No
falso
Operación 2
44. Ejemplo:
Construya un
diagrama de flujo tal
que dado como dato
la calificación de un
alumno en un examen,
escriba “aprobado” si
su calificación es
mayor o igual que 3 y
“reprobado” en caso
contrario.
Inicio
Double nota
“Digite la nota”
Fin
nota
“Aprobado”
nota >= 3
Si No
“Reprobado”
Inicio
Double nota
Escribir “Digite la nota”
Leer nota
Si (nota >= 3)
Entonces
Escribir “Aprobado”
Sino
Escribir “Reprobado”
Fin
45. Donde:
SELECTOR es la variable o expresión a
evaluarse, según la cual se tomará una
de las “múltiples” decisiones o
Alternativas
ACCION 1 expresa la operación o
conjunto de operaciones que se van a
realizar si el selector toma el valor 1.
ACCION 2 expresa la operación o
conjunto de operaciones que se van a
realizar si el selector toma el valor 2.
ACCION N expresa la operación o conjunto
de operaciones que se van a realizar si el
selector toma el valor N.
ACCION N + l expresa la operación que se
va a realizar cuando se continúe con el
flujo normal del diagrama.
Acción 1
Valor 1
Acción 2 Acción N
Acción N+1
Selector
Valor NValor 2
Si selector igual
valor 1
hacer acción 1
valor 2
hacer acción 2
valor N
hacer acción N
{Fin del condicional}
hacer acción N+1
46. Ejemplo:
Su empresa implementará
una nueva forma de
ajustar los sueldos según
la experiencia laboral:
Si la experiencia es de 1
año, el sueldo actual
aumenta en 10%, si esta
es de 2 años el
incremento es del 15% y si
es de 3 años el
incremento es del 20%
De acuerdo a lo anterior,
construya un diagrama
de flujo y pseudocódigo
que calcule el salario final.
Inicio
Double sue, nsue
Int exp
“Digite su sueldo y años
de experiencia”
Fin
sue, exp
1 3
exp
“Su nuevo sueldo es: ”, nsue
nsue =
sue * 0.1 + sue
nsue =
sue * 0.2 + sue
nsue =
sue * 0.15 + sue
2
47. Inicio
Double sue, nsue
Int exp
Escribir “Digite su sueldo y años de experiencia”
Leer exp, sue
Si exp igual
1: nsue = sue * 0.1 + sue
2: nsue = sue * 0.15 + sue
3: nsue = sue * 0.2 + sue
Escribir “Su nuevo sueldo es: ”, nsue
Fin
49. Ejemplo:
Desarrolle el diagrama
de flujo y pseudocódigo
que: dados 3 números
enteros determine cual
es el mayor.
Inicio
int n1, n2, n3
“Ingrese 3 números
enteros”
n1,n2,n3
“El número
mayor es: ”, n1
n1 > n2
No
n1 > n3 n2 > n3
“El número
mayor es: ”, n3
“El número
mayor es: ”, n2
n3 > n2
“El número
mayor es: ”, n2
“El número
mayor es: ”, n3
n3 > n1
“El número
mayor es: ”, n1
Fin
No No
NoNoSi
Si
Si
Si
Si
50. Inicio
Int n1, n2, n3
Escribir “Ingrese 3 números enteros”
Leer n1, n2, n3
Si (n1 > n2)
Entonces
Si (n1 > n3)
Entonces
Escribir “El número mayor es: ”, n1
Sino
Si (n3 > n2)
Entonces
Escribir “El número mayor es: ”, n3
Sino
Escribir “El número mayor es: ”, n2
Sino
Si (n2 > n3)
Entonces
Escribir “El número mayor es: ”, n2
Sino
Si (n3 > n1)
Entonces
Escribir “El número mayor es: ”, n3
Sino
Escribir “El número mayor es: ”, n1
Fin
51. Inicio
int n1, n2, n3
“Ingrese 3 números
enteros”
n1,n2,n3
“El número
mayor es: ”, n1
n1 > n2
No
n1 > n3 n2 > n3
“El número
mayor es: ”, n3
“El número
mayor es: ”, n2
“El número
mayor es: ”, n3
Fin
No NoSi Si
Si
52. Inicio
Int n1, n2, n3
Escribir “Ingrese 3 números enteros”
Leer n1, n2, n3
Si (n1 > n2)
Entonces
Si (n1 > n3)
Entonces
Escribir “El número mayor es: ”, n1
Sino
Escribir “El número mayor es: ”, n3
Sino
Si (n2 > n3)
Entonces
Escribir “El número mayor es: ”, n2
Sino
Escribir “El número mayor es: ”, n3
Fin