CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf ·...
Transcript of CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf ·...
![Page 1: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/1.jpg)
CIF 2452Fundamentos de Programación
![Page 2: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/2.jpg)
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.
![Page 3: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/3.jpg)
• 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
![Page 4: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/4.jpg)
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
![Page 5: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/5.jpg)
Esquemáticamente
Datos
Procesador
Información
![Page 6: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/6.jpg)
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.
![Page 7: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/7.jpg)
Conceptos importantes
• Hardware: grupo de componentes físicos de una computadora.
• Software: conjunto de programas que controlan el funcionamiento de una computadora
![Page 8: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/8.jpg)
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
![Page 9: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/9.jpg)
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.
![Page 10: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/10.jpg)
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.
![Page 11: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/11.jpg)
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
![Page 12: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/12.jpg)
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
![Page 13: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/13.jpg)
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.
![Page 14: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/14.jpg)
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
![Page 15: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/15.jpg)
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.
![Page 16: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/16.jpg)
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.
![Page 17: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/17.jpg)
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
![Page 18: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/18.jpg)
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
![Page 19: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/19.jpg)
B) Compiladores; traduce un programa
fuente a código objeto.
Programa
fuente
Programa
Objeto
Programa
ejecutable
Compilador
(Compiler)
Montador
(Linker)
Traductores del Lenguaje
![Page 20: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/20.jpg)
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)
![Page 21: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/21.jpg)
Datos primitivos
Datos
CarácterNumérico Lógico
Entero Real
![Page 22: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/22.jpg)
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
![Page 23: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/23.jpg)
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.
![Page 24: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/24.jpg)
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
![Page 25: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/25.jpg)
Reglas de prioridad
( )Parentesis
+, -Más y menos
Div, modDiv y mod
*, /Multi, divide
**Exponencial
GráfoOperador
![Page 26: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/26.jpg)
Operadores de relación
Menor<
Distinto<>,!=
Mayor o igual>=
Menor o igual<=
Igual=
Mayor>
SignificadoOperador
Expresión 2Operador de relación
Expresión 1
![Page 27: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/27.jpg)
Operadores lógicos
disyunciónP o QOr
ConjunciónP y QAnd
NegaciónNot pNot
SignificadoExpresión lógicaOperador lógico
![Page 28: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/28.jpg)
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
![Page 29: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/29.jpg)
Operación de Asignación
Es la forma de darle valores tanto a
variables como constantes, se representa con el símbolo = o
![Page 30: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/30.jpg)
Tipos de Asignación
a) Aritmética
b) Lógica
c) Cadena de caracteres
![Page 31: CIF 2452 Fundamentos de Programaciónzeus.inf.ucv.cl/~jrubio/docs/2010-2/CIF 2452/Seccion 1.pdf · Algoritmos y Programas El objetivo de esta sección consistiráen explicar los conceptos](https://reader036.fdocumento.com/reader036/viewer/2022062506/5f6e46937274ee3bd5401f15/html5/thumbnails/31.jpg)
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.