SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Computadora: Maquina o aparato
electrónico capaz de ejecutar
operaciones repetitivas a muy alta
velocidad.
Entrada = Datos Salida = InformaciónPROCESADOR
Representación de algún hecho,
concepto o entidad real (los datos
pueden tomar diferentes formas; por
ejemplo palabras escritas o habladas,
números y dibujos).
Datos procesados y organizados.
COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
HARDWARE: Conjunto de
componentes físicos de la
computadora (equipo físico)
SOFTWARE: Conjunto de
programas que controlan el
funcionamiento de una
computadora (equipo lógico).
Memoria
central
Unidad central
de
procesamiento
Dispositivos de
entrada/salida
E/s
(Periféricos)
Almacenamiento
secundario
(memoria
auxiliar)
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
1. Definición o análisis del
problema: Descripción
específica y comprensible
del problema a resolver
2. Diseño del algoritmo:
Planteamiento de los
pasos a seguir para
resolver el problema
3. Transformación del
algoritmo en un programa
independientemente del
lenguaje de programación.
4. Ejecución y validación del
programa
5. Mejoras y correcciones al
programa
LENGUAJES DE PROGRAMACION
• Cuando el procesador es
una computadora el
algoritmo ha de expresarse en
una forma que recibe el
nombre de programa. Un
programa se escribe en un
lenguaje de programación.
• Programación: Actividad
que consiste en expresar un
algoritmo en forma de
programa.
• Instrucción: Es cada uno de
los pasos que se ejecutan en
el programa.
Computadora
mata a
Flanders
???????
Principales lenguajes utilizados en la actualidad:
• Lenguaje de maquina.
• Lenguaje de bajo nivel.
• Lenguaje de alto nivel
CONCEPTO DE PROGRAMA
Serie de instrucciones que indican de forma precisa y exacta al
computador qué tiene que hacer.
PROGRAMA DEFINICIÓN
La comunicación con el computador se realiza utilizando un lenguaje
determinado, un lenguaje de programación.
Semántica se refiere a lo que se puede decir (contenido).
Sintaxis se refiere a como hay que decirlo (continente).
LENGUAJES DE PROGRAMACIÓN
1. Generación del algoritmo.
2. Generación del código fuente.
3. Compilación a objeto.
4. Ligar las llamadas a funciones no resueltas.
PASOS PARA CREAR UN PROGRAMA
CONCEPTO DE ALGORITMO
Un conjunto finito, ordenado de reglas o instrucciones bien
definidas, tal qué siguiéndolas paso a paso se obtiene la solución a
un dado problema.
ALGORITMO DEFINICIÓN
EFICAZ: resuelva el problema  mínimo que debe ser.
EFICIENTE: recursos utilizados  memoria (espacio) y tiempo
QUE BUSCAMOS:
ENTRADA
INFORMACIÓN
PROCESO
INFORMACIÓN
SALIDA
INFORMACIÓN
SENTENCIAS ENTENDEMOS
Un lenguaje de programación definimos un programa como un
conjunto de sentencias.
INTRODUCCIÓN A LA PROGRAMACIÓN
Una sentencia es una aserción matemática o lógica.
SENTENCIAS CLASIFICACIÓN
• Declaración  NO implican operación matemática o lógica.
• Ejecutables  SI implican operación matemática o lógica.
• Comentario  ignoradas por el computador
SENTENCIAS CONSTRUCCIÓN
• Datos
• Instrucciones
• Operadores
FUNDAMENTOS DE ALGORITMOS
• Algoritmo: Conjunto ordenado y finito de pasos u
operaciones que permite hallar la solución de un
problema. Es un método formal y sistemático de
representar la descripción de un proceso.
• CARACTERÍSTICAS:
– Definido: debe indicar el orden de la realización de cada paso y no debe
tener ambigüedad
– Preciso: Si se sigue dos veces o más se obtendrá e el mismo resultado
cada vez
– Finito: Debe terminar en algún momento. Tiene un número
determinado de pasos
FUNDAMENTOS DE ALGORITMOS
– Correcto: Sin errores
– Debe tener al menos una salida
– Su solución debe ser concreta
– Debe ser sencillo y legible
– Eficiente y efectivo
– Se ha de desarrollar en el menor tiempo posible
• Un algoritmo debe describir tres partes:
– Entrada(s) : elementos o condiciones iniciales
necesarios para resolver el problema.
– Proceso : elaboración del procedimiento.
– Salida(s): Resultados que se desean obtener
FUNDAMENTOS DE ALGORITMOS
• Pseudocódigo: Representación descriptiva de las operaciones de un
algoritmo. Representa una secuencia lógica de actividades, que
llevarán en conjunto a la solución de un problema. Los elementos
que debe llevar un algoritmo son
– Cabecera del algoritmo: Existen pasos o procedimientos que se
realizan para comenzar un programa. Siempre que se haga debe
ponerse un encabezado de programa, en donde debe expresarse
el identificador o nombre correspondiente con la palabra
reservada que señale el lenguaje, generalmente ésta suele ser
program que en algoritmia significa algoritmo
– Declaración de Variables: En este punto se describen todas las
variables que son usadas en el algoritmo, haciendo una lista de
sus nombres y especificando a qué tipo corresponde cada uno.
FUNDAMENTOS DE ALGORITMOS
– Declaración de Constantes: En este punto se declararán
todas las constantes de carácter estándar; es decir, que
tengan nombre y un valor ya conocido o valores que ya no
pueden variar en el transcurso del algoritmo
– Cuerpo del algoritmo: Una vez añadidas la cabecera y la
declaración de variables y constantes se procede a realizar
los pasos del algoritmo
FUNDAMENTOS DE ALGORITMOS
Algoritmo Área_Círculo
{Cálculo del área de un circulo
pidiendo el radio al usuario}
var r, A: real
cte: p:real
Inicio
Mostrar “Dame el radio”
Leer r
A <- p*r^2
Mostrar “El área es:”, A
Fin
• Cabecera
– Nombre del algoritmo
– {Comentario con descripción del
problema}
• Declaración de variables y
constantes
• Cuerpo del algoritmo
FUNDAMENTOS DE ALGORITMOS
• Instrucciones que se le dan a la
Computadora
• Un algoritmo se compone de muchos
pasos, todos diferentes, los que son
interpretados como instrucciones (lenguaje
de bajo nivel), sentencias o proposiciones
(lenguaje de alto nivel). Entonces, en un
programa, la secuencia de instrucciones
especifica las operaciones que la
computadora debe realizar.
FUNDAMENTOS DE ALGORITMOS
• Las instrucciones básicas y comunes pueden dividirse en
cuatro grupos:
– Instrucciones de Entrada /Salida: Transferencia de datos
e información entre dispositivos periféricos (teclado,
impresora, unidad de disco, etc.) y memoria central.
– Instrucciones Aritmético-Lógicas: Tienen la función de
ejecutar operaciones aritméticas (suma, resta,
multiplicación, división, potenciación), lógicas
(operaciones and, or, not, etc.).
– Instrucciones Selectivas: Estas permiten la elección de
una tarea entre varias alternativas en función de los
resultados de diferentes expresiones condicionales.
– Instrucciones Repetitivas: Permiten la repetición de
secuencias de instrucciones, un número determinado o
indeterminado de veces.
FUNDAMENTOS DE ALGORITMOS
• CONSTANTES Y VARIABLES
• Las constantes son datos cuyos valores no cambian, pero
existen datos cuyos valores sí varían durante la ejecución
del programa, a éstos los llamamos variables. En la
mayoría de los lenguajes de programación se permiten
diferentes tipos de constantes: enteras, reales, caracteres
y boolean o lógicas, quienes representan datos de estos
tipos.
• Entonces una variable se conoce como un objeto, o
partida de datos cuyo valor puede cambiar durante la
ejecución del algoritmo o programa.
• A las variables y a las constantes se les conoce o identifica
por los atributos siguientes: nombre o identificador que
lo asigna y tipo que describe el uso de la variable.
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 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
• 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).
DATOS
ENTEROS
NUMÉRICOS
REALES
CARACTERES
NO NUMÉRICOS
LÓGICOS
DATOS
PROGRAMA OPERACIONES SOBRE DATOS
DATOS PRIMITIVOSESTRUCTURAS DE DATOS
TIPOS DE DATOS PRIMITIVOS
VARIABLES Y CONSTANTES
VARIABLES ENTENDEMOS
Datos que pueden VARIAR su VALOR.
CONSTANTES ENTENDEMOS
Datos que NO pueden VARIAR su VALOR.
NOMBRE Y TIPO (Datos Primitivos)
VARIABLES Ej.: total, cuenta, suma, apellido.
NOMBRE Y TIPO (Datos Primitivos)
CONSTANTES Ej.: 1.0, CARLOS, verdadero, 67, Carlos
INSTRUCCIONES
ASIGNACIÓN
total = 5.0
total  5.0
total  total + 1.0
Nombre_de_variable  expresión
ENTRADA/SALIDA
leer
escribir
Nos referiremos a los DISPOSITIVOS POR DEFECTO (hardware):
leer (desde teclado)
escribir (a la pantalla – monitor)
INSTRUCCIONES
RAMIFICACIÓN
CONDICIONES o DECISIONES
REPETICIONES, BUCLES o ITERACIONES
CONDICIONES o DECISIONES
Concepto de PREDICADO
REPETICIONES, BUCLES o ITERACIONES
CONDICIÓN + SALTO INCONDICIONAL
PROGRAMACIÓN
ESTRUCTURADA
IR A rompe la secuencia
OPERADORES
Igual ==
Distinto !=
Mayor >
Menor <
Mayor o igual >=
Menor o igual <=
RELACIONALES
Suma +
Resta –
Multiplicación *
División /
Exponenciación **, ^
Resto %
ARITMÉTICOS
Incremento unidad ++
Decremento unidad – –
IN/DECREMENTO
“y” lógico &&
“o” lógico II
“no” lógico !
LÓGICOS
PRECEDENCIA
FUNDAMENTOS DE ALGORITMOS
• Operadores lógicos
• Precedencia
• ! o ~ o not (negado)
• and o && (conjunción)
• or o || (disyunción)
• Nota: En C un valor
falso se toma como 0 y
un valor verdadero se
toma como cualquier
valor diferente de cero
A NOT
F V
V F
A B AND OR
F F F F
F V F V
V F F V
V V V V
INTRODUCCIÓN A LA PROGRAMACIÓN
Todo programa con un único punto de entrada y un único punto
de salida, cuyas sentencias se alcancen en algún momento y
que no posea bucles infinitos (PROGRAMA PROPIO) se puede
construir con tres constructores elementales: SECUENCIA,
SELECCIÓN y BUCLE.
Teorema de la ESTRUCTURA
¿Dado un PROBLEMA, definido el ALGORITMO como vamos a
construir el PROGRAMA?
Tenemos los elementos del LENGUAJE:
DATOS, INSTRUCCIONES y OPERADORES.
LENGUAJES DE PROGRAMACION
LENGUAJE DE MAQUINA
• Están escritos en un lenguaje
directamente inteligible por la
maquina. Las instrucciones consisten
en cadenas binarias que especifican
una operación, y las posiciones
(dirección) de memoria implicadas
en la operación.
• Dependen del hardware de la
computadora (PC diferente de
Macintosh)
00001011011100001010
LENGUAJES DE PROGRAMACION
LENGUAJE DE BAJO NIVEL
• Es un lenguaje mas fácil de usar que el lenguaje de
maquina.
• Las instrucciones del lenguaje ensamblador son
conocidas como nemotécnicos (ADD, SUB, DIV, etc.).
ADD N,M,P = 0110 1001 1010 1011
• Un programa escrito en lenguaje ensamblador no
puede ser ejecutado directamente por la
computadora por lo que requiere de una fase de
traducción a lenguaje de maquina.
• Ensamblador.
ADD N,M,P
0110 1001 1010 1011
LENGUAJES DE PROGRAMACION
LENGUAJE DE ALTO NIVEL
• Diseñados para que las personas
entiendan y escriban los programas de
un modo mas fácil que usando
lenguajes de maquina y ensamblador.
• Es independiente de la maquina pues
las instrucciones no dependen del
hardware o maquina en particular.
• Los programas escritos en lenguaje de
alto nivel son portables o
transportables, es decir que pueden ser
ejecutados con poca o ninguna
modificación en diferentes tipos de
maquinas.
C, C++, COBOL,
FORTRAN, Pascal,
Java, Phyton.
LENGUAJES DE PROGRAMACION
Alto Nivel
Bajo Nivel
Maquina
;Lenguaje ensamblador, sintaxis Intel para procesadores x86
mov eax,1 ;mueve a al registro eax el valor 1
xor ebx, ebx ;pone en 0 el registro ebx
int 80h ;llama a la interrupción 80h (80h = 128 sistema
decimal)
{Lenguaje Pascal}
program suma;
var x,s,r:integer; {declaración de las variables}
begin {comienzo del programa principal}
writeln('Ingrese 2 números enteros');{imprime el texto}
readln(x,s); {lee 2 números y los coloca en las variables x y s}
r:= x + s; {suma los 2 números y coloca el resultado en r}
writeln('La suma es ',r); {imprime el resultado}
readln;
end.{termina el programa principal}
TRADUCTORES DE LENGUAJE
Traductores de lenguaje
• Son los programas que
traducen a su vez los
programas fuente escritos en
lenguajes de alto nivel a
código de maquina.
• Clasificación:
– Compiladores: Lenguaje de alto
nivel --> Lenguaje de maquina.
– Interprete: Un traductor que
toma un programa fuente, lo
traduce y a continuación lo
ejecuta.
TERMINOLOGIA BASICA VI
• Compilación: Proceso de traducción
de programas. El resultado del
proceso de compilación es un
archivo objeto.
• Enlazado: Proceso realizado por el
linker o enlazador, básicamente este
programa es el encargado de juntar
todos los ficheros de codigo objeto,
la información de todos los recursos
necesarios (bibliotecas) , eliminar
todos los recursos que no se
necesitan y enlazar el código objeto
con sus bibliotecas. El resultado final
de este procedimiento es un
ejecutable o una biblioteca.

Algorimo1

  • 2.
    SISTEMAS DE PROCESAMIENTODE INFORMACION Computadora: Maquina o aparato electrónico capaz de ejecutar operaciones repetitivas a muy alta velocidad. Entrada = Datos Salida = InformaciónPROCESADOR Representación de algún hecho, concepto o entidad real (los datos pueden tomar diferentes formas; por ejemplo palabras escritas o habladas, números y dibujos). Datos procesados y organizados. COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION
  • 3.
    SISTEMAS DE PROCESAMIENTODE INFORMACION HARDWARE: Conjunto de componentes físicos de la computadora (equipo físico) SOFTWARE: Conjunto de programas que controlan el funcionamiento de una computadora (equipo lógico). Memoria central Unidad central de procesamiento Dispositivos de entrada/salida E/s (Periféricos) Almacenamiento secundario (memoria auxiliar)
  • 4.
    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
  • 5.
    FUNDAMENTOS DE ALGORITMOS 1.Definición o análisis del problema: Descripción específica y comprensible del problema a resolver 2. Diseño del algoritmo: Planteamiento de los pasos a seguir para resolver el problema 3. Transformación del algoritmo en un programa independientemente del lenguaje de programación. 4. Ejecución y validación del programa 5. Mejoras y correcciones al programa
  • 6.
    LENGUAJES DE PROGRAMACION •Cuando el procesador es una computadora el algoritmo ha de expresarse en una forma que recibe el nombre de programa. Un programa se escribe en un lenguaje de programación. • Programación: Actividad que consiste en expresar un algoritmo en forma de programa. • Instrucción: Es cada uno de los pasos que se ejecutan en el programa. Computadora mata a Flanders ??????? Principales lenguajes utilizados en la actualidad: • Lenguaje de maquina. • Lenguaje de bajo nivel. • Lenguaje de alto nivel
  • 7.
    CONCEPTO DE PROGRAMA Seriede instrucciones que indican de forma precisa y exacta al computador qué tiene que hacer. PROGRAMA DEFINICIÓN La comunicación con el computador se realiza utilizando un lenguaje determinado, un lenguaje de programación. Semántica se refiere a lo que se puede decir (contenido). Sintaxis se refiere a como hay que decirlo (continente). LENGUAJES DE PROGRAMACIÓN 1. Generación del algoritmo. 2. Generación del código fuente. 3. Compilación a objeto. 4. Ligar las llamadas a funciones no resueltas. PASOS PARA CREAR UN PROGRAMA
  • 8.
    CONCEPTO DE ALGORITMO Unconjunto finito, ordenado de reglas o instrucciones bien definidas, tal qué siguiéndolas paso a paso se obtiene la solución a un dado problema. ALGORITMO DEFINICIÓN EFICAZ: resuelva el problema  mínimo que debe ser. EFICIENTE: recursos utilizados  memoria (espacio) y tiempo QUE BUSCAMOS: ENTRADA INFORMACIÓN PROCESO INFORMACIÓN SALIDA INFORMACIÓN
  • 9.
    SENTENCIAS ENTENDEMOS Un lenguajede programación definimos un programa como un conjunto de sentencias. INTRODUCCIÓN A LA PROGRAMACIÓN Una sentencia es una aserción matemática o lógica. SENTENCIAS CLASIFICACIÓN • Declaración  NO implican operación matemática o lógica. • Ejecutables  SI implican operación matemática o lógica. • Comentario  ignoradas por el computador SENTENCIAS CONSTRUCCIÓN • Datos • Instrucciones • Operadores
  • 10.
    FUNDAMENTOS DE ALGORITMOS •Algoritmo: Conjunto ordenado y finito de pasos u operaciones que permite hallar la solución de un problema. Es un método formal y sistemático de representar la descripción de un proceso. • CARACTERÍSTICAS: – Definido: debe indicar el orden de la realización de cada paso y no debe tener ambigüedad – Preciso: Si se sigue dos veces o más se obtendrá e el mismo resultado cada vez – Finito: Debe terminar en algún momento. Tiene un número determinado de pasos
  • 11.
    FUNDAMENTOS DE ALGORITMOS –Correcto: Sin errores – Debe tener al menos una salida – Su solución debe ser concreta – Debe ser sencillo y legible – Eficiente y efectivo – Se ha de desarrollar en el menor tiempo posible • Un algoritmo debe describir tres partes: – Entrada(s) : elementos o condiciones iniciales necesarios para resolver el problema. – Proceso : elaboración del procedimiento. – Salida(s): Resultados que se desean obtener
  • 12.
    FUNDAMENTOS DE ALGORITMOS •Pseudocódigo: Representación descriptiva de las operaciones de un algoritmo. Representa una secuencia lógica de actividades, que llevarán en conjunto a la solución de un problema. Los elementos que debe llevar un algoritmo son – Cabecera del algoritmo: Existen pasos o procedimientos que se realizan para comenzar un programa. Siempre que se haga debe ponerse un encabezado de programa, en donde debe expresarse el identificador o nombre correspondiente con la palabra reservada que señale el lenguaje, generalmente ésta suele ser program que en algoritmia significa algoritmo – Declaración de Variables: En este punto se describen todas las variables que son usadas en el algoritmo, haciendo una lista de sus nombres y especificando a qué tipo corresponde cada uno.
  • 13.
    FUNDAMENTOS DE ALGORITMOS –Declaración de Constantes: En este punto se declararán todas las constantes de carácter estándar; es decir, que tengan nombre y un valor ya conocido o valores que ya no pueden variar en el transcurso del algoritmo – Cuerpo del algoritmo: Una vez añadidas la cabecera y la declaración de variables y constantes se procede a realizar los pasos del algoritmo
  • 14.
    FUNDAMENTOS DE ALGORITMOS AlgoritmoÁrea_Círculo {Cálculo del área de un circulo pidiendo el radio al usuario} var r, A: real cte: p:real Inicio Mostrar “Dame el radio” Leer r A <- p*r^2 Mostrar “El área es:”, A Fin • Cabecera – Nombre del algoritmo – {Comentario con descripción del problema} • Declaración de variables y constantes • Cuerpo del algoritmo
  • 15.
    FUNDAMENTOS DE ALGORITMOS •Instrucciones que se le dan a la Computadora • Un algoritmo se compone de muchos pasos, todos diferentes, los que son interpretados como instrucciones (lenguaje de bajo nivel), sentencias o proposiciones (lenguaje de alto nivel). Entonces, en un programa, la secuencia de instrucciones especifica las operaciones que la computadora debe realizar.
  • 16.
    FUNDAMENTOS DE ALGORITMOS •Las instrucciones básicas y comunes pueden dividirse en cuatro grupos: – Instrucciones de Entrada /Salida: Transferencia de datos e información entre dispositivos periféricos (teclado, impresora, unidad de disco, etc.) y memoria central. – Instrucciones Aritmético-Lógicas: Tienen la función de ejecutar operaciones aritméticas (suma, resta, multiplicación, división, potenciación), lógicas (operaciones and, or, not, etc.). – Instrucciones Selectivas: Estas permiten la elección de una tarea entre varias alternativas en función de los resultados de diferentes expresiones condicionales. – Instrucciones Repetitivas: Permiten la repetición de secuencias de instrucciones, un número determinado o indeterminado de veces.
  • 17.
    FUNDAMENTOS DE ALGORITMOS •CONSTANTES Y VARIABLES • Las constantes son datos cuyos valores no cambian, pero existen datos cuyos valores sí varían durante la ejecución del programa, a éstos los llamamos variables. En la mayoría de los lenguajes de programación se permiten diferentes tipos de constantes: enteras, reales, caracteres y boolean o lógicas, quienes representan datos de estos tipos. • Entonces una variable se conoce como un objeto, o partida de datos cuyo valor puede cambiar durante la ejecución del algoritmo o programa. • A las variables y a las constantes se les conoce o identifica por los atributos siguientes: nombre o identificador que lo asigna y tipo que describe el uso de la variable.
  • 18.
    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.
  • 19.
    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
  • 20.
    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.
  • 21.
    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)
  • 22.
    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).
  • 23.
    DATOS ENTEROS NUMÉRICOS REALES CARACTERES NO NUMÉRICOS LÓGICOS DATOS PROGRAMA OPERACIONESSOBRE DATOS DATOS PRIMITIVOSESTRUCTURAS DE DATOS TIPOS DE DATOS PRIMITIVOS
  • 24.
    VARIABLES Y CONSTANTES VARIABLESENTENDEMOS Datos que pueden VARIAR su VALOR. CONSTANTES ENTENDEMOS Datos que NO pueden VARIAR su VALOR. NOMBRE Y TIPO (Datos Primitivos) VARIABLES Ej.: total, cuenta, suma, apellido. NOMBRE Y TIPO (Datos Primitivos) CONSTANTES Ej.: 1.0, CARLOS, verdadero, 67, Carlos
  • 25.
    INSTRUCCIONES ASIGNACIÓN total = 5.0 total 5.0 total  total + 1.0 Nombre_de_variable  expresión ENTRADA/SALIDA leer escribir Nos referiremos a los DISPOSITIVOS POR DEFECTO (hardware): leer (desde teclado) escribir (a la pantalla – monitor)
  • 26.
    INSTRUCCIONES RAMIFICACIÓN CONDICIONES o DECISIONES REPETICIONES,BUCLES o ITERACIONES CONDICIONES o DECISIONES Concepto de PREDICADO REPETICIONES, BUCLES o ITERACIONES CONDICIÓN + SALTO INCONDICIONAL PROGRAMACIÓN ESTRUCTURADA IR A rompe la secuencia
  • 27.
    OPERADORES Igual == Distinto != Mayor> Menor < Mayor o igual >= Menor o igual <= RELACIONALES Suma + Resta – Multiplicación * División / Exponenciación **, ^ Resto % ARITMÉTICOS Incremento unidad ++ Decremento unidad – – IN/DECREMENTO “y” lógico && “o” lógico II “no” lógico ! LÓGICOS PRECEDENCIA
  • 28.
    FUNDAMENTOS DE ALGORITMOS •Operadores lógicos • Precedencia • ! o ~ o not (negado) • and o && (conjunción) • or o || (disyunción) • Nota: En C un valor falso se toma como 0 y un valor verdadero se toma como cualquier valor diferente de cero A NOT F V V F A B AND OR F F F F F V F V V F F V V V V V
  • 29.
    INTRODUCCIÓN A LAPROGRAMACIÓN Todo programa con un único punto de entrada y un único punto de salida, cuyas sentencias se alcancen en algún momento y que no posea bucles infinitos (PROGRAMA PROPIO) se puede construir con tres constructores elementales: SECUENCIA, SELECCIÓN y BUCLE. Teorema de la ESTRUCTURA ¿Dado un PROBLEMA, definido el ALGORITMO como vamos a construir el PROGRAMA? Tenemos los elementos del LENGUAJE: DATOS, INSTRUCCIONES y OPERADORES.
  • 30.
    LENGUAJES DE PROGRAMACION LENGUAJEDE MAQUINA • Están escritos en un lenguaje directamente inteligible por la maquina. Las instrucciones consisten en cadenas binarias que especifican una operación, y las posiciones (dirección) de memoria implicadas en la operación. • Dependen del hardware de la computadora (PC diferente de Macintosh) 00001011011100001010
  • 31.
    LENGUAJES DE PROGRAMACION LENGUAJEDE BAJO NIVEL • Es un lenguaje mas fácil de usar que el lenguaje de maquina. • Las instrucciones del lenguaje ensamblador son conocidas como nemotécnicos (ADD, SUB, DIV, etc.). ADD N,M,P = 0110 1001 1010 1011 • Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora por lo que requiere de una fase de traducción a lenguaje de maquina. • Ensamblador. ADD N,M,P 0110 1001 1010 1011
  • 32.
    LENGUAJES DE PROGRAMACION LENGUAJEDE ALTO NIVEL • Diseñados para que las personas entiendan y escriban los programas de un modo mas fácil que usando lenguajes de maquina y ensamblador. • Es independiente de la maquina pues las instrucciones no dependen del hardware o maquina en particular. • Los programas escritos en lenguaje de alto nivel son portables o transportables, es decir que pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de maquinas. C, C++, COBOL, FORTRAN, Pascal, Java, Phyton.
  • 33.
    LENGUAJES DE PROGRAMACION AltoNivel Bajo Nivel Maquina ;Lenguaje ensamblador, sintaxis Intel para procesadores x86 mov eax,1 ;mueve a al registro eax el valor 1 xor ebx, ebx ;pone en 0 el registro ebx int 80h ;llama a la interrupción 80h (80h = 128 sistema decimal) {Lenguaje Pascal} program suma; var x,s,r:integer; {declaración de las variables} begin {comienzo del programa principal} writeln('Ingrese 2 números enteros');{imprime el texto} readln(x,s); {lee 2 números y los coloca en las variables x y s} r:= x + s; {suma los 2 números y coloca el resultado en r} writeln('La suma es ',r); {imprime el resultado} readln; end.{termina el programa principal}
  • 34.
    TRADUCTORES DE LENGUAJE Traductoresde lenguaje • Son los programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código de maquina. • Clasificación: – Compiladores: Lenguaje de alto nivel --> Lenguaje de maquina. – Interprete: Un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta.
  • 35.
    TERMINOLOGIA BASICA VI •Compilación: Proceso de traducción de programas. El resultado del proceso de compilación es un archivo objeto. • Enlazado: Proceso realizado por el linker o enlazador, básicamente este programa es el encargado de juntar todos los ficheros de codigo objeto, la información de todos los recursos necesarios (bibliotecas) , eliminar todos los recursos que no se necesitan y enlazar el código objeto con sus bibliotecas. El resultado final de este procedimiento es un ejecutable o una biblioteca.