SlideShare una empresa de Scribd logo
1 de 46
Dr. Pedro Salcedo Lagos
Resolución de Problemas
Algoritmos y Programas
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Modulo 2
Etapas en la solución de problemas. Concepto de Algoritmo.
Concepto de programa e instrucción. Técnicas y estructuras
de programación.
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Algoritmo: Es un método para resolver problemas que
consiste en dividir el mismo en un número finito de pasos
elementales e indicar claramente el orden de ejecución
de los mismos.
Programación: Es la transformación del algoritmo en
algo entendible por la computadora, para ello debe ser
escrito en un lenguaje de programación (C, C++,
PASCAL, BASIC, COBOL, ETC.) de acuerdo con las
reglas de sintaxis del mismo.
Algoritmo y Programacion
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Las fases en la construcción de un programa para resolver un
problema mediante la computadora son, en orden, las siguientes:
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
El paso cero sería Entender el problema, parece banal, pero no lo es
cuando se piensa en la gran cantidad de proyectos de computación
que se desarrollaron sin haber comprendido bien para que se hacían,
o cual era el problema que supuestamente iban a resolver.
Comprender la importancia de entender con claridad el problema antes
de abocarnos a encontrar una solución.
4.1 Etapas en la solución de problemas
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
El análisis consiste en una clara definicion del problema, donde se
contemple exactamente lo que debe hacer el programa y el resultado
o solucion deseada.
Dado que se busca una solución por computadora, se precisan
especificaciones detalladas de entradas y salidas.
Para resolver un problema con un ordenador hay que disponer de los
datos de entrada, estudiar el tratamiento que se ha de realizar a
dichos datos, la información que se desea obtener como resultado y
de que manera debe presentarse.
4.1 Etapas en la solución de problemas
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
Es decir, después de analizar el problema, se han de conocer
claramente tres cosas.
●
Datos de Entrada de que se dispone
●
Proceso o Tratamiento que ha de realizarse con estos datos.
●
Información de salida deseada.
Una de las técnicas mas empleadas recibe el nombre de H.I.P.O.
(Hierarchy the plus input process output) que consiste en esquematizar
cada programa, o una parte del mismo en los tres bloques (los
descritos anteriormente)..
4.1 Etapas en la solución de problemas
ENTRADA PROCESO SALIDA
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
Ejemplo
Sin entrar en el campo de la informática, para hacer la nómina de los
mejores alumnos de una carrera, se necesita saber:
ENTRADA: Los datos de cada uno de los alumnos y si estos
datos están en papel o en un fichero donde está toda la
información de los alumnos.
PROCESO: La fórmula matemática para calcular el promedio de
notas es:
(nota 1 + nota 2 + nota 3 + .....+ nota n) / cantidad de
notas
SALIDA: El modelo del informe donde se desean imprimir el
promedio de los alumnos.
4.1 Etapas en la solución de problemas
ENTRADA PROCESO SALIDA
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
Teniendo en cuenta que un algoritmo es un método para resolver
problemas, una vez analizado el mismo se precisa diseñar un
algoritmo que indique claramente los pasos a seguir para resolverlo.
Para realizar un determinado proceso, se le debe suministrar al
ordenador una fórmula para la resolución de un problema (algoritmo),
cuyo diseño debe ser independiente de la computadora que resuelve
el problema.
Dada la importancia del algoritmo en la ciencia de la computación, un
aspecto muy importante será el diseño del algoritmo.
En esta etapa se realizará una representación de la secuencia. Estas
representaciones son las herramientas de: diagramas de flujo,
pseudocódigos y/o tablas de decisión.
4.1 Etapas en la solución de problemas
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
Una vez que el diagrama de flujo o el algoritmo de resolución del
problema está definido se pasa a la fase de codificación del
programa en cualquier lenguaje (C, basic, cobol, pascal, etc.) cuyo
resultado será el programa fuente, el cual sigue las reglas de sintaxis
que el lenguaje escogido exija.
Después de codificado el programa, se introduce en el ordenador
mediante unos programas especiales llamados editores.
Una vez dentro del ordenador, el programa deber ser traducido al
único lenguaje que éste entiende: Lenguaje de máquina. Dicha
operación se realiza mediante el correspondiente programa traductor
o compilador del lenguaje en el que está escrito el programa.
4.1 Resolución de Problemas con Computadora
PROGRAMACION ANALISIS ALGORITMO CODIFICACION EDICION TRADUCCION
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas.
El hecho de haber diseñado un buen algoritmo y luego haberlo
codificado en algún lenguaje de programación no significa que el
programa resuelva correctamente el problema en cuestión.
Por eso, antes de dar por finalizada cualquier labor de programación,
es fundamental preparar un conjunto de datos lo más representativo
posible del problema, que permitan probar el programa cuando se
ejecute y así verificar los resultados.
Cuanto más exhaustivas sean las pruebas de un programa, mayor
seguridad se tendrá de que éste funcione correctamente y, por lo
tanto, menor posibilidad de errores.
El programa se considera terminado cuando se han realizado
pruebas y ensayo de su fiabilidad con el conjunto de datos
seleccionados y otros nuevos, hasta incluso con datos reales, y no
se encuentren errores de ningún tipo.
4.1 Resolución de Problemas con Computadora
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Algoritmo es un conjunto ordenado y finito de pasos que
especifican la secuencia de operaciones que se han de
realizar para resolver un problema.
Podemos entonces decir que un algoritmo es un conjunto de reglas para
resolver una cierta clase de problemas o una forma de describir la solución
de un problema. (Luis Joyanes)
Los algoritmos son independientes del lenguaje de programación en que se
expresan como así también de la computadora que se ejecuten.
Un algoritmo se puede expresar en distintos lenguajes de programación y
en computadoras distintas, pero el algoritmo, los pasos a seguir para la
solución del problema es siempre el mismo.
Así como, cualquier cosa que ocurra en la vida cotidiana, por ejemplo,
poner en movimiento un automóvil, tiene un número de pasos a seguir, sea
quien sea el conductor: argentino, español, alemán, etc.- y sea cual sea el
auto a conducir.
4.2 Concepto de Algoritmo
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
En la ciencia de la computación y específicamente en la programación, los
algoritmos son más importantes que los lenguajes de programación e incluso
que las computadoras, dado que los lenguajes de programación son solo un
medio para expresar un algoritmo y las computadoras la herramienta que los
ejecuta.
Debido a que la computadora es incapaz de tomar ninguna decisión propia sin
que se especifique explícitamente, es imprescindible que el algoritmo elegido
para resolver el problema sea absolutamente claro, sin ambigüedades y
además contemple todas y cada una de las posibles situaciones que puedan
presentarse durante la resolución del mismo.
En general, cualquier actividad de la vida cotidiana se puede describir mediante
algoritmos. Para empezar a familiarizarnos con ellos, se desarrolla a
continuación en ejemplo que pone de manifiesto la necesidad de las
características antes mencionadas.
4.2 Concepto de Algoritmo
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Ejemplo
Si a un experimentado conductor se le preguntase como pone en
movimiento su automóvil, el contestaría: “Se pone en marcha el
motor y se mete la primera”.
Efectivamente es fácil. Pero ¿Qué ocurriría si el individuo nunca
condujo un automóvil?. El resultado no sería muy efectivo debido a
que según las instrucciones o pasos impartidos anteriormente, si
estuviera en algún cambio, al poner en marcha se hubiese estrellado
con lo primero que estuviese adelante o atrás.
La conclusión que se debe sacar de este ejemplo es que el
conductor con experiencia no tuvo en cuenta todas las posibilidades
que se pueden presentar para obtener el resultado de poner el
automóvil en movimiento. Por lo tanto, su algoritmo sería:
Poner en marcha el motor
Meter la primera
4.2 Concepto de Algoritmo
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Ejemplo
En cambio, el algoritmo más correcto podría ser:
Pisar el embrague con el pie izquierdo
Poner en punto muerto
Dar a la llave de contacto
Pisar el embrague
Meter la primera
Quitar el freno de mano si lo tuviese puesto.
Levantar lentamente el pie del embrague a la vez que pisa el
pedal del acelerador con el pie derecho
¿Por qué es más correcto este algoritmo?
1) desglosa el problema en instrucciones simples y concretas,
comprensibles para cualquier individuo.
2) indica claramente el orden en que deben ejecutarse dichas
instrucciones.
4.2 Concepto de Algoritmo
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.2.1 Caracteristicas
Se puede observar que el número de operaciones que realiza un algoritmo es
finito siempre y cuando sus datos sean adecuados. Por consiguiente, el
número de operaciones que necesitamos realizar al ejecutar un algoritmo
dependerá de los datos del problema y solamente se conocerá al ejecutar este.
Un algoritmo debe ser:
Preciso: Debe indicar el orden de realización de cada paso.
Definido: Si se ejecuta dos veces el algoritmo con los mismos datos éste
debe dar el mismo resultado.
Finito: Debe finalizar en algún momento o sea tener un número finito de
pasos.
Todo algoritmo tiene tres partes: entrada, proceso y salida, y sus pasos
describen la transformación de la entrada en la salida.
Si tomamos el ejemplo acerca del promedio de notas de los alumnos tenemos
que:
ENTRADA: las notas de los alumnos
PROCESO: cálculo del promedio
SALIDA: Promedio de los alumnos
4.2 Concepto de Algoritmo
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Para que un algoritmo pueda ser resuelto por una computadora el
mismo debe ser escrito (codificado) en el lenguaje de programación
elegido, siguiendo las reglas de sintaxis del mismo.
Esta tarea se denomina programación y el algoritmo escrito se
llama programa.
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
Los elementos de programación son aquellos que permiten definir un
lenguaje de comunicación con la computadora, y como todo lenguaje
consta de:
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1. Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Un carácter es un elemento pequeño utilizado en el tratamiento de la
información.
Un dato de tipo carácter contiene un solo carácter, siendo un carácter
un conjunto finito y ordenado de caracteres que la computadora
reconoce. Si bien estos caracteres no son estándar, la mayoría de las
computadoras reconoce los caracteres alfabéticos, numéricos y
especiales.
Alfabéticos (a,b,c,d, ......z) (A,B,C,D,.........Z)
Numéricos (0, 1, 2, 3, ...... 9)
Especiales (+, -, *, /, < , >, $.......)
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Es el dato cuyo valor permanece inalterado durante los diferentes
tratamientos, durante el desarrollo del algoritmo o en la ejecución de
un programa.
3.1415 Constante numérica
A una secuencia de caracteres se la denomina cadena y si esta es una
constante, se la encierra entre apóstrofos
‘Pedro Díaz'
‘ 25 de Mayo’
Si dentro de la cadena hay apóstrofos como parte de la misma, se
debe colocar un par de apóstrofos
‘ Maria’’s’
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Variable es un dato donde su valor puede ser modificado durante la
ejecución del algoritmo o en un programa.
En informática, cuando hacemos mención a una variable, nos estamos
refiriendo a una pequeña zona de la memoria principal donde se va a
alojar un valor. Si este valor se modifica en algún momento del
programa, el nuevo valor sustituirá al que existía anteriormente.
A este nombre de posiciones contiguas de memoria se le dan
atributos: un nombre para poder referenciarlo (nombre de la variable)
y su tipo (clase de caracteres que puede contener). A una variable
definida de un determinado tipo, no se le puede asignar generalmente
valores de otro tipo.
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
El nombre que se le da a una variable lo elige el programador y se debe
componer de caracteres alfanuméricos, generalmente se elige como primer
carácter una letra. No se deben utilizar como nombre de variables palabras
reservadas del lenguaje de programación.
Es aconsejable que el nombre que se le atribuya a la variable sea
‘nemotécnico’ o significativo, es decir su nombre debe guardar relación con el
objeto que representa a fin de que la misma nos recuerde la naturaleza de la
información que contiene. Algunos nombres de variables son:
NOTA representa notas de alumnos
NOMBRE_APELLIDO representa el nombre y apellido de personas
PRECIO representa precios de artículos
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Hay que diferenciar entre nombre de la variable y su contenido. El
nombre es una identificación que se le da a un conjunto de
posiciones contiguas de memoria, mientras que el contenido de
una variable es el valor que está almacenado en dichas posiciones.
4.3 Programación
125,25
Importe
Nombre de Variable
Contenido
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Hay tres tipos de operadores:
aritméticos
relacionales
lógicos
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Hay tres tipos de operadores:
aritméticos
relacionales
lógicos
4.3 Programación
+ Suma
- Resta
* Multiplicación
/ División
** o ^ Potenciación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Hay tres tipos de operadores:
aritméticos
relacionales
lógicos
4.3 Programación
= Igual
< Menor que
<= Menor o igual que
> Mayor
>= Mayor o Igual que
<> Distinto
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1 Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Hay tres tipos de operadores:
aritméticos
relacionales
lógicos
4.3 Programación
AND Y
OR O
NOT NO
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1. Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Reglas de Prioridad
Las operaciones aritméticas siguen reglas de prioridad o precedencia y
son:
operador exponencial *, ^
operadores de multiplicación y división, /
operadores de suma y resta +, -
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
3.2.1. Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Las expresiones aritméticas son combinaciones de constantes,
variables, símbolos de operación, paréntesis y nombres de funciones
especiales. Las mismas son utilizadas en notación matemática
tradicional.
a + (b – 20) * 2
(a + b)** 2
Cada expresión tiene un valor, que se determina tomando los
valores de las variables y constantes implicadas y ejecutando las
operaciones indicadas.
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1. Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Reglas de Prioridad
Las expresiones que tengan dos o más operadores requieren reglas
matemáticas que permitan determinar el orden de las operaciones,
dichas reglas son de prioridad o precedencia y son:
●
Las operaciones que están encerradas entre paréntesis se evalúan
primero. Si existen paréntesis anidados, los mismos se resuelven de
adentro hacia fuera.
●
Las operaciones aritméticas dentro de una expresión siguen el
siguiente orden de prioridad:
●
Operador exponencial
●
Operadores * y / (multiplicación y división)
●
Operadores + y - (suma y resta)
En el caso de coincidir operadores de igual jerarquía en una expresión encerrada entre
paréntesis, el orden de prioridad se resuelve de izquierda a derecha.
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.1. Elementos básicos de un programa
El juego de caracteres [ 1,2...0,a,b......z,*,-( )...]
Constantes
Variables
Operadores
Expresiones aritméticas
Ejemplo
( (4-2) * (5 + 1) / 2) ** 2 – (4 + 3)
(2 * (5 + 1) / 2) ** 2 – (4 + 3)
(2 * 6 / 2) ** 2 – (4 + 3)
(12 / 2) ** 2 – (4 + 3)
6 ** 2 – (4 + 3)
6 ** 2 – 7
36 - 7
29
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
4.3.2 Instrucciones
Como ya se mencionó anteriormente, un algoritmo es un conjunto de
acciones que se han de ejecutar para la resolución de un problema. A
cada una de estas acciones se le denomina Instrucción o Sentencia.
Un conjunto de Instrucciones forma un programa. Las instrucciones se
deben escribir y luego almacenar en memoria en el mismo orden en que
han de ejecutarse, es decir, en secuencia.
Las instrucciones básicas que se pueden implementar en un algoritmo
soportan todos los lenguajes de programación. Dicho de otro modo, las
instrucciones básicas son independientes del lenguaje de programación.
La clasificación más corriente es:
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
4.3 Programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Son las instrucciones que ordenan el comienzo o fin del algoritmo.
Todo programa debe comenzar con la instrucción INICIO o
COMENZAR o su simbología correspondiente
Todo programa debe finalizar con la instrucción FIN o PARAR o su
simbología correspondiente.
4.3.2 Instrucciones
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Aritméticas
Cualquier operación aritmética que se desea realizar es llamada con
este nombre. Tienen dos etapas:
La ejecución de la operación, que implica la obtención de un
resultado.
Una transferencia para almacenar en un campo de la memoria el
resultado obtenido.
La forma general de la instrucción aritmética es:
b  a o a = b
donde:
a es el nombre de una variable donde se almacena el resultado
de b, y b es una expresión aritmética
4.3.2 Instrucciones
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Aritméticas
Ejemplo: Sumar el contenido de los campos A y B
La instrucción sería (ver figura 1.16):
A + B  C o C = A + B
4.3.2 Instrucciones
10 20 8
A B C
ANTES
10 20 30
A B C
DESPUES
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Esta instrucción introduce datos desde algún dispositivo de
entrada. Una instrucción de Entrada implica la introducción de
datos en la memoria principal del ordenador desde dispositivos
externos a la misma, por ejemplo, el teclado, un diskette, etc.-
En la memoria principal solo pueden guardarse valores mediante
su almacenamiento en variables. Por eso, cualquier operación de
entrada lleva implícita la asignación del valor introducido en una
variable de memoria a la que se deberá hacer referencia cuando
se necesite.
4.3.2 Instrucciones
DISPOSITIVO
EXTERNO
MEMORIA
PRINCIPAL
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Ejemplo
Si se tiene una instrucción de este tipo:
1. Leer (A, B, C)
Lo que se lee es 10, 20, 30 y se asignarán a las variables los
siguientes valores:
A = 10
B = 20
C = 30
2. Leer (Nombre, Domicilio)
Lo que se lee es Juana, San Juan 1220 y se asignarán a las
variables lo siguiente:
Nombre = Juana
Domicilio = San Juan 1220
4.3.2 Instrucciones
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Permiten la salida de datos desde la memoria principal del
ordenador hacia dispositivos externos de salida; por ejemplo
impresoras, pantalla, disquete, disco duro, etc
Ejemplo
Si queremos imprimir o visualizar en pantalla los valores de las
variables anteriores A, B y C, el resultado sería: 10, 20, 30
4.3.2 Instrucciones
DISPOSITIVO
EXTERNO
MEMORIA
PRINCIPAL
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
El modo en que un ordenador ejecuta las instrucciones contenidas
en un programa es, normalmente, secuencial; es decir, una detrás
de otra en el orden que están escritas. Sin embargo, si esta fuera la
única forma de ejecución posible, el programa tendría que realizar
siempre las mismas acciones, independientemente de los datos que
se le dieran de entrada en cada ejecución.
Con el fin de poder dotar a los programas de cierta capacidad de
decisión sobre los tratamientos que debe aplicar a cada caso, los
lenguajes de programación permiten la definición de instrucciones
de control distintas a la secuencial. Este es el caso de las
instrucciones condicionales e incondicionales.
4.3.2 Instrucciones
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Condicional
Recibe también el nombre de bifurcación condicional, y es aquella
que, bajo la comprobación de veracidad o falsedad de una
condición, ejecuta dos grupos de acciones diferentes.
En diagramación las interrogaciones
se realizan mediante el símbolo de
decisión, dentro de este se especifica
la comparación deseada con dos salidas.
4.3.2 Instrucciones
A < B SINO ACCION 1ACCION 2
ACCION3
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control
Incondicional
Recibe también el nombre de bifurcación incondicional, e
indica un cambio en la secuencia de una ejecución sin
evaluar ninguna condición previa.
4.3.2 Instrucciones
A < B Accion 2Acción 1 NoSI
Accion 3
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Contadores
Como se mencionó anteriormente, una variable es un campo capaz de almacenar
un valor. Este valor, dependiendo de las necesidades del programa, puede variar a
lo largo del mismo, por ejemplo muchas veces en los procesos de bucles
necesitamos saber el número de iteraciones a realizar por el bucle, o se desea
saber cuantos registros hay en un archivo. Una forma de obtener estos resultados
es usando un contador.
Un contador es una variable numérica cuyo valor se incrementa o decrementa
con cantidad fija o constante 1.
La forma de incrementar/decrementar el contador es mediante una instrucción del
tipo
C = C + 1
Siendo C la variable contador, y 1 el incremento/decremento constante.
Los contadores que se utilizan en un programa deben inicializarse con un valor,
generalmente cero, que se les asigna fuera del ámbito de la iteración para limpiar la
variable de posibles valores anteriores. Además, hay lenguajes que no permiten
una instrucción de este tipo si el contador no se encuentra inicializado.
4.3.3 Elementos básicos de programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Contadores
La acción de inicializar un contador puede ser: C = 0 , CONTA = 0, A = 1
Como los contadores corresponden a las instrucciones del tipo
aritméticas, entonces si tenemos la expresión C = C + 1 resulta:
Añadimos el valor 1 al contenido actual de C
Dejamos el nuevo valor otra vez en C
En general, la función más usual de un contador es la de controlar el
número de iteraciones que se van realizando en un bucle y asimismo
determinar cuando salir de él.
También puede irse incrementando o decrementando dentro del bucle
cada vez que este se realiza, pero no intervenir en la condición para salir
del mismo.
Lo que sí debe quedar claro, es que un contador está siempre asociado a
un bucle.
4.3.3 Elementos básicos de programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Acumuladores
Un acumulador es una variable cuyo valor sé incrementa/decrementa
con cantidades variables.
Realmente, realiza la misma función que un contador con la diferencia de
que en un acumulador el valor se incrementa o decrementa no es fijo,
mientras que en un contador si lo es.
Los acumuladores se usan para calcular totales, entendiendo como total
la suma acumulada de diversas cantidades.
La instrucción del acumulador sería:
ACUM = ACUM + V
Donde ACUM es el acumulador y V el valor variable
Los acumuladores tienen el mismo tratamiento que los contadores en los
programas, se deben inicializar en cero fuera del ámbito de la iteración.
4.3.3 Elementos básicos de programación
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Acumuladores
Ejemplo: Se quiere sumar las notas obtenidas por un
alumno y las mismas son: 7, 6.50, 8, 9.50.
Para ello necesitamos una variable numérica que la llamamos
SUMANOTAS, que irá conteniendo las sumas parciales que se van
obteniendo.
A la variable SUMANOTAS se la supone con un valor inicial 0. Los
diferentes valores que irá tomando se muestran en la gráfica siguiente:
4.3.3 Elementos básicos de programación
0 7 13.500 + 7 7 + 6.50
21.50 3121.50 + 9.50
13.50 + 8
SUMANOTAS SUMANOTAS SUMANOTAS
SUMANOTAS SUMANOTAS
NOMBRE DE VARIABLE
CONTENIDO DE LA VARIABLE
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Las estructuras de un lenguaje de programaciòn son mètodos de
especificar el orden en que las instrucciones de un algoritmo se
ejecutaràn. El orden de ejecuciòn de las sentencias o instrucciones
determina el flujo de control. Estas estructuras son por
consiguiente, fundamentales en los lenguajes de programaciòn y
en los diseños de algoritmos.
Las tres estructuras basicas son:
Secuencial
Seleccion
Repetición o Iteración
4.5 Técnicas y estructuras de programación.
Computacion - FA.CE.NA.
Resolución de Problemas con Computadoras. Algoritmos y Programas
Teorema de la programacion estructurada: estructuras básicas
En mayo de 1.966 Bôhm y Jacopini demostraron que un programa
propio puede ser escrito utilizando solamente tres tipos de
estructuras de control:
Secuenciales
Selectivas
Repetitivas
Un programa se define como propio si cumple con las siguientes
caracteristicas:
Posee un solo punto de entrada y uno de salida o fin para control
del programa.
Existen caminos desde la entrada hasta la salida que se pueden
seguir y que pasan por todas las partes del programa.
Todas las instrucciones son ejecutables y no existen lazos o
bucles infinitos.
4.5 Técnicas y estructuras de programación.

Más contenido relacionado

La actualidad más candente

INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface designPreeti Mishra
 
Cpu scheduling (1)
Cpu scheduling (1)Cpu scheduling (1)
Cpu scheduling (1)Ayush Oberai
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSAbrar ali
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion EstructuradaJoseph Bros
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Parallel and distributed Computing
Parallel and distributed Computing Parallel and distributed Computing
Parallel and distributed Computing MIANSHOAIB10
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
Compilers and interpreters
Compilers and interpretersCompilers and interpreters
Compilers and interpretersRAJU KATHI
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4Mohammed Romi
 

La actualidad más candente (20)

INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
Software Development Techniques
Software Development TechniquesSoftware Development Techniques
Software Development Techniques
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 
Cpu scheduling (1)
Cpu scheduling (1)Cpu scheduling (1)
Cpu scheduling (1)
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Parallel and distributed Computing
Parallel and distributed Computing Parallel and distributed Computing
Parallel and distributed Computing
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Compilers and interpreters
Compilers and interpretersCompilers and interpreters
Compilers and interpreters
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Documentation
DocumentationDocumentation
Documentation
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 

Similar a Resolucion de problemas (20)

Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Algoritmos primero
Algoritmos primeroAlgoritmos primero
Algoritmos primero
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas
 
Fp03
Fp03Fp03
Fp03
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 
Fases de un programa
Fases de un programaFases de un programa
Fases de un programa
 
Programacion
ProgramacionProgramacion
Programacion
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
MP.pptx
MP.pptxMP.pptx
MP.pptx
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Más de Pedro Salcedo Lagos

Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaTeoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaPedro Salcedo Lagos
 
Multimedios e Hipermedios Conceptos de Base
Multimedios e Hipermedios Conceptos de BaseMultimedios e Hipermedios Conceptos de Base
Multimedios e Hipermedios Conceptos de BasePedro Salcedo Lagos
 
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaTeoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaPedro Salcedo Lagos
 
Uso básico de TIC para Investigación - Parte 1 Fundamentos de Investigación
Uso básico de TIC para Investigación - Parte 1 Fundamentos de InvestigaciónUso básico de TIC para Investigación - Parte 1 Fundamentos de Investigación
Uso básico de TIC para Investigación - Parte 1 Fundamentos de InvestigaciónPedro Salcedo Lagos
 
Evolucion de la Web desde la 1.0 a la 7.0 - Dr Pedro Salcedo
Evolucion de la Web desde la 1.0 a la 7.0  - Dr Pedro SalcedoEvolucion de la Web desde la 1.0 a la 7.0  - Dr Pedro Salcedo
Evolucion de la Web desde la 1.0 a la 7.0 - Dr Pedro SalcedoPedro Salcedo Lagos
 
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI Pedro Salcedo Lagos
 
Etapas de la Metodología de la Investigación Científica
Etapas de la Metodología de la Investigación CientíficaEtapas de la Metodología de la Investigación Científica
Etapas de la Metodología de la Investigación CientíficaPedro Salcedo Lagos
 
Fundamentos de la Investigación Cuantitativa
Fundamentos de la Investigación CuantitativaFundamentos de la Investigación Cuantitativa
Fundamentos de la Investigación CuantitativaPedro Salcedo Lagos
 
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...Pedro Salcedo Lagos
 

Más de Pedro Salcedo Lagos (15)

Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaTeoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
 
Multimedia en educacion
Multimedia en educacionMultimedia en educacion
Multimedia en educacion
 
¿Qué es moodle?
¿Qué es moodle?¿Qué es moodle?
¿Qué es moodle?
 
Multimedios e Hipermedios Conceptos de Base
Multimedios e Hipermedios Conceptos de BaseMultimedios e Hipermedios Conceptos de Base
Multimedios e Hipermedios Conceptos de Base
 
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje MultimediaTeoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
Teoría de la Carga Cognitiva y Teoría Cognitiva del Aprendizaje Multimedia
 
Patrimonio ferroviario digital
Patrimonio ferroviario digitalPatrimonio ferroviario digital
Patrimonio ferroviario digital
 
Parques y reservas digital
Parques y reservas digitalParques y reservas digital
Parques y reservas digital
 
Guia del carbon digital
Guia del carbon digitalGuia del carbon digital
Guia del carbon digital
 
Uso básico de TIC para Investigación - Parte 1 Fundamentos de Investigación
Uso básico de TIC para Investigación - Parte 1 Fundamentos de InvestigaciónUso básico de TIC para Investigación - Parte 1 Fundamentos de Investigación
Uso básico de TIC para Investigación - Parte 1 Fundamentos de Investigación
 
Evolucion de la Web desde la 1.0 a la 7.0 - Dr Pedro Salcedo
Evolucion de la Web desde la 1.0 a la 7.0  - Dr Pedro SalcedoEvolucion de la Web desde la 1.0 a la 7.0  - Dr Pedro Salcedo
Evolucion de la Web desde la 1.0 a la 7.0 - Dr Pedro Salcedo
 
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI
Diseños de Experimentos - CAPITULO 07 HERNANDEZ SAMPERI
 
Etapas de la Metodología de la Investigación Científica
Etapas de la Metodología de la Investigación CientíficaEtapas de la Metodología de la Investigación Científica
Etapas de la Metodología de la Investigación Científica
 
El Proyecto
El ProyectoEl Proyecto
El Proyecto
 
Fundamentos de la Investigación Cuantitativa
Fundamentos de la Investigación CuantitativaFundamentos de la Investigación Cuantitativa
Fundamentos de la Investigación Cuantitativa
 
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...
Lexmath - Tool for the study of available lexicon in mathematics fondecyt 114...
 

Último

SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 

Último (20)

SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 

Resolucion de problemas

  • 1. Dr. Pedro Salcedo Lagos Resolución de Problemas Algoritmos y Programas
  • 2. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Modulo 2 Etapas en la solución de problemas. Concepto de Algoritmo. Concepto de programa e instrucción. Técnicas y estructuras de programación.
  • 3. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Algoritmo: Es un método para resolver problemas que consiste en dividir el mismo en un número finito de pasos elementales e indicar claramente el orden de ejecución de los mismos. Programación: Es la transformación del algoritmo en algo entendible por la computadora, para ello debe ser escrito en un lenguaje de programación (C, C++, PASCAL, BASIC, COBOL, ETC.) de acuerdo con las reglas de sintaxis del mismo. Algoritmo y Programacion
  • 4. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Las fases en la construcción de un programa para resolver un problema mediante la computadora son, en orden, las siguientes: Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas El paso cero sería Entender el problema, parece banal, pero no lo es cuando se piensa en la gran cantidad de proyectos de computación que se desarrollaron sin haber comprendido bien para que se hacían, o cual era el problema que supuestamente iban a resolver. Comprender la importancia de entender con claridad el problema antes de abocarnos a encontrar una solución. 4.1 Etapas en la solución de problemas
  • 5. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. El análisis consiste en una clara definicion del problema, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucion deseada. Dado que se busca una solución por computadora, se precisan especificaciones detalladas de entradas y salidas. Para resolver un problema con un ordenador hay que disponer de los datos de entrada, estudiar el tratamiento que se ha de realizar a dichos datos, la información que se desea obtener como resultado y de que manera debe presentarse. 4.1 Etapas en la solución de problemas
  • 6. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. Es decir, después de analizar el problema, se han de conocer claramente tres cosas. ● Datos de Entrada de que se dispone ● Proceso o Tratamiento que ha de realizarse con estos datos. ● Información de salida deseada. Una de las técnicas mas empleadas recibe el nombre de H.I.P.O. (Hierarchy the plus input process output) que consiste en esquematizar cada programa, o una parte del mismo en los tres bloques (los descritos anteriormente).. 4.1 Etapas en la solución de problemas ENTRADA PROCESO SALIDA
  • 7. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. Ejemplo Sin entrar en el campo de la informática, para hacer la nómina de los mejores alumnos de una carrera, se necesita saber: ENTRADA: Los datos de cada uno de los alumnos y si estos datos están en papel o en un fichero donde está toda la información de los alumnos. PROCESO: La fórmula matemática para calcular el promedio de notas es: (nota 1 + nota 2 + nota 3 + .....+ nota n) / cantidad de notas SALIDA: El modelo del informe donde se desean imprimir el promedio de los alumnos. 4.1 Etapas en la solución de problemas ENTRADA PROCESO SALIDA
  • 8. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. Teniendo en cuenta que un algoritmo es un método para resolver problemas, una vez analizado el mismo se precisa diseñar un algoritmo que indique claramente los pasos a seguir para resolverlo. Para realizar un determinado proceso, se le debe suministrar al ordenador una fórmula para la resolución de un problema (algoritmo), cuyo diseño debe ser independiente de la computadora que resuelve el problema. Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante será el diseño del algoritmo. En esta etapa se realizará una representación de la secuencia. Estas representaciones son las herramientas de: diagramas de flujo, pseudocódigos y/o tablas de decisión. 4.1 Etapas en la solución de problemas
  • 9. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. Una vez que el diagrama de flujo o el algoritmo de resolución del problema está definido se pasa a la fase de codificación del programa en cualquier lenguaje (C, basic, cobol, pascal, etc.) cuyo resultado será el programa fuente, el cual sigue las reglas de sintaxis que el lenguaje escogido exija. Después de codificado el programa, se introduce en el ordenador mediante unos programas especiales llamados editores. Una vez dentro del ordenador, el programa deber ser traducido al único lenguaje que éste entiende: Lenguaje de máquina. Dicha operación se realiza mediante el correspondiente programa traductor o compilador del lenguaje en el que está escrito el programa. 4.1 Resolución de Problemas con Computadora PROGRAMACION ANALISIS ALGORITMO CODIFICACION EDICION TRADUCCION
  • 10. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Análisis del problema Diseño del algoritmo Programación Ejecución y pruebas. El hecho de haber diseñado un buen algoritmo y luego haberlo codificado en algún lenguaje de programación no significa que el programa resuelva correctamente el problema en cuestión. Por eso, antes de dar por finalizada cualquier labor de programación, es fundamental preparar un conjunto de datos lo más representativo posible del problema, que permitan probar el programa cuando se ejecute y así verificar los resultados. Cuanto más exhaustivas sean las pruebas de un programa, mayor seguridad se tendrá de que éste funcione correctamente y, por lo tanto, menor posibilidad de errores. El programa se considera terminado cuando se han realizado pruebas y ensayo de su fiabilidad con el conjunto de datos seleccionados y otros nuevos, hasta incluso con datos reales, y no se encuentren errores de ningún tipo. 4.1 Resolución de Problemas con Computadora
  • 11. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Algoritmo es un conjunto ordenado y finito de pasos que especifican la secuencia de operaciones que se han de realizar para resolver un problema. Podemos entonces decir que un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas o una forma de describir la solución de un problema. (Luis Joyanes) Los algoritmos son independientes del lenguaje de programación en que se expresan como así también de la computadora que se ejecuten. Un algoritmo se puede expresar en distintos lenguajes de programación y en computadoras distintas, pero el algoritmo, los pasos a seguir para la solución del problema es siempre el mismo. Así como, cualquier cosa que ocurra en la vida cotidiana, por ejemplo, poner en movimiento un automóvil, tiene un número de pasos a seguir, sea quien sea el conductor: argentino, español, alemán, etc.- y sea cual sea el auto a conducir. 4.2 Concepto de Algoritmo
  • 12. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas En la ciencia de la computación y específicamente en la programación, los algoritmos son más importantes que los lenguajes de programación e incluso que las computadoras, dado que los lenguajes de programación son solo un medio para expresar un algoritmo y las computadoras la herramienta que los ejecuta. Debido a que la computadora es incapaz de tomar ninguna decisión propia sin que se especifique explícitamente, es imprescindible que el algoritmo elegido para resolver el problema sea absolutamente claro, sin ambigüedades y además contemple todas y cada una de las posibles situaciones que puedan presentarse durante la resolución del mismo. En general, cualquier actividad de la vida cotidiana se puede describir mediante algoritmos. Para empezar a familiarizarnos con ellos, se desarrolla a continuación en ejemplo que pone de manifiesto la necesidad de las características antes mencionadas. 4.2 Concepto de Algoritmo
  • 13. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Ejemplo Si a un experimentado conductor se le preguntase como pone en movimiento su automóvil, el contestaría: “Se pone en marcha el motor y se mete la primera”. Efectivamente es fácil. Pero ¿Qué ocurriría si el individuo nunca condujo un automóvil?. El resultado no sería muy efectivo debido a que según las instrucciones o pasos impartidos anteriormente, si estuviera en algún cambio, al poner en marcha se hubiese estrellado con lo primero que estuviese adelante o atrás. La conclusión que se debe sacar de este ejemplo es que el conductor con experiencia no tuvo en cuenta todas las posibilidades que se pueden presentar para obtener el resultado de poner el automóvil en movimiento. Por lo tanto, su algoritmo sería: Poner en marcha el motor Meter la primera 4.2 Concepto de Algoritmo
  • 14. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Ejemplo En cambio, el algoritmo más correcto podría ser: Pisar el embrague con el pie izquierdo Poner en punto muerto Dar a la llave de contacto Pisar el embrague Meter la primera Quitar el freno de mano si lo tuviese puesto. Levantar lentamente el pie del embrague a la vez que pisa el pedal del acelerador con el pie derecho ¿Por qué es más correcto este algoritmo? 1) desglosa el problema en instrucciones simples y concretas, comprensibles para cualquier individuo. 2) indica claramente el orden en que deben ejecutarse dichas instrucciones. 4.2 Concepto de Algoritmo
  • 15. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.2.1 Caracteristicas Se puede observar que el número de operaciones que realiza un algoritmo es finito siempre y cuando sus datos sean adecuados. Por consiguiente, el número de operaciones que necesitamos realizar al ejecutar un algoritmo dependerá de los datos del problema y solamente se conocerá al ejecutar este. Un algoritmo debe ser: Preciso: Debe indicar el orden de realización de cada paso. Definido: Si se ejecuta dos veces el algoritmo con los mismos datos éste debe dar el mismo resultado. Finito: Debe finalizar en algún momento o sea tener un número finito de pasos. Todo algoritmo tiene tres partes: entrada, proceso y salida, y sus pasos describen la transformación de la entrada en la salida. Si tomamos el ejemplo acerca del promedio de notas de los alumnos tenemos que: ENTRADA: las notas de los alumnos PROCESO: cálculo del promedio SALIDA: Promedio de los alumnos 4.2 Concepto de Algoritmo
  • 16. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Para que un algoritmo pueda ser resuelto por una computadora el mismo debe ser escrito (codificado) en el lenguaje de programación elegido, siguiendo las reglas de sintaxis del mismo. Esta tarea se denomina programación y el algoritmo escrito se llama programa. 4.3 Programación
  • 17. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa Los elementos de programación son aquellos que permiten definir un lenguaje de comunicación con la computadora, y como todo lenguaje consta de: El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas 4.3 Programación
  • 18. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1. Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Un carácter es un elemento pequeño utilizado en el tratamiento de la información. Un dato de tipo carácter contiene un solo carácter, siendo un carácter un conjunto finito y ordenado de caracteres que la computadora reconoce. Si bien estos caracteres no son estándar, la mayoría de las computadoras reconoce los caracteres alfabéticos, numéricos y especiales. Alfabéticos (a,b,c,d, ......z) (A,B,C,D,.........Z) Numéricos (0, 1, 2, 3, ...... 9) Especiales (+, -, *, /, < , >, $.......) 4.3 Programación
  • 19. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Es el dato cuyo valor permanece inalterado durante los diferentes tratamientos, durante el desarrollo del algoritmo o en la ejecución de un programa. 3.1415 Constante numérica A una secuencia de caracteres se la denomina cadena y si esta es una constante, se la encierra entre apóstrofos ‘Pedro Díaz' ‘ 25 de Mayo’ Si dentro de la cadena hay apóstrofos como parte de la misma, se debe colocar un par de apóstrofos ‘ Maria’’s’ 4.3 Programación
  • 20. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Variable es un dato donde su valor puede ser modificado durante la ejecución del algoritmo o en un programa. En informática, cuando hacemos mención a una variable, nos estamos refiriendo a una pequeña zona de la memoria principal donde se va a alojar un valor. Si este valor se modifica en algún momento del programa, el nuevo valor sustituirá al que existía anteriormente. A este nombre de posiciones contiguas de memoria se le dan atributos: un nombre para poder referenciarlo (nombre de la variable) y su tipo (clase de caracteres que puede contener). A una variable definida de un determinado tipo, no se le puede asignar generalmente valores de otro tipo. 4.3 Programación
  • 21. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas El nombre que se le da a una variable lo elige el programador y se debe componer de caracteres alfanuméricos, generalmente se elige como primer carácter una letra. No se deben utilizar como nombre de variables palabras reservadas del lenguaje de programación. Es aconsejable que el nombre que se le atribuya a la variable sea ‘nemotécnico’ o significativo, es decir su nombre debe guardar relación con el objeto que representa a fin de que la misma nos recuerde la naturaleza de la información que contiene. Algunos nombres de variables son: NOTA representa notas de alumnos NOMBRE_APELLIDO representa el nombre y apellido de personas PRECIO representa precios de artículos 4.3 Programación
  • 22. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Hay que diferenciar entre nombre de la variable y su contenido. El nombre es una identificación que se le da a un conjunto de posiciones contiguas de memoria, mientras que el contenido de una variable es el valor que está almacenado en dichas posiciones. 4.3 Programación 125,25 Importe Nombre de Variable Contenido
  • 23. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Hay tres tipos de operadores: aritméticos relacionales lógicos 4.3 Programación
  • 24. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Hay tres tipos de operadores: aritméticos relacionales lógicos 4.3 Programación + Suma - Resta * Multiplicación / División ** o ^ Potenciación
  • 25. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Hay tres tipos de operadores: aritméticos relacionales lógicos 4.3 Programación = Igual < Menor que <= Menor o igual que > Mayor >= Mayor o Igual que <> Distinto
  • 26. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1 Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Hay tres tipos de operadores: aritméticos relacionales lógicos 4.3 Programación AND Y OR O NOT NO
  • 27. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1. Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Reglas de Prioridad Las operaciones aritméticas siguen reglas de prioridad o precedencia y son: operador exponencial *, ^ operadores de multiplicación y división, / operadores de suma y resta +, - 4.3 Programación
  • 28. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 3.2.1. Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Las expresiones aritméticas son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Las mismas son utilizadas en notación matemática tradicional. a + (b – 20) * 2 (a + b)** 2 Cada expresión tiene un valor, que se determina tomando los valores de las variables y constantes implicadas y ejecutando las operaciones indicadas. 4.3 Programación
  • 29. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1. Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Reglas de Prioridad Las expresiones que tengan dos o más operadores requieren reglas matemáticas que permitan determinar el orden de las operaciones, dichas reglas son de prioridad o precedencia y son: ● Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen paréntesis anidados, los mismos se resuelven de adentro hacia fuera. ● Las operaciones aritméticas dentro de una expresión siguen el siguiente orden de prioridad: ● Operador exponencial ● Operadores * y / (multiplicación y división) ● Operadores + y - (suma y resta) En el caso de coincidir operadores de igual jerarquía en una expresión encerrada entre paréntesis, el orden de prioridad se resuelve de izquierda a derecha. 4.3 Programación
  • 30. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.1. Elementos básicos de un programa El juego de caracteres [ 1,2...0,a,b......z,*,-( )...] Constantes Variables Operadores Expresiones aritméticas Ejemplo ( (4-2) * (5 + 1) / 2) ** 2 – (4 + 3) (2 * (5 + 1) / 2) ** 2 – (4 + 3) (2 * 6 / 2) ** 2 – (4 + 3) (12 / 2) ** 2 – (4 + 3) 6 ** 2 – (4 + 3) 6 ** 2 – 7 36 - 7 29 4.3 Programación
  • 31. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas 4.3.2 Instrucciones Como ya se mencionó anteriormente, un algoritmo es un conjunto de acciones que se han de ejecutar para la resolución de un problema. A cada una de estas acciones se le denomina Instrucción o Sentencia. Un conjunto de Instrucciones forma un programa. Las instrucciones se deben escribir y luego almacenar en memoria en el mismo orden en que han de ejecutarse, es decir, en secuencia. Las instrucciones básicas que se pueden implementar en un algoritmo soportan todos los lenguajes de programación. Dicho de otro modo, las instrucciones básicas son independientes del lenguaje de programación. La clasificación más corriente es: Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control 4.3 Programación
  • 32. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Son las instrucciones que ordenan el comienzo o fin del algoritmo. Todo programa debe comenzar con la instrucción INICIO o COMENZAR o su simbología correspondiente Todo programa debe finalizar con la instrucción FIN o PARAR o su simbología correspondiente. 4.3.2 Instrucciones
  • 33. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Aritméticas Cualquier operación aritmética que se desea realizar es llamada con este nombre. Tienen dos etapas: La ejecución de la operación, que implica la obtención de un resultado. Una transferencia para almacenar en un campo de la memoria el resultado obtenido. La forma general de la instrucción aritmética es: b  a o a = b donde: a es el nombre de una variable donde se almacena el resultado de b, y b es una expresión aritmética 4.3.2 Instrucciones
  • 34. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Aritméticas Ejemplo: Sumar el contenido de los campos A y B La instrucción sería (ver figura 1.16): A + B  C o C = A + B 4.3.2 Instrucciones 10 20 8 A B C ANTES 10 20 30 A B C DESPUES
  • 35. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Esta instrucción introduce datos desde algún dispositivo de entrada. Una instrucción de Entrada implica la introducción de datos en la memoria principal del ordenador desde dispositivos externos a la misma, por ejemplo, el teclado, un diskette, etc.- En la memoria principal solo pueden guardarse valores mediante su almacenamiento en variables. Por eso, cualquier operación de entrada lleva implícita la asignación del valor introducido en una variable de memoria a la que se deberá hacer referencia cuando se necesite. 4.3.2 Instrucciones DISPOSITIVO EXTERNO MEMORIA PRINCIPAL
  • 36. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Ejemplo Si se tiene una instrucción de este tipo: 1. Leer (A, B, C) Lo que se lee es 10, 20, 30 y se asignarán a las variables los siguientes valores: A = 10 B = 20 C = 30 2. Leer (Nombre, Domicilio) Lo que se lee es Juana, San Juan 1220 y se asignarán a las variables lo siguiente: Nombre = Juana Domicilio = San Juan 1220 4.3.2 Instrucciones
  • 37. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Permiten la salida de datos desde la memoria principal del ordenador hacia dispositivos externos de salida; por ejemplo impresoras, pantalla, disquete, disco duro, etc Ejemplo Si queremos imprimir o visualizar en pantalla los valores de las variables anteriores A, B y C, el resultado sería: 10, 20, 30 4.3.2 Instrucciones DISPOSITIVO EXTERNO MEMORIA PRINCIPAL
  • 38. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control El modo en que un ordenador ejecuta las instrucciones contenidas en un programa es, normalmente, secuencial; es decir, una detrás de otra en el orden que están escritas. Sin embargo, si esta fuera la única forma de ejecución posible, el programa tendría que realizar siempre las mismas acciones, independientemente de los datos que se le dieran de entrada en cada ejecución. Con el fin de poder dotar a los programas de cierta capacidad de decisión sobre los tratamientos que debe aplicar a cada caso, los lenguajes de programación permiten la definición de instrucciones de control distintas a la secuencial. Este es el caso de las instrucciones condicionales e incondicionales. 4.3.2 Instrucciones
  • 39. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Condicional Recibe también el nombre de bifurcación condicional, y es aquella que, bajo la comprobación de veracidad o falsedad de una condición, ejecuta dos grupos de acciones diferentes. En diagramación las interrogaciones se realizan mediante el símbolo de decisión, dentro de este se especifica la comparación deseada con dos salidas. 4.3.2 Instrucciones A < B SINO ACCION 1ACCION 2 ACCION3
  • 40. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Instrucciones de Comienzo y Fin Instrucciones de transferencia Instrucciones de entrada Instrucciones de salida Instrucciones de control Incondicional Recibe también el nombre de bifurcación incondicional, e indica un cambio en la secuencia de una ejecución sin evaluar ninguna condición previa. 4.3.2 Instrucciones A < B Accion 2Acción 1 NoSI Accion 3
  • 41. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Contadores Como se mencionó anteriormente, una variable es un campo capaz de almacenar un valor. Este valor, dependiendo de las necesidades del programa, puede variar a lo largo del mismo, por ejemplo muchas veces en los procesos de bucles necesitamos saber el número de iteraciones a realizar por el bucle, o se desea saber cuantos registros hay en un archivo. Una forma de obtener estos resultados es usando un contador. Un contador es una variable numérica cuyo valor se incrementa o decrementa con cantidad fija o constante 1. La forma de incrementar/decrementar el contador es mediante una instrucción del tipo C = C + 1 Siendo C la variable contador, y 1 el incremento/decremento constante. Los contadores que se utilizan en un programa deben inicializarse con un valor, generalmente cero, que se les asigna fuera del ámbito de la iteración para limpiar la variable de posibles valores anteriores. Además, hay lenguajes que no permiten una instrucción de este tipo si el contador no se encuentra inicializado. 4.3.3 Elementos básicos de programación
  • 42. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Contadores La acción de inicializar un contador puede ser: C = 0 , CONTA = 0, A = 1 Como los contadores corresponden a las instrucciones del tipo aritméticas, entonces si tenemos la expresión C = C + 1 resulta: Añadimos el valor 1 al contenido actual de C Dejamos el nuevo valor otra vez en C En general, la función más usual de un contador es la de controlar el número de iteraciones que se van realizando en un bucle y asimismo determinar cuando salir de él. También puede irse incrementando o decrementando dentro del bucle cada vez que este se realiza, pero no intervenir en la condición para salir del mismo. Lo que sí debe quedar claro, es que un contador está siempre asociado a un bucle. 4.3.3 Elementos básicos de programación
  • 43. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Acumuladores Un acumulador es una variable cuyo valor sé incrementa/decrementa con cantidades variables. Realmente, realiza la misma función que un contador con la diferencia de que en un acumulador el valor se incrementa o decrementa no es fijo, mientras que en un contador si lo es. Los acumuladores se usan para calcular totales, entendiendo como total la suma acumulada de diversas cantidades. La instrucción del acumulador sería: ACUM = ACUM + V Donde ACUM es el acumulador y V el valor variable Los acumuladores tienen el mismo tratamiento que los contadores en los programas, se deben inicializar en cero fuera del ámbito de la iteración. 4.3.3 Elementos básicos de programación
  • 44. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Acumuladores Ejemplo: Se quiere sumar las notas obtenidas por un alumno y las mismas son: 7, 6.50, 8, 9.50. Para ello necesitamos una variable numérica que la llamamos SUMANOTAS, que irá conteniendo las sumas parciales que se van obteniendo. A la variable SUMANOTAS se la supone con un valor inicial 0. Los diferentes valores que irá tomando se muestran en la gráfica siguiente: 4.3.3 Elementos básicos de programación 0 7 13.500 + 7 7 + 6.50 21.50 3121.50 + 9.50 13.50 + 8 SUMANOTAS SUMANOTAS SUMANOTAS SUMANOTAS SUMANOTAS NOMBRE DE VARIABLE CONTENIDO DE LA VARIABLE
  • 45. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Las estructuras de un lenguaje de programaciòn son mètodos de especificar el orden en que las instrucciones de un algoritmo se ejecutaràn. El orden de ejecuciòn de las sentencias o instrucciones determina el flujo de control. Estas estructuras son por consiguiente, fundamentales en los lenguajes de programaciòn y en los diseños de algoritmos. Las tres estructuras basicas son: Secuencial Seleccion Repetición o Iteración 4.5 Técnicas y estructuras de programación.
  • 46. Computacion - FA.CE.NA. Resolución de Problemas con Computadoras. Algoritmos y Programas Teorema de la programacion estructurada: estructuras básicas En mayo de 1.966 Bôhm y Jacopini demostraron que un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control: Secuenciales Selectivas Repetitivas Un programa se define como propio si cumple con las siguientes caracteristicas: Posee un solo punto de entrada y uno de salida o fin para control del programa. Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas las partes del programa. Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos. 4.5 Técnicas y estructuras de programación.