Tema 13:
El funcionamiento de un PC puede considerarse como un sistema que recibe unos datos de entrada, los procesa siguiendo una serie de pasos previamente definidos obteniendo unos resultados que serán los datos de salida. Un programa se puede definir como un conjunto de instrucciones que un PC puede ejecutar para la realización de una tarea determinada. Según lo cerca o lejos que esté el lenguaje de programación del idioma binario del ordenador se clasifica en tres grupos: de bajo nivel, de alto nivel, orientado a objetos.
Lenguaje de bajo nivel:
consiste básicamente en la asignación de un código mnemotécnico, más fácil de recordar, a cada una de las ristras de ceros y unos que conforman las instrucciones.Lenguaje de alto nivel:
nos permite escribir programas de manera parecida a la que utilizaríamos para explicar con nuestras palabras el procedimiento para realizar un proceso. Tiene la desventaja de no aprovechar al máximo los recursos de la máquina, generando programas más largos y lentos. Necesita también de una traducción a lenguaje máquina, que suele hacerse con dos tipos de programas: compiladores (obtienen un fichero que no es más que su traducción completa de dicho programa a lenguaje máquina) o inté rpretes ( también traducen el programa de alto nivel a lenguaje máquina, pero lo hace línea a línea).Lenguaje orientado a un objeto:
se basa en dividir el programa en pequeñas unidades lógicas de código. A estas pequeñas unidades lógicas de código se les llama objetos. Los objetos son unidades independientes que se comunican e n tre ellos mediante mensajes.Elaboración de un programa:
1) Fase de análisis: se hace un estudio en profundidad del problema a resolver hasta comprenderlo perfectamente. 2) Fase de diseño del algoritmo: se compone de una serie de pasos sucesivos que indican a la máquina paso a paso todas las operaciones a realizar para la resolución de un problema. 3) Fase de codificación: Consiste en traducir el algoritmo al lenguaje de programación elegido, obteniéndose así el código fuente. 4) Fase de compilación y enlazado o montaje: se traduce el programa fuente a lenguaje máquina, obteniéndose el programa objeto, mediante programas compiladores que nos avisarán de los errores de sintaxis y no compilará hasta que sean corregidos. 5) Fase de ejecución y depuración: El programa se ejecuta varias veces sometíéndolo a diversas pruebas para comprobar su correcto funcionamiento y detectar errores de programación.Diagrama de flujo:
es la representación gráfica que muestran la secuencia lógica de las operaciones que debe realizar un ordenador, así como la corriente en la resolución de un programa. Los símbolos más utilizados son: Terminal: Llevan escrito dentro la palabra INICIO o FIN, y se emplea para empezar o terminar el diagrama de flujo. Proceso: Sirve para expresar de manera clara y concreta, mediante frases cortas escritas en su interior, cualquier acción o proceso que deba realizarse. Entrada/Salida: Indica el acceso a cualquier dispositivo externo. Este es un símbolo genérico pero existen otros más específicos. Decisión: Tienen una entrada y generalmente dos salidas. En su interior contienen una pregunta o condición con dos posibles respuestas y en función de ellas el programa se bifurcará hacia una u otra salida. Llamada a subrutina: Muchas veces los bloques de un algoritmo son tan generales que es preciso diseñarlos como algoritmos diferentes. Conectores: Los circulares sirven para conectar dos algoritmos dentro de la misma página y los otros entre páginas diferentes.Pseudocódigo:
lenguaje intermedio entre el lenguaje natural y el lenguaje de programación seleccionado.Todo algoritmo representado en notación pseudocodificada deberá contener : cabecera y cuerpo.
Programación estructurada:
significa escribir un programa que tiene un diseño modular , es diseñados de modo descendente y c ada modulo se codifica utilizando las tres estructuras de control básicas: secuencial, alternativa y repetitiva. Esta programación incorpora: Recursos abstractos: consiste en descomponer una determinada acción compleja en términos de un número de acciones más simples. Diseño descendente:, se descompone el problema en etapas o estructuras jerárquicas . Estructuras básicas: Cualquier programa con un solo punto de entrada y un solo punto de salida puede resolverse con tres tipos de estructuras básicas de control:Secuencial:
ejecuta las acciones sucesivamente , Alternativa :se realiza una alternativa dependiendo del valor de una determinada condición , Repetitiva o iterativa :
las acciones se ejecutan un número determinado de veces y dependen de un valor predefinido .
Programa C:
consta de las siguientes partes: Directivas al preprocesador. Definición de constantes y macros. Declaración de variables globales y locales.Definición de funciones.Comentarios ( Son lineas que ignora el compilador pero sirven para documentar los programas ) .
Tipos de datos :
enteros, reales, punteros, enumerativos, array, string, struct, campos de bits, unión.Declaración de variables :
En la declaración de una variable se establece: La clase de almacenamiento. Tipo de modificador.Tipo de dato básico. Nombre de la variable. El valor inicial.Clases de almacenamiento:
automatic : son variables locales de cada llamada a un bloque. static : locales de un bloque. external : existen y mantienen sus valores durante toda la ejecución del programa. register : se almacenan en registros de alta velocidad de acceso.Tipos de datos:
Tipo char: Se utiliza para representar cualquier carácter de los pertenecientes al código ASCII. Tipo int: Engloba a los números enteros, que por defecto se considerarán con signo y cuyo tamaño dependerá de la máquina que estemos utilizando. Tipo float: Representa a los números reales en coma flotante de simple precisión. Tipo double: Representa a los números reales en coma flotante de doble precisión.Operadores:
Son símbolos que indican al compilador que lleve a cabo manipulaciones matemáticas o lógicas. En C existen tres clases generales de operadores: Aritméticos. Relacionales (para establecer relaciones entre unos valores y otros) . Lógicos (para indicar la forma en que las relaciones pueden conectarse entre si).Para tratamiento de bits (para realizar operaciones a nivel de bit y los operandos utilizados deben ser de tipo char o int) . De asignación (para Cargar una variable con el resultado obtenido de una expresión). De coma (para separar dos expresiones dentro de una expresión total) . Indicadores de expresión (para separar dos expresiones dentro de una expresión total) . De tamaño ( Permite calcular el tamaño de las cosas en bytes ) . De molde ( Convierte el tipo de dato de un operando utilizado en una expresión ). Condicional ( Utiliza una operación alternativa mediante una condición ).Instrucciones entrada/salida :
Todas las operaciones de entrada y salida se hacen mediante librerías externas. En el caso de C, esa librería es stdio, que agrupa todas las funciones de entrada y salida desde teclado, pantalla y ficheros de disco. En el caso de C++ se dispone de varias clases: streambuf, ios, istream, ostream y fstream.Instrucciones de entrada:
scanf : recibe datos desde el dispositivo de entrada (por defecto es el teclado) con un formato determinado. Cin : Se trata de un objeto global definido en la librería «iostream.H“ de c++ . Getchar(voidLee un carácter desde «stdin».