Title: ALGORITMOS
1ALGORITMOS
- Lic. Carla Aguirre Montalvo
2Primitivas de delimitación de Acción La mayoría
de las primitivas tienen un rango de
acción. Necesitamos indicar donde comienza y
donde termina la acción de una primitiva.
Ejemplo Algoritmo para lavarse las manos
inicio
1.- Activar el agua 2.- Mojarse las
manos 3.- Aplicar jabón 4.- Enjuagarse las
manos 5.- Desactivar el agua 6.- Secarse las
manos
Fin
3Primitivas de Entrada y Salida de Datos Los
algoritmos para solucionar un problema
necesitaran datos, y de la misma manera
necesitaran entregar resultados. Esto nos lleva
a la necesidad de utilizar algún medio para poder
comunicarnos con el algoritmo.
4Instrucciones de Asignación
Ejemplo 1 A 80
La variable A toma el valor de 80
Antes de la ejecución de las tres instrucciones,
el valor de A, B y C es indeterminado. Si se
desea darles un valor inicial habrá que hacerlo
explícitamente. A 0 B 0 C 0
Ejemplo 2 A 12 B A C B
Ejemplo3 A 10 B 20 AUX A A B B AUX
A toma el valor 10 B toma el valor 20 AUX toma
el valor de A, o sea, 10 A toma el valor de B,
o sea, 20 B toma el valor de AUX, o sea, 10.
5Instrucciones de Lectura de Datos
Leer (numero, horas, tasa)
- Lea del teclado los valores de las variables
NUMERO, HORAS y TASA almacenándolas en la
memoria. - Si los tres números que se digitan en respuesta a
la instrucción son 12325, 32, 1200, significaría
que se han asignado a las variables esos valores
y equivaldría a la ejecución de las instrucciones
La sintaxis de estas primitivas es un poco más
complejaya se darán cuenta
Numero 12325 horas 32 tasa 1200
6Problema N1 Estructuras Secuenciales
DEFINICION DEL PROBLEMA. Construir un algoritmo
que permita sumar dos números.
ANALISIS DEL PROBLEMA.
Cuál es la información que debemos dar como
salida?
Qué datos se necesitan para resolver el problema?
Entrada
Proceso
Salida
Qué información necesitamos que nos proporcione
el usuario para poder obtener una solución al
problema?
Qué información debe proporcionar la resolución
del problema?
7Problema N1 Estructuras Secuenciales
DEFINICION DEL PROBLEMA. Construir un algoritmo
que permita sumar dos números.
ANALISIS DEL PROBLEMA.
Debo obtener dos números cual quiera, luego
sumarlos para obtener el resultado
8Problema N1 Estructuras Secuenciales
ANALISIS DEL PROBLEMA.
Entrada
Proceso
Salida
Variable C
Sumar C A B
Variables A B
Existen variables de proceso? No.
9Identificadores
- Los identificadores representan los datos de un
programa (constantes, variables, tipos de datos).
Un identificador es una secuencia de caracteres
que sirve para identificar una posición en la
memoria de la computadora, que nos permite
accesar a su contenido..
- Un identificador es un nombre simbólico que se
refiere a un dato o programa determinado. Es muy
fácil elegir identificadores cuyo nombre guarde
estrecha relación con el sentido físico,
matemático o real del dato que representan
10Identificadores
- Ejemplo, es lógico utilizar un identificador
llamado salario_bruto o salarioBruto para
representar el coste anual de un empleado. El
usuario no tiene nunca que preocuparse de
direcciones físicas de memoria el sistema se
preocupa por él por medio de una tabla, en la que
se relaciona cada identificador con el tipo de
dato que representa y la posición de memoria en
la que está almacenado.
A B C
11Identificadores
- Debe comenzar con una letra (A a Z, mayúsculas o
minúsculas) y no deben contener espacios en
blanco.
- Puede tener una longitud hasta 255 caracteres
- No se admiten espacios o caracteres en blanco, ni
puntos (.), ni otros caracteres especiales.
- Los caracteres pueden ser letras, dígitos, el
carácter de subrayado (_) y los caracteres de
declaración del tipo de la variable (, , , !,
_at_, y ).
12Identificadores
- El nombre de una variable no puede ser una
palabra reservada del lenguaje (For, If, Loop,
Next, Val, Hide, Caption, And, ...). Para saber
cuáles son las palabras reservadas en un lenguaje
puede utilizarse el Help del lenguaje de
programación, buscando la referencia Reserved
Words
- La declaración de una variable o la primera vez
que se utiliza determnan cómo se escribe en el
resto del programa. Por tanto, las variables
LongitudTotal y longitudtotal son consideradas
como idénticas.
13Variable
- Una variable es un nombre que designa a una zona
de memoria (se trata por tanto de un
identificador), que contiene un valor de un tipo
de información. Tal y como su nombre indica, las
variables pueden cambiar su valor a lo largo de
la ejecución de un programa. .
- Las variables son valores expresados en letras
que van variando en la estructura de un algoritmo
por ejemplo tenemos como variables a - A 5 significa que la variable A vale
5 - XYZ1 significa que la variable XYZ tiene
un valor en un algoritmo 1 - Chola significa que la variable C tiene
el valor de una palabra que es hola
14Constante
- Una constante es un valor continuo en la
estructura de un programa que no tiende a cambiar
como una variable sino es fijo como por ejemplo
- Completando a las variables existe lo que se
denomina constantes las cuales son
identificadores pero con la particularidad de que
el valor que se encuentra en ese lugar de la
memoria sólo puede ser asignado una única vez. - PI 3.14163
- E 2.718282
15Operadores
- Los operadores son símbolos que utilizamos para
realizar operaciones y comparaciones. - Tipos de operadores
- Operadores aritméticos
- Operadores relacionales
- Operadores lógicos
16Operadores II
- Operadores aritméticos
- ? suma
- - ? resta
- ? multiplica
- / ? divide
- ? potencia o exponenciación
- mod ? Residuo
- \ o div ? División entera
17Representación
- Operando (operador) Operando
- Valor
- Entero o real
- Los operadores aritméticos pueden ser utilizados
con tipos de datos enteros o reales. Si ambos son - enteros, el resultado es entero si alguno de
ellos es real, el resultado es real.
18Operadores III
- Lista de operadores relacionales
- ? igual que
- gt ? mayor que
- gt ? mayor o igual que
- lt ? menor que
- lt ? menor o igual que
- ltgt ? diferente que
19Operadores IV
- Lista de operadores logicos
- AND ? significa y (and)
- OR ? significa o (or)
- NOT ? significa negacion no (not)
20Representación
- Expresión (operador) Expresión
- Relacional Relacional
- Falso
- o Verdadero
- Los operadores Lógicos están compuestos por
expresiones relacionales, para obtener un
resultado de Falso o Verdadero.
21Jerarquía de Operadores
- Las expresiones tienden a tener una regla de
prioridad, ya que puede haber confusión por cual
operación el computador debe comenzar es por eso
que a continuación se describen éstas reglas - a) Las operaciones que están encerradas entre
paréntesis se evalúan primero. Si existen
diferentes paréntesis anidados(interiores unos a
otros), las expresiones más internas se evalúan
primero. - b) Las operaciones aritméticas dentro de una
expresión pueden seguir el siguiente orden de
prioridad. - Operador exponencial
- Operador de , /
- Operadores , -
- Operadores div, mod
- En caso de coincidir varios operadores de igual
prioridad en una expresión o subexpresión
encerrada entre paréntesis, el orden de prioridad
en éste caso es de izquierda a derecha.
22Jerarquía de Operadores (Ejercicios)
- 15 mod 12 9
35 mod 21
13