Ing. Edward Ropero
Magister en Gestión,
Aplicación y Desarrollo de
Software
 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.
 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
 Tecnología y programación
 Herramientas de programación
Operador
Aritmético
Operación Ejemplo Resultado
¨ Potencia 4¨3 64
. ó x Multiplicación 4 . 8 ó 4x8 32
/ ó ÷ División 15/3 ó 15÷3 5
+ Suma 13+7 20
- Resta 25-8 17
mod Módulo
(residuo)
15 mod 2 1
div División Entera 17 div 3 5
Operador Jerarquía Operación
¨ (mayor)
(menor)
Potencia
·,/,MOD, DIV Multiplicación,
división, módulo,
división
Entera
+, - Suma, resta
5¨3/10-4+(24·3DIV5)-48MOD5/3
5¨3/10-4+(24·3DIV5)-48MOD5/3
5¨3/10-4+ (72DIV5) -48MOD5/3
5¨3/10-4+ 14 -48MOD5/3
125/10-4+14-48MOD5/3
12,25-4+14-48MOD5/3
12,25-4+14-3/3
12,25-4+14-1
8,25+14-1
22,25-1
21,25
Resolver la siguiente operación:
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
5¨3/10-4<(24·3DIV5)≥48MOD5/3
5¨3/10-4<(24·3DIV5)≥48MOD5/3
5¨3/10-4< (72DIV5) ≥48MOD5/3
5¨3/10-4< 14 ≥48MOD5/3
125/10-4<14≥48MOD5/3
12,25-4<14≥48MOD5/3
12,25-4<14≥3/3
12,25-4<14 ≥ 1
8,25<14 ≥ 1
TRUE ≥ 1
ERROR
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
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
Operadores Jerarquía
() (mayor)
(menor)
¨
· , / , MOD, DIV
+, -
=, <>, <, >, <=, >=
NO
Y
O
~(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)
~ 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
 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
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)
Datos numéricos
Datos alfanuméricos
Datos lógicos
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.
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
 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
 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
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
Conjunto de pasos, procedimientos o
acciones que nos permiten alcanzar un
resultado o resolver un problema
Etapas para la solución de un problema
Problema
Análisis profundo
del problema
Construcción del
Algoritmo
Verificación del
Algoritmo
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
Módulos o secciones de un algoritmo:
Entrada
de Datos
Procesamiento
de datos
Impresión de
resultados
Algoritmo
 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
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
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
Inicio
Lectura
de
datos
Procesamiento
de datos
Impresión de
resultados
Fin
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
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
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.
 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
 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
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
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
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)
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}
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
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
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
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
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
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
condición
Si (verdadero)
No (falso)
condición
Operación 1
Si
verdadero
No
falso
Operación 2
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
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
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
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

Fundamentos de programación 1. diseño de algoritmos

  • 1.
    Ing. Edward Ropero Magisteren Gestión, Aplicación y Desarrollo de Software
  • 3.
     Modelaje ysolució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 lacapacidad 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
  • 5.
     Tecnología yprogramación
  • 6.
     Herramientas deprogramación
  • 7.
    Operador Aritmético Operación Ejemplo Resultado ¨Potencia 4¨3 64 . ó x Multiplicación 4 . 8 ó 4x8 32 / ó ÷ División 15/3 ó 15÷3 5 + Suma 13+7 20 - Resta 25-8 17 mod Módulo (residuo) 15 mod 2 1 div División Entera 17 div 3 5
  • 8.
    Operador Jerarquía Operación ¨(mayor) (menor) Potencia ·,/,MOD, DIV Multiplicación, división, módulo, división Entera +, - Suma, resta
  • 9.
    5¨3/10-4+(24·3DIV5)-48MOD5/3 5¨3/10-4+(24·3DIV5)-48MOD5/3 5¨3/10-4+ (72DIV5) -48MOD5/3 5¨3/10-4+14 -48MOD5/3 125/10-4+14-48MOD5/3 12,25-4+14-48MOD5/3 12,25-4+14-3/3 12,25-4+14-1 8,25+14-1 22,25-1 21,25 Resolver la siguiente operación:
  • 10.
    Operador Operación EjemploResultado = 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
  • 11.
    5¨3/10-4<(24·3DIV5)≥48MOD5/3 5¨3/10-4<(24·3DIV5)≥48MOD5/3 5¨3/10-4< (72DIV5) ≥48MOD5/3 5¨3/10-4<14 ≥48MOD5/3 125/10-4<14≥48MOD5/3 12,25-4<14≥48MOD5/3 12,25-4<14≥3/3 12,25-4<14 ≥ 1 8,25<14 ≥ 1 TRUE ≥ 1 ERROR
  • 12.
    Operador Jerarquía EjemploResultado 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
  • 14.
    Operadores Jerarquía () (mayor) (menor) ¨ ·, / , MOD, DIV +, - =, <>, <, >, <=, >= NO Y O
  • 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 lacoma (,) 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)
  • 19.
  • 20.
    Llamaremos identificador alnombre 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 sondatos 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 valoreso 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 quelas 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 JACUM 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 lasolución de un problema Problema Análisis profundo del problema Construcción del Algoritmo Verificación del Algoritmo
  • 27.
    Características:  Precisión: Lospasos 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 seccionesde un algoritmo: Entrada de Datos Procesamiento de datos Impresión de resultados Algoritmo
  • 29.
     Qué espseudocó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ímboloExplicació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ímboloExplicació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
  • 32.
  • 33.
    Inicio Fin Reglas 3. Todas laslí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 cuandorealizamos 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 instruccionesque 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 lasentradas 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 mejorforma 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 siguea 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 elpseudocó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 enel 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óno 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 deflujo 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 lacondició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 deflujo 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 lavariable 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á unanueva 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 Intexp 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
  • 48.
  • 49.
    Ejemplo: Desarrolle el diagrama deflujo 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