Algoritmos y Programas 1
Introducción • El objetivo de esta sesión consistirá en explicar los conceptos de algoritmo, programa y lenguaje de programación. Así como explorar otros temas concurrentes.
2
Temática • • • • • • • • •
Sistemas de procesamiento de información. Concepto de Algoritmo. Lenguaje de programación. Datos, tipos de datos y operaciones primitivas. Constantes y variables. Expresiones. Funciones intrínsecas. Asignación. Entrada y salida de información. 3
1. Sistemas de procesamiento de la información • Un sistema de esta clase se define como un conjunto de componentes interconectados entre sí que transforman datos en información organizada, significativa y útil.
4
Esquemáticamente Datos
Procesador
Información
5
Una primera definición • Un algoritmo consiste en el grupo de instrucciones que definen la secuencia de operaciones a realizar para resolver un sistema específico o clase de problema.
6
Conceptos importantes • Hardware: grupo de componentes físicos de una computadora.
• Software: conjunto de programas que controlan el funcionamiento de una computadora
7
2. Concepto de Algoritmo • La metodología de la programación es aquella que es necesaria para resolver problemas mediante programas, su eje es el algoritmo.
Problema
Diseño del algoritmo
Programa
8
Pasos para la solución de un problema • El diseño del algoritmo describe el • •
análisis del problema y desarrollo del algoritmo. Expresar el algoritmo como un programa en un lenguaje de programación. Ejecutar y validar el programa por la computadora.
9
Características algoritmos
de
los
• Preciso, indicará el orden de cada paso. • Definido, el mismo resultado se obtendrá •
al ejecutar el algoritmo “n” ocasiones. Finito, deberá terminar en algún momento.
10
Ejemplo 2.1 Genere un algoritmo que solucione la entrega de un pedido a un cliente
• • •
Inicio. Leer el pedido. Examinar el historial crediticio del cliente • Si el cliente es solvente, entregar el pedido. En caso contrario, rechazarlo. • Fin 11
Ejemplo 2.2 Genere un algoritmo que
sume los números entre el 3 y el 30.
Inicio. Hacer SUMA igual cero. Establecer NUMERO igual a 3. Sumar NUMERO a SUMA. Incrementar NUMERO en 1 Si NUMERO es menor o igual que 30 ir a 4; si no imprimir a SUMA. Fin 12
Ejemplo 2.3 Genere un algoritmo que determine al mayor de tres números enteros. • • • • •
Inicio Leer los números y guardarlos en NUM1, NUM2 y NUM3 respectivamente Comparar NUM1 y NUM2, el número mayor se guarda en AUX. Comparar AUX y NUM3, imprimir el número mayor. Fin. 13
Tarea 2.1 Diseñe un algoritmo para
determinar si un número es primo o no.
Tarea 2.2 Genere un algoritmo que
sume los números entre el 2 y el 20.
Tarea 2.3 Genere un algoritmo que
sume los números entre el 5 y el 50.
14
3. Los lenguajes programación
de
• Cuando el procesador de datos es una computadora entonces el algoritmo de solución se expresa en un programa. • Por tanto, un programa es escrito en un lenguaje de programación. • Luego, la programación consiste en expresar las operaciones en forma de programa de un algoritmo. 15
Tipos de lenguajes • Máquina; escritos en código binario. • Bajo nivel (ensamblador); escrito en nemotécnicos.
• Alto nivel; diseñados para ser entendidos por el ser humano. 16
Instrucciones básicas • Entrada/Salida; transferencia de información entre dispositivos periféricos y memoria central.
• Aritmético/Lógicas; ejecutan operaciones de éstos tipos.
• Selectivas; seleccionan tareas en función de los resultados
• Repetitivas; permiten la iteración de secuencias de instrucciones un número dado de veces 17
Traductores del Lenguaje • A)
Intérpretes; Toma un programa fuente lo traduce e inmediatamente lo ejecuta.
Programa fuente
Intérprete
Traducción y ejecución en línea
18
Traductores (cont.)
del
Lenguaje
B) Compiladores; traduce un programa fuente a código objeto.
Programa fuente
Compilador (Compiler)
Programa Objeto
Programa ejecutable
Montador (Linker)
19
4. Datos, Tipos de Datos y Operaciones Primitivas • Un dato es la expresión general que •
describe los objetos con los cuales opera la computadora Los tipos son: simples (no estructurados) y compuestos (estructurados). Aquellos se subdividen en: • Numericos (integer, real) • Lógicos (booleans) • Carácter (char, string) 20
Datos primitivos Datos
Numérico
Entero
Carácter
Lógico
Real
21
5. Constantes y Variables • Constantes: valores que durante la ejecución de un programa no cambian su valor.
• Variables: valores que cambiarán durante la ejecución del programa
22
6. Expresiones • Se definen como una combinación de constantes, variables, símbolos de operación, paréntesis, y nombres de funciones especiales. • Una expresión consta de operandos y operadores. • Las expresiones se clasifican en aritméticas, lógicas y carácter. 23
Expresiones aritméticas Operador
Significado
Tipo de operandos
Tipo resultado
**
Exponenciación
Entero o real
Entero o real
+
Suma
Entero o real
Entero o real
-
Resta
Entero o real
Entero o real
*
Multiplicación
Entero o real
Entero o real
/
División
Real
Real
Div
División entera
Entero
Entero
Mod
módulo
Entero
Entero 24
Reglas de prioridad Operador Paréntesis Exponencial
Gráfo ( ) **
Multi, divide
*, /
Div y mod
Div, mod
Más y menos
+, -
25
Operadores de relación Expresión 1
Operador < > = <= >= <>,!=
Operador de relación
Expresión 2
Significado Menor Mayor Igual Menor o igual Mayor o igual Distinto 26
Operadores lógicos Operador lógico
Expresión lógica
Significado
Not
Not p
Negación
And
PyQ
Conjunción
Or
PoQ
disyunción
27
7. Funciones Intrínsecas Función Abs(x) Arctan(x) Cos(x) Exp(x) Ln(x) Log10(x) Round(x) Sin(x) Sqr(x) Sqrt(x) Trunc(x)
Descripción Absoluto Tangente inversa Coseno Exponencial Log neperiano Log decimal Redondeo Seno Cuadrado Raíz cuadrada Truncamiento
28
8. Operación de Asignación
• Es la forma de darle valores tanto a variables como constantes, se representa con el símbolo
29
Tipos de asignación • Aritmética • Lógica • Cadena de carácteres
30
9. Entrada y salida de información • La operación de lectura READ permite el ingreso de los datos necesarios para los cálculos computacionales.
• La operación de escritura WRITE imprime la información procesada por el programa y su respectivo algoritmo. 31
32