Está en la página 1de 47

RESOLUCIÓN DE PROBLEMAS CON

COMPUTADORA
M A A Y HERRAMIENTAS
AM N A
DE PROGRAMACIÓN
Contenido
… Fases en la resolución de un problema
p
… Herramientas de programación
… Ejemplos
… Programación modular
… Estructuras de control
… Resumen
Fases en la resolución de un problema
… Análisis del problema
… Diseño del algoritmo
… Codificación
… Compilación y ejecución
… Verificación
… D
Depuración

… Mantenimiento
… Documentación
Cont…
Cont
… Análisis.- el problema se analiza teniendo presente las
especificaciones de los requisitos dados por el cliente o la
empresa que encarga el programa
… Di ñ
Diseño.- una vez analizado
li d ell problema
bl se diseña
di ñ una
solución que conducirá a un algoritmo que resuelva el
p
problema
… Codificación (implementación).- la solución se escribe en la
sintaxis del lenguaje de alto nivel (por ejemplo C) y se
obtiene
bi un programa
Cont…
Cont
… Compilación, ejecución y verificación.- El programa se
ejecuta, se comprueba rigurosamente y se eliminan todos los
errores que puedan aparecer
… D
Depuración
ió y mantenimiento.-
t i i t ell programa se analiza
li y
modifica cada vez que sea necesario, de modo que se
p todas las necesidades de cambio de sus usuarios
cumplan
… Documentación.- escritura de las diferentes fases del ciclo
de vida del software, esencialmente el análisis, diseño y
codificación,
difi ió unidos
id a manuales
l de
d usuario
i y de
d referencia
f i
Algoritmo
… Algoritmo.-
g es un método p para resolver un p problema
mediante una serie de pasos precisos definidos y finitos
… Características de un algoritmo
† Preciso (indicar el orden de realización en cada paso)
† Definido (si se sigue dos veces se obtiene el mismo resultado cada
vez)
† Finito (tiene fin; un numero determinado de pasos)
Herramientas de programación
… Las dos herramientas mas utilizadas comúnmente ppara diseñar
algoritmos son; diagramas de flujo y pseudocódigos
… Diagramas de flujo.- es una representación grafica de un
algoritmo. Los símbolos utilizados están normalizados por el
ANSI
… Pseudocódigo.-
P d ódi es una herramienta
h d programación
de ó en la l
que las instrucciones se escriben en palabras similares al ingles
o español, que facilitan tanto la escritura como la lectura de
programas
Símbolos mas utilizados en diagramas de flujo
Símbolos de diagrama de flujo
… Terminal,, ((representa
p el inicio y el final de
un programa, también puede representar
una parada o interrupción programada
que sea necesario realizar)
… Entrada/salida, (cualquier tipo de
i
introducción
d ió d de datos
d en lla memoria i desde
d d
Salida
los periféricos o registro de la información
procesada en los periféricos)
Símbolos de diagrama de flujo
… Proceso,, ((cualquier
q tipo
p de operación
p que
q
pueda originar cambio de valor, formato o
posición de la información almacenada,
operaciones aritméticas, transferencia,
f etc.)
… Decisión, (indica operaciones lógicas o de
comparación ió entre ddatos, y en función
f ió deld l
resultado se determina cual de los distintos
caminos el programa debe seguir
Ejemplo 1
… Calcular la p
paga
g neta … Algoritmo
de un trabajador † Leer Horas, Tarifa, tasa
conociendo el numero † Calcular Paga
g bruta=Horas * Tarifa
de horas trabajadas, † Calcular impuestos=Paga Bruta * Tasa
la tarifa horaria y la † Calcular paga Neta=Paga Bruta –
tasa de impuestos impuestos
† Visualizar Paga bruta, Impuestos, Paga
Neta
Ejemplo 2; Suma o producto
… //Algoritmo que lee 3 números y si el primero es positivo, calcula el producto de los otros dos y en otro caso calcula la
//suma. Se usan 3 variable enteras num1, num2 y num3, en las que se leen los datos, y otras dos en las que se calcula el
// d
//producto o la
l suma.
… Proceso Suma_o_Producto
… Escribir "Introduce 3 números";
… Leer num1, num2,num3;
… Si num1>0 Entonces
… producto<-num2*num3;
… Escribir "El producto de los dos últimos números es: ",producto;
… Sino
… suma<-num2+num3;
… Escribir "La suma de los dos últimos números es: ",suma;
… FinSi
…

… FinProceso
Ejemplo; Suma o producto
Ejemplos para la clase
… Calcular el valor de la … Dados 3 números
suma 1+2+3..+100 determinar si la suma de
cualquier pareja de ellos
… Realizar la suma de es igual al tercer numero.
todos los números Si se cumple esta
pares entre
t 2 y 1000 condición escribir
condición,
“iguales” y , en caso
contario escribir “distintos”
Deber
… Ejercicios, capitulo 2
† 2.2

† 2.3
23
† 2.6
Codificación de un programa
… Codificación es la escritura de un lenguaje
g j de p
programación
g
de la representación del algoritmo desarrollada en las
etapas precedentes. Dado que el diseño de un algoritmo es
independiente del lenguaje de programación utilizado para
su implementación, el código puede ser escrito con igual
facilidad en un lenguaje o en otro
Programación modular
… La descomposición de un
programa en módulos
independientes mas simples
se conoce como “divide y
vencerás”. Se diseña cada
modulo con independencia
de los demás hasta la
descomposición del
problema en módulos en
forma jerárquica
Programación estructurada
… Se refiere a un conjunto de técnicas que aumentan
considerablemente
id bl l productividad
la d i id d deld l programa reduciendo
d i d ell
tiempo requerido para escribir, verificar, depurar y mantener los
programas. La programación estructurada utiliza un numero
limitado de estructuras de control que minimizan la complejidad
de los programas y reducen los errores
… La programación estructurada es el conjunto de técnicas que
incorpora;
† Recursos abstractos
† Diseño descendente
† Estructuras básicas
Estructuras de control
… Las estructuras de control de un lenguaje
g j de p programación,
g ,
son métodos de especificar el orden en que las instrucciones
de un algoritmo se ejecutaran. El orden de ejecución de las
sentencias o instrucciones determinan el flujo de control
… Las estructuras de control básico son
† Secuencia
† Selección
† repetición
i ió
Resumen
… El sistema mas idóneo para resolver un problema es
d
descomponerlo l en módulos
ód l mas sencillos,
ill y luego
l mediante
di
diseños descendentes y refinamiento sucesivo, llegar a módulos
fácilmente codificables. Estos módulos se deben codificar con las
estructuras de control de programación estructurada
… Secuenciales.- las instrucciones se ejecutan sucesivamente
… Repetitivas.-
p una serie de instrucciones se repiten
p una y otra vez
hasta que se cumpla una cierta condición
… Selectivas.- permite elegir entre dos alternativas dependiendo de
una condición determinada
ESTRUCTURA GENERAL DE UN
PROGRAMA
Contenido
… Partes constitutivas de un programa
… Instrucciones y tipos de instrucciones
… Elementos básicos de un programa
… Datos, tipos de datos
… Expresiones
… La operación de asignación
… Estructura de algoritmo
… E
Ejemplos
l
Partes constitutivas de un programa
… Conceptualmente
p un p
programa
g puede ser considerad como
p
una caja negra. La caja negra o el algoritmo de resolución,
en realidad es el conjunto de códigos que transforman las
entradas del programa (datos) en salidas (resultados)
Instrucciones y tipos de instrucciones
… El proceso de diseño del algoritmo o posteriormente de
codificación del programa consiste en definir las acciones o
instrucciones que resolverán el problema
… Tipos de instrucciones
† Instrucciones de inicio/ fin
† Instrucciones de asignación Å
† Instrucciones de lectura
† Instrucciones de escritura
† Instrucciones de bifurcación
Instrucciones de asignación
… AÅ80 la variable A toma el valor de 80
… Cual será el valor que tomara la variable C tras la
ejecución de las siguientes instrucciones
… AÅ80
… BÅA
… CÅD
Instrucciones de lectura y escritura
… Esta instrucción lee datos de un dispositivo de entrada
† leer (A,B,C)
† Leer (num1)

… Estas instrucciones se escriben en un dispositivo de


salida
† escribir (A,B,C)
† Escribir (num1)
(n m1)
Instrucciones de bifurcación
… El desarrollo lineal de un programa se interrumpe
cuando se ejecuta una bifurcación. Las bifurcaciones
pueden ser,
ser según el punto del programa a donde
se bifurca, hacia adelante o hacia atrás
… L bifurcaciones
Las bif i en ell flujo
fl j de
d un programa se
realizan de modo condicional en función del
resultado
l d de d lal evaluación
l ió e la l condición
di ió
Elementos básicos de un programa
… Los elementos básicos constitutivos de un programa o
algoritmo son;
† Palabras reservadas (inicio, fin, si-entonces..etc.)
† identificadores (nombres de variables,
variables procedimientos..etc.)
procedimientos etc )
† Caracteres especiales (coma, apostrofe, etc.)
† Constantes
† Variables
† Expresiones
† Instrucciones
Cont…
Cont
… Además de estos elementos básicos, existen otros elementos que
f
forman parte de
d los
l programas, cuya comprensión ió y funcionamiento
f i i
será vital para el correcto diseño de un algoritmo y la codificación
del programa
† Bucles
l
† Acumuladores
† Interruptores
† Estructuras
„ Secuenciales
„ Selectivas
„ Repetitivas
Datos tipos de datos
Datos,
… Los distintos tipos de datos se representan en
diferentes formas en la computadora. Los tipos de
datos simple son los siguientes;
† Numéricos (integer, real)
† Lógicos
Ló i (boolean)
(b l )
† Carácter (chart, string)
Datos numéricos
… El tipo numérico es el conjunto de los valores
numéricos. Estos pueden representarse en dos
formas distintas;
† Tipo numérico entero (integer)
„ 5,
5 -15,
15 20,
20 6
† Tipo numérico real (real)
„ 0.8,
08 -8.12,
8 12 3.17,
3 17 5.0,
5 0 1240.23
1240 23
Datos booleanos y tipo carácter
… El tipo lógico es aquel dato que solo puede tomar uno de
dos valores;
† Verdadero (true)
† Faso (false)
… El tipo carácter es el conjunto finito ordenado de caracteres
que la computadora reconoce (A,B,C,a,b,c,1,2,3,+,-,*)
… Una cadena (string) de caracteres es una sucesión de
caracteres que se encuentran delimitados por una comilla
‘hola
hola buen día
día’
Constantes y variables
… Los programas de computadora contienen ciertos
valores que no deben cambiar durante al ejecución del
programa. Tales valores se llaman constantes
… D igual
De i l forma
f existen
i t otros
t valores
l que cambiaran
bi
durante la ejecución de del programa; a estos valores
se les llama variables
… Una constante es una partida de datos que pertenecen
sin cambios durante todo el desarrollo del algoritmo o
d
durantet la
l ejecución
j ió del
d l programa
Expresiones
… Las expresiones son combinaciones de constantes,
variables símbolos de operación, paréntesis y nombres
de funciones especiales; por ejemplo; a+(b+3)+√3
… L expresiones
Las i se clasifican
l ifi en;
† Aritméticas
† Relacionales
† Lógicas
† Carácter
Expresiones aritméticas
… Las expresiones aritméticas son análogas a las formulas
matemáticas
† + suma
† - resta
† * multiplicación
† / división
† **, ^ exponenciación
† div división entera
† mod modulo (resto)
Reglas de prioridad
… Las operaciones
p aritméticas dentro de una
expresión suelen seguir el siguiente orden de
prioridad;
† Operador exponecial (^, **)
† Operadores
p *,//
† Operadores div y mod
† Operadores
p +,-,
Ejemplos
… -4*7+2^3/4-5
… 8+7*3+4*6
… Que se obtiene en las variables A, B, C después de ejecutar
l iinstrucciones
las t i siguientes
i i t
† AÅ3
† BÅ20
† CÅA+B
† BÅA+B
† AÅB C
AÅB-C
Expresiones lógicas (booleanas)
… Un segundo tipo de expresiones es la expresión lógica o
booleana, cuyo valor es siempre verdadero o falso
… Operadores de relación
† < menor que
† > mayor que
† = igual que
† <= menor o igual que
† >= mayor o igual que
† <> distinto de
Operadores lógicos
… Los operadores lógicos o booleanos básicos son; not
(no), and (y) y or (o)
AND OR NOT
Funciones internas
… Las operaciones que se requieren en los
programas exigen en numerosas
ocasiones un numero determinado de
operadores
p especiales
p que
q se
denominan funciones internas
La operación de asignación
… La operación
p de asignación
g es el modo de almacenar valores
a una variable. La operación de asignación se representa con
el símbolo u operador Å
† AÅ5
† XÅY+2
† Å
NÅN+1
† NÅ8<5
Entrada y salida de información
… Los cálculos qque realizan las computadoras
p requieren
q para ser
p
útiles la entrada de datos necesarios para ejecutar las
operaciones que posteriormente se convertirán en resultados,
es decir, salida
… Leer (A, B, C)
… Escribir (‘hola a todos’)
Estructura de algoritmo
… Un algoritmo constara de dos componentes; una cabecera de
programa y un bloque
bl algoritmo.
l i L cabecera
La b d programa es una
de
acción simple que comienza con la palabra algoritmo. Esta palabra
estará seguida por el nombre asignado al programa. El bloque
algoritmo es el resto del programa y consta de dos componentes o
secciones; las acciones de declaración y las acciones ejecutables
† Algoritmo
† C b
Cabecera d l programa
del
† Sección de declaración
† Sección de acciones
Cont…
Cont
… Cabecera del programa o algoritmo
† Todos los programas deben comenzar con una cabecera en la que se exprese el
identificador o nombre correspondiente
… Declaración de variables
† En esta sección se declaran o describen todas las variables utilizadas en el
algoritmo
… Declaración de constantes
† En esta sección se declaran todas las constantes que tengan nombre
… Comentarios
† La documentación del programa es el conjunto de información interna externa
all programa que facilita
f l su posterior mantenimiento
Ejemplos
… Escriba un algoritmo que acepte 3 números enteros
e imprima el mayor de ellos
… Diseñar un algoritmo para resolver una ecuación de
segundo orden AX2+BX+C=0
… Escribir un algoritmo que calcule el producto de los
n primeros números naturales
Deber
… Ejercicios, capitulo 3
† 3.12

† 3.16
3 16
† 3.21
Patrón de prueba de pantalla panorámica (16:9)

Prueba de la
relación de
aspecto
(Debe parecer circular)

4x3

16x9

También podría gustarte