Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fund A Mentos
Fund A Mentos
FACULTAD DE INGENIERIA
DIVISIÓN DE INGENIERÍA ELÉCTRICA
COMPUTACIÓN PARA INGENIEROS
NOTA IMPORTANTE: Para complementar este tema
es necesario bajar e imprimir el artículo
Herramientas de Programación que se encuentra
en el apartado Artículos
Descripción Representación
FUNDAMENTOS DE ALGORITMOS
Modelo: Especificación, generalmente en términos de un
lenguaje matemático, de los pasos necesarios para
reproducir, aquí y ahora, un subconjunto determinado de
la realidad descrito previamente
Pregunta:
¿Todo aquello que es descriptible es representable?
¿Habrá una representación que simule completamente lo
descrito?
Cuanto más adecuada sea la descripción del proceso,
tanto mejor será el resultado que emula lo real
FUNDAMENTOS DE ALGORITMOS
Supongamos que se crea una máquina para
producir descripciones en términos de cadenas de
símbolos.
Dada una descripción cualquiera, la analiza durante
un tiempo finito y después emite su dictámen (si o
no) con respecto al problema
Procedimiento SI
Descripción De HAY
decisión SOLUCIÓN
NO
S10 S0 S7 S14 S4 S2 …
CONTROL
FINITO
FUNDAMENTOS DE ALGORITMOS
Teoría de la computabilidad Encontrar formas de
representar descripciones de procesos, de manera tal
que siempre se pueda decir que la solución de un
problema existe o no
Un problema se dice que es Computable si existe una
máquina de decisión para él
Pregunta: ¿Todos los procesos son computables?
Un problema se dice que es No Computable si la
máquina de decisión para él llega a un estado en donde
no es capaz de decir que si o que no
FUNDAMENTOS DE ALGORITMOS
r Fin
A
FUNDAMENTOS DE ALGORITMOS
Identificadores:
– Deben empezar con letra, excepto ñ o Ñ, o guión bajo
y estar seguidos de cero o más letras, números o
guiones bajos
– No se permiten símbolos como
– $ ¡ ! ¿ ? ° | & - % # @ , . ‘ “ / \ o espacios en blanco y
tabuladores
Palabras reservadas: Existe un conjunto
palabras que se utilizan tanto en pseudocódigo
como en los lenguajes de programación no
pueden ser utilizadas como nombres de
identificadores ni de funciones.
FUNDAMENTOS DE ALGORITMOS
OPERACION DE ASIGNACION
Se le otorgan valores a una variable. Esta operación
de asignación se conoce como instrucción o
sentencia de asignación, si es que está en un
lenguaje de programación
La operación de asignación es representada por un
símbolo u operador:
La acción de asignar puede ser destructiva ya que
puede perderse el valor que tuviera la variable
antes, siendo reemplazado por el nuevo valor. Las
acciones de asignación se clasifican según sea el
tipo de expresiones en: Asignación aritméticas,
Asignación lógica y Asignación de caracteres
FUNDAMENTOS DE ALGORITMOS
EXPRESIONES
Son la combinación de constantes, variables, símbolos
de operación, paréntesis y nombres de funciones
especiales, idea que puede ser utilizada en notaciones
de matemática tradicional. Los valores de las variables
nos permitirán determinar el valor de las expresiones,
debido a que éstos están implicados en la ejecución de
las operaciones indicadas. Estas constan de operandos y
operadores.
Según el tipo de objetos que manipulan, pueden
clasificarse en:
– Aritméticas -> resultado tipo numérico.
– relacionales -> resultado tipo lógico.
– lógicas -> resultado tipo lógico.
– caracter -> resultado tipo caracter.
FUNDAMENTOS DE ALGORITMOS
Expresiones Aritméticas
Estas expresiones son análogas a las fórmulas
matemáticas. Las variables y constantes son
numéricas (real o entera) y las operaciones son las
aritméticas
Operadores aritméticos
Precedencia
- (operador monario)
^ (exponenciación), (radicación)
*, / (división real),
+, -
div o / (cociente de división entera) , mod o %
(residuo de división entera)
FUNDAMENTOS DE ALGORITMOS
Expresiones lógicas: Su valor es siempre
verdadero o falso.
Se forman combinando constantes lógicas ,
variables lógicas y otras expresiones lógicas,
utilizando los operadores lógicos y los
operadores relacionales
Operadores relacionales
Precedencia
>, <
>=, <=
= o == (igualdad)
<> o != (desigualdad)
FUNDAMENTOS DE ALGORITMOS
Operadores lógicos
A NOT
Precedencia
F V
! o ~ o not (negado)
V F
and o && (conjunción)
or o || (disyunción) A B AND OR
Nota: En C un valor F F F F
falso se toma como 0 y F V F V
un valor verdadero se V F F V
toma como cualquier
valor diferente de cero V V V V
FUNDAMENTOS DE ALGORITMOS
ENTRADA Y SALIDA DE INFORMACION
El ingreso de datos es importante para que la
computadora realice los cálculos; esta operación es
la entrada, luego, estos datos se convertirán en
resultados y serán la salida.
A la entrada se le conoce como operación de
Lectura (read). La operación de lectura se realiza a
través de los dispositivos de entrada que son
(teclado, unidades de disco, CD-Rom, etc.).
La operación de salida se realiza por medio de
dispositivos como (monitor, impresora, etc), a esta
operación se le conoce como escritura (write).
INTRODUCCION A LA
PROGRAMACION ESTRUCTURADA
ESTRUCTURA SECUENCIAL
Es la estructura en donde una acción (instrucción) sigue
a otra de manera secuencial.
Las tareas se dan de tal forma que la salida de una es la
entrada de la que sigue y así en lo sucesivo hasta
cumplir con todo el proceso.
PROGRAMACION ESTRUCTURADA
ESTRUCTURA DE DECISIÓN
Decisión: Elegir una alternativa o camino en el flujo del
algoritmo cuando se cumpla o no una determinada
condición.
El resultado de la condición se evalúa como falso o
verdadero y se obtiene al comparar dos expresiones
mediante operadores relacionales. De ser necesario
realizar más de una comparación al mismo tiempo se
asocian con operadores lógicos
Guía de referencia rápida de lenguaje
C
Estructuras de control
PROGRAMACION ESTRUCTURADA
Estructuras de control
Decisiones (cont.)
En algunas ocasiones para realizar
las comparaciones también se
hace uso de una variable
booleana o bandera (flag). Una
bandera es una variable que sólo
puede tener dos valores: falso o
verdadero
PROGRAMACION ESTRUCTURADA
Estructuras de control
Ciclo, loop, lazo o bucle: Repetir un conjunto de
instrucciones varias veces con base en que se cumpla o no
una determinada condición.
A cada ejecución del conjunto de instrucciones en un ciclo se
le llama iteración
PROGRAMACION ESTRUCTURADA
Tipos de ciclos:
– Mientras (while): Se lleva a cabo mientras se cumpla una
condición. Primero evalúa la condición y luego ejecuta el conjunto
de instrucciones. De no cumplirse la condición desde el inicio, no
hace nada y sigue con el flujo normal del algoritmo
– Hacer mientras (do while): Realiza un conjunto de instrucciones
y continua mientras se cumpla una condición. A diferencia del
anterior, este ciclo se ejecuta por lo menos una vez
– Desde hasta (for): Se utiliza cuando se conoce el número de
veces que se va a repetir un conjunto de instrucciones. Requiere
de un valor inicial, un valor final y un contador
PROGRAMACION ESTRUCTURADA
Decisiones anidadas
Cuando se tiene una serie de
estructuras de control de la forma
PROGRAMACION ESTRUCTURADA
si condición1 entonces
– si condición2 entonces
…
si condiciónN entonces
sino
fin_si
– sino
– fin_si
sino
fin_si
PROGRAMACION ESTRUCTURADA
10 0 7 14 4 2 -10
Funciones comunes a todos los
lenguajes de programación
Matemática Algorítmica Matemática Algorítmica
x abs(x) sinh(x)
senh ( x )
x
sqrt(x) cosh ( x ) cosh(x)
tanh ( x )
ex exp(x) tanh(x)
ln ( x ) log(x) senh- 1 ( x ) asinh(x)
cosh - 1 ( x )
log10 ( x ) log10(x) acosh(s)
sin(x) tanh - 1 ( x ) atanh(x)
sen ( x )
cos ( x ) cos(x)
tan ( x )
tan(x)
sen- 1 ( x ) asin(x)
cos- 1 ( x )
acos(s)
tan - 1 ( x ) atan(x)
Cadenas y sus operaciones
Representación
Dependiendo del lenguaje las cadenas se
pueden representar entre comillas simples o
dobles
Por ejemplo:
‘cadena con comillas simples’
Búsqueda de subcadenas
Una operación frecuente es tratar de localizar si una
cadena forma parte de una cadena más grande o
buscar la posición en que aparece determinado
caracter o secuencia de caracteres de texto
var cadena1: cadena
var posicion:entero
cadena1 <- “hola qué tal”
posicion <- instr$ cadena1, “la”
print posicion
{Muestra en pantalla 2}
Cadenas y sus operaciones