fundamentos de programación introducciÓn y conceptos
Post on 22-Jan-2016
309 Views
Preview:
TRANSCRIPT
Fundamentos de Fundamentos de Programación Programación
INTRODUCCIINTRODUCCIÓN Y ÓN Y CONCEPTOSCONCEPTOS
22
Reseña HistóricaReseña Histórica
El término algoritmo tiene su origen en la palabra algorismo, el mismo que viene del nombre del famoso e inolvidable matemático, astrónomo y filósofo musulmán Buchafar Mohamed Abenmusa Alkharismi.
Uno de los primeros diccionarios matemáticos en alemán define a la palabra Algorithmus:
“Bajo este concepto se combinan las nociones de los cuatro tipos de cálculos aritméticos: suma, resta, multiplicación y división.”
33
Reseña HistóricaReseña Histórica
En el año de 1950, la palabra algoritmo eera frecuentemente asociada con el algoritmo de Euclides, el mismo que consiste en un conjunto de pasos ordenados para hallar el máximo común divisor de dos números dados.
44
Definición de AlgoritmoDefinición de Algoritmo
Algoritmo es un conjunto concreto de pasos o acciones que se deben realizar ordenadamente para llegar a un fin determinado (solución de un problema, obtención de una respuesta intermedioa o realización de una tarea) de cualquier problema de un mismo tipo.
55
Definición de AlgoritmoDefinición de Algoritmo
Los algoritmos deben cumplir con las propiedades de ser:
Finitos, determinísticos; y, generales
66
Definición de AlgoritmoDefinición de Algoritmo
En el diseño de un algoritmo se deben tomar en cuenta tres partes fundamentales:
EntradaProcesoSalida
77
Definición de AlgoritmoDefinición de Algoritmo
Se puede considerar dos claszes de algoritmos a saber:
• algoritmos cualitativos, son aquellos pasos o instrucciones descritos por medio de palabras comunes del idioma español que sirve para llega a la obtención de una respuesta o solución de un problema; y,
88
Definición de AlgoritmoDefinición de Algoritmo
• algoritmos cuantitativos, son aquellos pasos o instrucciones que involucran cálculos numéricos para obtener un resultado deseado.
99
Representación de AlgoritmosRepresentación de Algoritmos
Hay cuatro maneras de representar un algoritmo:
Representación narrativaDiagrama de flujo Diagramas N-SSeudocódigo
1010
EjerciciosEjercicios
Describir los algortimos respectivos, utilizando la descripción narrativa, la técnica de flujogramas y el seudocódigo de los siguientes problemas, para calc ular la hipotenuza aplicando el teorema de pitágoras, ingresando los catetos de un triángulo rectángulo.
1111
Descripción NarrativaDescripción Narrativa
1. Inicio
2. Leer los datos de los catetos B y C
3. Aplicar la fórmula: A2 = B2 + C2
4. Escribir el valor de A
5. Fin
1212
Diagrama de FlujoDiagrama de FlujoInicio
´Íngrese B´
B
´Ingrese C´
C
A <= SQRT (B**2 + C**2)
A
Fin
1313
SeudocódigoSeudocódigo
Algoritmo HipotenuzaVar
B, C: Entero A: Real
InicioEscribir (´Ingrese B: ´)Leer (B)Escribir (´Ingrese C: ´)
Leer (C)A <= SQRT (B**2 + C**2)Escribir (A)
Fin
1414
Tipos de DatosTipos de Datos
Las computadoras son herramientas que disponemos actualmente para manipular información, de la misma manera que las sierras y los cepillos son herramientas que sirven para manipular la madera.
La madera se mide en centímetros, la información en bits.
1515
Tipos de datosTipos de datos
Un bits es un bloque d einformación más pequeño del universo de la información. Se representa por medio de un 0 o un 1, dependiendo de si existe o no paso de fluido eléctrico, dentro de una computadora.
1616
Clasificación de Tipos de DatosClasificación de Tipos de Datos
Tipos de Datos
Tipos SimplesTipos
Estructurados
Ordinales No Ordinales Estáticas Dinámicas
PredefinidosEnterosLógicosCaracter
Definidos por el usuario
SubrangoEnumerado
Reales
ArreglosRegistrosFicheros
Conjuntos
Lista Árboles Gráfos
1717
Tipos de Datos SimplesTipos de Datos Simples
Son aquellos datos que tiene como característica que cada variable representa a un elemento.
Estos se clasifica en ordinales y no ordinales
1818
Tipos de Datos SimplesTipos de Datos Simples
Se dice que un tipo de dato es ordinal si cumple con las siguientes condiciones:
1. Existe un primer elemento y un último elemento.
2. Cada elemento excepto el último tiene un elemento que le sigue llamado sucesor.
3. Cada elemento excepto el primero tiene un elemento que le precede llamado predecesor.
1919
Tipos de Datos SimplesTipos de Datos Simples
Dentro de los tipos de datos ordinales tenemos a los datos predefinidos, entre los que tenemos: lso enteros, lógicos y caracter.
• Los tipos Enteros, se caracterizan por no tener punto decimal y van en el rango de -215
hasta 215-1 ( - 32768 => 32767). Ocupan 2 bytes.Existen enteros largos que ocupan 4 bytes.(-231 a 231)
2020
Tipos de Datos SimplesTipos de Datos Simples
• Tipos lógicos, este tipo de datos acepta solo valores de 0 y 1 que equivale a falso o verdadero. También se lo conoce como tipo booleano.
• Tipo carácter, se encuentran representados en la tabla de código ASCII, en un total de 256 caracteres distintos. Un tipo de dato caracter se debe encerrar entre apóstrofes: ´2´, ´x´,…..
2121
Tipos de Datos SimplesTipos de Datos Simples
Además de los tipos de datos predefinidos existen los tipos de datos definidos por el usuario.
En esta subdivisión en contramos los tipos de datos subrango y los tipos de datos enumerados.
2222
Tipos de Datos SimplesTipos de Datos Simples
• Los tipos de datos subrango, conocidos también como tipo intervalo. Se define de un tipo ordinal, señalando dos valores constantes que vienen a ser el límite inferior y superior de conjunto de daos de ese tipo.Por ejemplo:Dígito = 0….9 subrango formado por los dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
2323
Tipos de Datos SimplesTipos de Datos Simples
• Tipos de datos enumerados, se define por un conjunto ordenado de valores especificados por identificadores. Seleccionando adecuadamente nombres significativos para los identificadores, se pueden elaborar programas más fáciles de leer.
Por ejemplo:
Frutas = (naranjas, platanos, manzanas)
Color = (verde, azul, amarillo)
2424
Tipos de Datos SimplesTipos de Datos Simples
Otra subclasificación de los tipos de datos simples son los tipos de datos no ordinales, que a su vez se subdividen en tipos de datos reales.
Los tipos de datos reales son datos numéricos que tienen punto decimal. Cualquier número se puede representar como real.
La representación binaria no es la misma para representar un número entero 27 que un número real 27.0
2525
Tipos de Datos SimplesTipos de Datos Simples
• Notación en coma fija, se representan por una parte entera y una parte decimal,separados por una (.), al número puede precederle un signo (+) o (-).
Por ejemplo: 3.1416 , 0.5478 , -58.2658 , +978.25
Un número real se representa en la memoria del computador en 6 bytes y en un rango de 10-38 a 1038.
2626
Tipos de Datos SimplesTipos de Datos Simples
• Notación en coma flotante, conocida también como notación científica. Sirve para representar numeros extremadamente grandes o pequeños.El número real en coma flotante se representa:
n = m x be
n = núm,ero real a representar.m = mantisab = base del sistema de numeración.e = exponente.
2727
Tipos de Datos Simples Tipos de Datos Simples
Por ejemplo: el número 7458.125 se puede representar de las siguientes formas:
7458.125 x 100
74.58125 x 10+2
0.7458125 x 10+4
7458125 x 10-3
2828
Tipos de Datos SimplesTipos de Datos Simples
• Forma normal de un número real, se dice que un número real está en forma normal cuando el punto decimal está antes del primer dígito significativo.
n = mE + dd
n = número real a representar.m = mantisa, fracción con signo E = (E de exponente y significa elevar a la potencia dd)dd = exponente entero (positivo, negativo o cero).
2929
Tipos de Datos SimplesTipos de Datos Simples
Por ejemplo: la representación del número:
0.0025En notación científica: 2.5 x 10-3
En forma normal: 0.25E-02
42.28En notación científica: 4.2 x 101
En forma normal: 0.4228E+02
3030
Tipos de Datos EstructuradosTipos de Datos Estructurados
Las estructuras de datos pueden ser estáticas y dinámicas.
• Estructura de datos estáticas, son aquellas cuyo espacio ocupado en memoria se define cuando se compila un programa y no se puede modificar durante la ejecución del mismo.Entre este tipo de datos se encuentran los arreglos (array), los registros, los ficheros y los conjuntos.
3131
Tipos de Datos EstructuradosTipos de Datos Estructurados
Los arreglos son una reunión de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común.
Para referirse a un determinado elemento de un arreglo se vale de un indice que determina la ubicación dentro del arreglo.
3232
Tipos de Datos EstructuradosTipos de Datos Estructurados
Los arreglos pueden ser:
o unidimensionales (vectores),o bidimensionales (matrices)o multidimensionales.
3333
Tipos de Datos EstructuradosTipos de Datos Estructurados
Un registro es un dato estructurado formado por elementos lógicamente relacionados que pueden ser del mismo tipo, a los que se denomina campos. La selección de los campos se realiza mediante un identificador no por un índice
3434
Tipos de Datos EstructuradosTipos de Datos Estructurados
Una estructura de fichero es una secuencia de elementos – componentes del mismo tipo denominado registros. Un solo registro es accesible a la vez en un instante dado, a los otros elementos se accede progresivamente y secuencialmente a través del fichero. Los nuevos elementos se agregarán al final de este y secuencialmente.
3535
Tipos de Datos EstructuradosTipos de Datos Estructurados
Una estructura de conjunto define un conjunto de valores que pueden ser expresados por elementos pertenecientes a un tipo enumerado, o a un tipo subrango.
Se pueden definir conjuntos donde sus elementos pueden ser una expresión.
3636
Tipos de Datos EstructuradosTipos de Datos Estructurados
• Estructura de datos dinámicas, son aquellas en las que el espacio ocupado en memoria puede ser modificados en tiempo de ejecución del programa.
Para estudiar la estructura de datos dinámica es necesario previamente conocer un tipo particular llamado puntero (apuntador)
3737
Tipos de Datos EstructuradosTipos de Datos Estructurados
• Punteros, son un tipo especial de variable que se utiliza para almacenar la dirección de memoria de otra variable o lo que es lo mismo, su valor es una dirección de una posición de memoria donde esta almacena a otra variable.37
1814 (valor) 3025 (valor)
2040 (dirección) 1814 (dirección)
puntero puntero
3838
Tipos de Datos EstructuradosTipos de Datos Estructurados
• Listas, se definen como una secuencia de 0 o más elementos de un determinado tipo almacenado en la memoria del computador. Las listas son estructuras lineales, donde cada elemento de la lista, excepto el primero, tiene un único predecesor y cada elemento de la lista excepto el último tiene un antecesor.
3939
Tipos de Datos EstructuradosTipos de Datos Estructurados
El número de elementos de una lista se denomina longitud. Los tipos de listas más conocidas son las siguientes: contiguas, enlazadas, circulares, doblemente encadenadas y doblemente encadenadas.
4040
Tipos de Datos EstructuradosTipos de Datos Estructurados
• Árboles, son una estructura de datos no lineal, que permite organizar sus elementos denominados nodos, formando jerarquías.
A
B C
D E F
4141
Tipos de Datos EstructuradosTipos de Datos Estructurados
• Grafos, se define un grafo como un conjunto de vértices unidos por un conjunto de arcos.
A B
EC
D
4242
Constantes y VariablesConstantes y Variables
• Constantes, son datos cuyos valores permanecen fijos, es decir no cambian durante todo el desarrollo del programa. Las constantes pueden ser: enteras, reales, lógicas, carácter o cadena de caracteres.
Por ejemplo:
245 20.125 TRUE ´a´
4343
Constantes y VariablesConstantes y Variables
• Variables, son todos aquellos valores que pueden o no cambiar en el transcurso de la ejecución de un programa. Usualmente son introducidos al computador como datos. Los nombres de las variables deben cumplir con los siguientes requisitos:
4444
Constantes y VariablesConstantes y Variables
1. Debe empezar con una letra del alfabeto de la A a la Z.
2. Puede contener dígitos del 0 al 9 en el intermedio o al final.
3. No debe contener caracteres especiales tales como $ * ().
4. La longitud no debe exceder de 32 caracteres. En los computadores se definen como caracteres las letras y los números.
4545
Constantes y VariablesConstantes y Variables
Toda variable se compone de dos partes esenciales: su nombre y su valor.
Nombre de la variable, es el conjunto de letras y números construidos de acuerdo a los requisitos anteriores. También se le denomina identificador.
Valor de la variable, es el valor que una variable representa o tiene asociada en un determinado momento.
4646
Constantes y VariablesConstantes y Variables
Por ejemplo: VENTA es igual a 512
El nombre de la variable es VENTA, el valor asociado a dicho nombre de variable es 512.
Como su nombre lo indica (variable) puede o no tomar distintos valores en el transcurso del desarrollo del algoritmo, pero en un momento dado o determinado, solo puede tener o representar uno y solamente un valor.
4747
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Al declarar una variable, o lo que es lo mismo al indicarle al compilador que le de un nombre a una localización de almacenamiento, el programador está asignando memoria a su programa para cumplir una tarea concreta.
La variable A es un entero
4848
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Estamos creando una variable A, la cual no tiene un dato conocido.
Luego de declarar una variable es importante asignarle un valor
Basura &&&&&
A
4949
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Por ejemplo, a la variable A le asigno 10 como valor.
A ← 10
10
A
5050
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Contador, es una variable a la cual se le suma una cantiada constante, bien sea de 1 en 1, de 2 en 2, …, cualquiera sea el valor, siempre será el mismo el que se suma o se reste, cada vez que se pase por la instrucción. Normalmente se hace incrementos de 1 en 1.
5151
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Por ejemplo: contar las personas que pasan por el tomo de un bus. Como podemos anotar pueden pasar de uno en uno.
personas ← 0
personas ← personas + 1
5252
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Por ejemplo: contar las parejas que vienen al cine y decir cuantas personas entraron.
parejas ← 0
parejas ← parejas + 2
5353
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Acumulador, es una variable a la cual se le está sumando una cantidad diferente cada vez que pasa por un punto donde se encuentra el acumulador.
Acumulador ← Acumulador + Valor
5454
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Sistema, se denomina así a todo conjunto de objetos que relacionados entre si conforman un to (una unidad).
Dato, es la mínima unidad de información con sentido completo. Puede ser numérico, alfabético y alfanumérico.
5555
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Registro, como se definió anteriormente es un conjunto de datos lógicamente relacionados pertenecientes a una misma persona, animal o cosa.
Por ejemplo:
No. Cédula Apellidos Nombres Dirección Teléfono
1203151471 Ayala Cano Juan Carlos 10 de Agosto 120 2445788
5656
Como utilizar las constantes y las VariablesComo utilizar las constantes y las Variables
Archivo, es un conjunto de registros que tienen relación entre sí.
Por ejemplo: los datos personales de los empleados de una misma empresa
No. Cédula Apellidos Nombres Dirección Teléfono
1203151471 Ayala Cano Juan Carlos 10 de Agosto 120 2445788
1245789612 Bueno Saa José María Sucre 4510 2332211
5757
Lectura de datosLectura de datos
Los datos de la memoria auxiliar, son elevados a la memoria real mediante el procedimiento de lectura.
Todo sistema de computación tiene al menos una unidad de lectura y otra de escritura.
Unidad de entrada/lecturaUnidad de entrada/lectura Unidad de salida/escrituraUnidad de salida/escrituraMemoriaMemoria
Unidad de ControlUnidad de Control
5858
Lectura de datosLectura de datos
Cada vez que se realiza una lectura se debe verificar si los datos ya se terminan, es decir si se toma una decisión para el proceso. Si se continua o se detiene el proceso, es necesario que antes de leer o escribir se abran los archivos que hacen parte del programa en particular y al final de cada proceso se cierren los mismos.
5959
Escritura de datosEscritura de datos
Es necesario guardar los datos en dispositivos como discos duros. A través del proceso de escritura, los datos son llevados de la memoria real a cualquiera de estos dispositivos en donde permanecen grabados.
CPU
Memoria CANAL
CANAL
D I S E P N O D TS E RI AT DI AVOS
D I S S P A O D LS E II DT AI VOS
6060
Operadores BásicosOperadores Básicos
En programación se utilizan los siguientes operadores:
• Operadores Aritméticos: +, -, *, /, **, div, mod.
• Operadores de Relación: >, <, =, >=, <=, <>.
• Operadores Lógicos: and, or, not, xor
6161
Operadores BásicosOperadores Básicos
Operador and
Operando 1 Operando 2 Operando 1 and operando 2
V V V
V F F
F V F
F F F
6262
Operadores BásicosOperadores Básicos
Operador or
Operando 1 Operando 2 Operando 1 or operando 2
V V V
V F V
F V V
F F F
6363
Operadores BásicosOperadores Básicos
Operador xor
Operando 1 Operando 2 Operando 1 xor operando 2
V V F
V F V
F V V
F F F
6464
Operadores BásicosOperadores Básicos
Operador not
Operando Not Operando
V F
F V
6565
Expresiones y operaciones aritméticasExpresiones y operaciones aritméticas
Una expresión aritmética se define como una combinación de constantes y/o variables unidas por operadores aritméticos.
Por ejemplo:
3+2*5-1 (A*B-C)/D 5*A-2/C
Cuando se evalúa una expresión aritmética el resultado es siempre un número.
6666
Expresiones y operaciones aritméticasExpresiones y operaciones aritméticas
Para evaluar una expresión se debe observar las siguientes reglas:
• Las expresiones encerradas entre paréntesis ( ) se evalúan primero.
2. Dentro de una expresión los operadores se evalúan en el siguiente orden.** primera prioridad*,/,div,mod segunda prioridad+, - tercera prioridad
3. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
6767
Expresiones y operaciones aritméticasExpresiones y operaciones aritméticas
Por ejemplo:4 + 5 – 3**2
1era operación: 3**2 = 92da operación: 4 + 5 = 93era operación: 9 – 9 = 0
25 * 7 div 3 + 51era operación: 25 * 7 = 1752da operación: 175 div 3 = 583era operación: 58 + 5 = 63
6868
Expresiones y operaciones aritméticasExpresiones y operaciones aritméticas
Tabla completa de prioridades
Operador Prioridad
**
Not
*, /, div, mod, and
+, -, or
<, <=, =, <>, >=, >
Más alta
Más baja
6969
Expresiones y operaciones aritméticasExpresiones y operaciones aritméticas
Por ejemplo:((2*7>4-1) or (1>3-2)) and ( 8 < 5)
1era operación: 2 * 7 = 142da operación: 4 - 1 = 33era operación: 14 > 3 = V4ta operación: 3 - 2 = 15ta operación: 1 > 1 = F6ta operación: V or F = V7ma operación: 8 < 5 = F8va operación: V and F = F
top related