cif 2452 fundamentos de programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/cif 2452/seccion 1.pdf ·...
TRANSCRIPT
CIF 2452Fundamentos de Programación
1.- Algoritmos y Programas
El objetivo de esta sección consistirá en explicar los conceptos de algoritmo, programa y lenguaje de programación. Así como explorar otros temas concurrentes.
• 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.
Temáticas
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.
1.1- Sistemas de Procesamiento de Información
Esquemáticamente
Datos
Procesador
Información
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.
Conceptos importantes
• Hardware: grupo de componentes físicos de una computadora.
• Software: conjunto de programas que controlan el funcionamiento de una computadora
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
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.
Características de los algoritmos
• 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.
Ejemplo Algoritmo que soluciona la entrega de un pedido a un cliente.
1. Inicio.
2. Leer el pedido.
3. Examinar el historial crediticio del cliente
4. Si el cliente es solvente, entregar el pedido. En caso contrario, rechazarlo.
5. Fin
Ejemplo Algoritmo que suma los números entre el 3 y el 30, en incrementos de 3.
1. Inicio.
2. Hacer SUMA igual cero.
3. Establecer NUMERO igual a 3.
4. Sumar NUMERO a SUMA.
5. Incrementar NUMERO en 3
6. Si NUMERO es menor o igual que 30 ir a 4; si no imprimir a SUMA.
7. Fin
Ejemplo Algoritmo que determina el mayor de tres números enteros.
1. Inicio
2. Leer los números y guardarlos en NUM1, NUM2 y NUM3 respectivamente
3. Comparar NUM1 y NUM2, el número mayor se guarda en AUX.
4. Comparar AUX y NUM3, imprimir el número mayor.
5. Fin.
1. Diseñe un algoritmo para determinar si un número es primo o no.
2. Diseñe un algoritmo que sume los números entre el 2 y el 20, en incrementos de 2.
3. Indique las modificaciones necesarias para el algoritmo 2 de tal manera que sume los números entre el 5 y el 50, en incrementos de 5.
Ejercicios
1.2 Los lenguajes de Programación
• 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.
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.
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
Traductores del Lenguaje
A) Intérpretes; Toma un programa fuente
lo traduce e inmediatamente lo ejecuta.
Programa fuente IntérpreteTraducción
y ejecución
en línea
B) Compiladores; traduce un programa
fuente a código objeto.
Programa
fuente
Programa
Objeto
Programa
ejecutable
Compilador
(Compiler)
Montador
(Linker)
Traductores del Lenguaje
1.3 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:a) Numéricos (integer, real)
b) Lógicos (booleans)
c) Carácter (char, string)
Datos primitivos
Datos
CarácterNumérico Lógico
Entero Real
1.4. 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
1.5. 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.
Expresiones aritméticas
EnteroEnteromóduloMod
EnteroEnteroDivisión enteraDiv
RealReal División/
Entero o realEntero o realMultiplicación*
Entero o realEntero o realResta-
Entero o realEntero o realSuma+
Entero o realEntero o realExponenciación**
Tipo resultadoTipo de operandosSignificadoOperador
Reglas de prioridad
( )Parentesis
+, -Más y menos
Div, modDiv y mod
*, /Multi, divide
**Exponencial
GráfoOperador
Operadores de relación
Menor<
Distinto<>,!=
Mayor o igual>=
Menor o igual<=
Igual=
Mayor>
SignificadoOperador
Expresión 2Operador de relación
Expresión 1
Operadores lógicos
disyunciónP o QOr
ConjunciónP y QAnd
NegaciónNot pNot
SignificadoExpresión lógicaOperador lógico
Funciones Intrínsecas
TruncamientoTrunc(x)
Raíz cuadradaSqrt(x)
CuadradoSqr(x)
SenoSin(x)
RedondeoRound(x)
Log decimalLog10(x)
Log neperianoLn(x)
ExponencialExp(x)
CosenoCos(x)
Tangente inversaArctan(x)
AbsolutoAbs(x)
DescripciónFunción
Operación de Asignación
Es la forma de darle valores tanto a
variables como constantes, se representa con el símbolo = o
Tipos de Asignación
a) Aritmética
b) Lógica
c) Cadena de caracteres
Entrada y salida de información
• La operación de lectura READ/LEER permite el ingreso de los datos necesarios para los cálculos computacionales.
• La operación de escritura WRITE/ESCRIBIR imprime la información procesada por el programa y su respectivo algoritmo.