Conceptos basicos
-
Upload
luna-galvan -
Category
Documents
-
view
298 -
download
1
Transcript of Conceptos basicos
UN RECORRIDO POR LOS CONCEPTOS BÁSICOS
FUNDAMENTOS DE PROGRAMACIÓN
SCD-1011
INSTITUTO TECNOLÓGICO IZTAPALA
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Definición
Es el conjunto de recursos humanos y materiales a través de los cuales se recolectan, almacenan, recuperan, procesan y comunican datos e información con el objet ivo de lograr una gestión eficiente de las operaciones de una organización.
INGENIERIA EN SISTEMAS COMPUTACIONALES
ELEMENTOS DEL COMPUTADOR
+
HARDWARE (elem.físicos)
SOFTWARE (programa)
HARDWARE (COMPONENTES FÍSICOS)
Unidades PeriféricasDe Entrada
Ejem.TecladoMouseEscaner, etc
UnidadesPeriféricasDe Salida
Ejm.ImpresoraMonitor,Parlantes, etc.
Unidades deAlmacenamiento.
Ejem. Disquete,Discos compactos,Discos duros, etc.
Unidad deControl
UnidadAritméticaY Lógica
Memoria PrincipalRAM y ROM
UNIDAD CENTRAL DE PROCESO
SOFTWARE Conjunto de Programas y procedimientos necesarios para hacer posible la realización de una tarea especifica, en contraposición de los componentes físicos de un sistema de computo.
GENERALIDADES
DATOEs la representación simbólica de un hecho, atributo o característica de
una entidad.Ejm: nota de un alumno, nombre de un docente, color de un carro, etc.
INFORMACIONEs un dato útil.Ejm. El promedio final de un alumno para un curso, número de
aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo.
La información se obtiene mediante el procesamiento de los datos
Procesador
Entrada Salida
Algoritmo
DATOS
INFORMACION
Es realizado por el procesador el cual ejecuta un conjunto de pasos previamente definidos (algoritmo) El procesamiento de datos puede ser:
Manual Mecanizada (uso de calculadora, sumadora, etc) Automatizado (uso del computador)
PROCESAMIENTO DE DATOS
Operaciones que transforman datos en información
PROCESAMIENTO DE DATOS AUTOMATIZADO
Entrada
DATOS
Salida
INFORMACION
Programa
Algoritmo
Procesador
DISEÑO DE ALGORITMOS
ALGORITMO Secuencia ordenada de pasos o acciones o
instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema.
Es expresado en lenguaje natural utilizando herramientas estandarizadas.
Características de un algoritmo Preciso: El algoritmo debe indicar el orden en que se
debe realizar cada paso. Finito: El algoritmo tiene un número finito de pasos
y debe terminar en algún momento. Bien definido: Si el algoritmo se prueba dos veces
con los mismos datos de entrada, se debe obtener el mismo resultado.
FASES PARA LA CONSTRUCCION DE UN PROGRAMA
SOLUCION DEL PROBLEMA
SOLUCION DEL PROBLEMA
IMPLEMENTACIONEN LA
COMPUTADORA
IMPLEMENTACIONEN LA
COMPUTADORA
Datos
Algoritmo Programa
(Software)
Análisis del problema
Diseño del algoritmo
Verificación del algoritmoError de
lógicaOK
Codificación del algoritmo (programa)
Ejecución del programa
Verificación del programa
Programa
Error
sintaxis
OK
Algoritmo
PROGRAMAEs el algoritmo escrito en un lenguaje de programación para ser ejecutado por el computador.
Tipos de lenguajes de Programación: Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son fáciles de escribir. Es el mas usado por los programadores.
Ejm. C++, Pascal, Basic, Prolog, Java, etc
Lenguaje de bajo nivel: lenguaje mnemotécnico.Ejm. ADD M, N, P
Lenguaje de máquina: lenguaje binario (0 y 1) entendible directamente por el computador.
Ejm. 0110 1001 1010 1011
PARADIGMAS DE PROGRAMACIÓNRepresenta un enfoque particular o filosofía para la construcción del software.
HERRAMIENTAS DE PROGRAMACIÓN
COMPILADORES E INTERPRETES
Definiciones básicas
Intérprete: Ejecuta una a una las instrucciones de un programa de alto nivel. La entrada es un archivo en un lenguaje de alto nivel, la diferencia con un compilador es que la salida es una ejecución.
– Ej:Basic, LISP, PROLOG son interpretados
– Ventaja: fácil depuración
– Desventaja:lentitud y consumo de recursos (pues el intérprete ocupa tiempo y memoria)
COMPILADORES E INTERPRETES
Compilador: Proceso de traducción en dos fases (Análisis y Síntesis) que convierte un programa fuente escrito en un lenguaje de alto nivel, a un programa objeto en código de máquina, listo por tanto para su ejecución en el computador.
Traductor: desde un punto de vista general, es un proceso que convierte un programa escrito o texto en un lenguaje fuente a un texto o programa escrito en un lenguaje destino. Incluyen tanto a los compiladores como a los intérpretes.
TRADUCTORES DE LENGUAJE
Programas que traducen programas fuente a lenguaje de máquina.
Tipos de Traductores: Compiladores e Intérpretes
Ejecución de la Instrucción
Programa Fuente
Compilador ProgramaObjeto
Programa Fuente Intérprete
Ejecución del Programa
Instrucción en leng.máq.
instrucción
Programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los BYTES leídos según el código de caracteres que usa el editor. Hoy en día es comúnmente de 7- ó 8-bits en ASCII o UTF-8, rara vez EBCDIC.
Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97 ó hexadecimal 61) en el archivo lo representará en la pantalla por la figura a, que el usuario reconoce como la letra "a" y ofrecerá al usuario las funciones necesarias para cambiar el número binario en el archivo.
EDITOR DE TEXTO
Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado y se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, scripts o el código fuente de algún programa.
El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la extensión .txt, aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominación de sus archivos.
EDITOR DE TEXTO
D A T O S
Los datos son representaciones simbólicas no significativas, que a través del procesamiento y la interpretación se convertirán en información, es en esto donde radica su importancia.
Dentro de un programa o algoritmo, los datos siempre tienen las siguientes propiedades.
TIPO DE DATO: Es un dominio nominado de datos que permite el almacenamiento de una determinada naturaleza de dato, atendiendo un grado de exactitud específico, causando un consumo determinado de almacenamiento.
DOMINIO: Es el conjunto de valores válidos para un dato.
OPCIONALIDAD: Es la necesidad que se tiene de que un dato tenga valor.
VALOR: Es la expresión almacenada como dato en un momento determinado.
Tipos de Datos (reconocidos por el computador):
DATOS
BASICOS COMPUESTOS
Numéricos Caracter Lógico Estático Dinámico
DATOS SIMPLES O DATOS BASICOS
DATOS NUMERICOSSon todos aquellos valores con los cuales se pueden
realizar cálculos aritméticos . Estos pueden ser:Enteros y Reales
El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice.
DATOS TIPO CARÁCTER ó TIPO CADENAValores compuestos por conjunto de caracteres que el computador reconoce. Estos valores tienen longitud variable.Se encuentran normalizados bajo el código ASCII o EBCDICSe tienen:
Caracteres alfabéticos: A - Z ; a - zCaracteres numéricos: 0 - 9Caracteres especiales: *, / , +, >, <, =, etc.
DATOS TIPO LOGICO ó BOLEANOValores binarios compuestos por el conjunto de 0, 1; tienen su origen en el algebra de Boole.
Permite manejar pares de valores mutuamente excluyentes, como:
FALSO, VERDADERO; SI, NO; ABIERTO, CERRADO.
DATOS NULOS
Es la ausencia de valor. Indica que el valor se desconoce; cualquier operación realizada con valores nulos genera valores nulos, dado que es imposible determinar el resultado final.
DATOS BLOB
Son valores compuestos por la representación binaria (digital) de grandes cantidades de información; tal como imágenes, sonidos, etc. BLOB →→ objetos binarios largos; por sus siglas en ingles: Binary Large Object
DATOS COMPUESTOS ESTATICO
Expresiones = Valor de un dato.
Cualquier dato u operación que resulte en un dato es una expresión.
Si su representación es literal (se escribe directamente) es una expresión absoluta.
Si es necesario resolver un valor a partir de otros, es una expresión compuesta.
-Arreglos -Registros -Archivos
DINAMICO
Variable: Es la referencia lógica nominada a la posición física de memoria RAM en donde se almacena una expresión. Reciben este nombre dado que el valor puede cambiar durante el transcurso de la ejecución del programa.
Listas -Arboles -Grafos
OPERACIONES CON LOS DATOS
OPERACIONES INTERVIENEN OPERADORES RESULTADO
ARITMETICAS DatosNuméricos
Aritméticos
+, - , *, /, resto, entero
DatoNumérico
DE COMPARACION
Datos del mismo tipo
Relacionales>, <, >=, <=, =
DatoLógico
LOGICAS Datoslógicos
LógicosNo, Si, Verdadero,
Falso Y, O
Datológico
EXPRESIÓN DE LOS DATOS
Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc.
CONSTANTEEs un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa.
Tipos de constantes: Literal: es un valor expresado en forma explícita. Ejm. 3.1416
Simbólica: viene expresado bajo un nombre que guarda su valor
Ejm. Pi (Previamente se debe definir que Pi = 3.1416)
VARIABLE
Es un objeto (porción de memoria) que almacena un dato
Para definir una variable es necesario:
- Darle un Nombre
- Indicar el tipo de dato que va almacenar
OJO: El valor de una variable puede cambiar
durante la ejecución del algoritmo.
Tipos de variables:
Entero: Ejm. nota, edad, examen,
Real: Ejm. promedio, sueldo, talla
Carácter: Ejm. sección, sexo,
Lógica: Ejm. Fin, encontrado, vale
Operador de asignación Se utiliza para almacenar un dato en una
variable, perdiéndose cualquier otro valor previamente almacenado en ella.
Se representa con el símbolo Ejem.
Nota 12.3 Nota Nota +2
EXPRESIONESEs una combinación de operandos y operadoresTipos: Expresiones aritméticas
Operando: constantes, variables y expres. numér.Operadores: aritméticosResultado: numéricoEjm. (EP + 2*EF + PP)/4
Expresiones lógicasOperando: constantes, variables y expres. lógicasOperadores: lógicos y relacionalesResultado: lógicoEjm. (PP>6.1 y PF>6.1)
FUNCIONESSon programas predefinidas que:- Tienen un nombre con el cual se les invoca y- Aceptan datos y devuelven un resultado.
Generalmente los lenguajes de programación poseen funciones matemáticas, de cadenas y otros.Ejm. En C++Abs(X): devuelve el valor absoluto del número entero XSqrt(X): devuelve la raiz cuadrada del número X (X>=0)
Identificadores Son los nombres que se le dan a las constantes simbólicas,
variables, funciones y otros. Constan de una cadena de caracteres que debe empezar con
una letra. Deben ser significativos sugiriendo lo que representa.
ACUMULADOR Es una variable cuyo valor aumenta o disminuye en una
cantidad variable cada vez que se produce un determinado suceso o acción.
Debe ser inicializado
Ejm. Se desea acumular las notas de prácticas de un alumno
Sum 0 (el valor de sum es 0)
sum sum + 13 (el valor de sum es 13)
sum sum + 10 (el valor de sum es 23)
CONTADOR Es un acumulador cuyo valor aumenta o disminuye en una
cantidad constante cada vez que se produce un determinado suceso o acción.
Se usa para contar sucesos. Ejm. Contar número de aprobados
VARIABLES IMPORTANTES
INSTRUCCIONES
Son las acciones que van a ser ejecutadas por el computador para resolver el problema.
TIPOS : Instrucciones de Inicio/Fin :
Indica el Inicio y el Fin del algoritmo
Instrucciones de lectura:
Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado.
Instrucciones de escritura:
Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla, impresora, etc.
Instrucciones de asignación:
Almacena un valor en una variable, perdiéndose cualquier otro valor almacenado en ella.
Instrucciones selectivas:
Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional
Instrucciones repetitivas:
Permiten la repetición de un grupo de instrucciones, generando un bucle (lazo o loop).
EJEMPLO DE ALGORITMO
Se cuenta con las notas del EP, EF y PP de un alumno.
Se sabe que el promedio final (PF) se calcula con la fórmula:
PF=(EP+ PP+2EF)/4
Si el alumno cumple con la siguiente condición: PP>6.1 y
PF> 6.1 tiene opción a rendir un examen sustitutorio (ES)
Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES.
En el caso que ya no pueda rendir el ES, debe mostrar
también el PF
Análisis
Datos de entrada: EP, EF, PP
Salida: mensaje y PF (si no puede rendir ES)
Algoritmo
Inicio del algoritmo
Ingresar las notas del alumno: EP, EF y PP
Calcular PF con la siguiente fórmula:
PF = (EP + 2EF + PP)/4
Si cumple la condición PP> 6.1 y PF>6.1entonces mostrar
el mensaje “Puede rendir el ES”
Si no cumple la condición entonces mostrar el mensaje “No
puede rendir ES” y mostrar PF
Fin del algoritmo.