Professional Documents
Culture Documents
RECOPILACIÓN
UNIDAD DE TRABAJO 1: ALGORITMOS Y PROGRAMAS
OBJETIVO: Presentar los conceptos básicos de la programación
TIEMPO ESTIMADO: 10 periodos
CONTENIDO PROCEDIMENTAL:
Manejar e interpretar el material bibliográfico
Procesar la información
Describir el ciclo de vida de una aplicación informática
Interpretar problemas
Interpretar algoritmos
Interpretar errores
Describir las características que debe tener un buen programa
Documentar algoritmos y programas
Identificar y utilizar los objetos de un programa
CONTENIDO CONCEPTUAL:
Los sistemas de procesamiento de la información
Algoritmos
Aplicación informática
Ciclo de vida de una aplicación informática. Diseño del programa. Instalación y
explotación del programa
Errores. Tipos de errores
Programación. Tipos de programación. Calidad de los programas
Documentación de los programas. Formas de documentación
Nociones sobre estructuras de datos. objetos de un programa. Tipos sencillos de
datos: identificadores, tipos de datos, constantes, variables, expresiones. Tipos
operadores. Tipos complejos de datos
Estructuras estadísticas. Definición, características básicas. Almacenamiento
Estructuras externas. Ficheros. Definición. Tipos de ficheros. Características
básicas. Almacenamiento. Estructuras dinámicas. Definición. Características
básicas. Almacenamiento.
Bases de datos.
CONCEPTOS ACTITUDINALES:
Realizar trabajos encomendados con autonomía
Responsabilizarse de las tareas realizadas
Tomar iniciativas, realizar sugerencias de mejora
Desarrollar los trabajos y actividades emprendidos con eficacia.
DESARROLLO DE LA UNIDAD 1
LOS SISTEMAS DE PROCESAMIENTO DE LA INFORMACIÓN
Un sistema de información es un conjunto de elementos orientados al tratamiento y
administración de datos e información, organizados y listos para su posterior uso,
generados para cubrir una necesidad (objetivo).
Personas.
Datos.
Actividades o técnicas de trabajo.
Recursos materiales en general (típicamente recursos informáticos y de
comunicación, aunque no tienen por qué ser de este tipo obligatoriamente).
Todos estos elementos interactúan entre sí para procesar los datos (incluyendo procesos
manuales y automáticos) dando lugar a información más elaborada y distribuyéndola de la
manera más adecuada posible en una determinada organización en función de sus
objetivos.
Las unidades típicas de entrada de datos a las computadoras son las terminales, las cintas
magnéticas, las unidades de diskette, los códigos de barras, los escáner, la voz, los
monitores sensibles al tacto, el teclado y el mouse, entre otras.
Almacenamiento de información: El almacenamiento es una de las actividades o
capacidades más importantes que tiene una computadora, ya que a través de esta
propiedad del sistema puede recordar la información guardada en la sección o proceso
anterior. Esta información suele ser almacenada en estructuras de información
denominadas archivos. La unidad típica de almacenamiento son los discos magnéticos o
discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM).
Procesamiento de Información: Es la capacidad del Sistema de Información para efectuar
cálculos de acuerdo con una secuencia de operaciones preestablecida. Estos cálculos
pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos
que están almacenados. Esta característica de los sistemas permite la transformación de
datos fuente en información que puede ser utilizada para la toma de decisiones, lo que
hace posible, entre otras cosas, que un tomador de decisiones genere una proyección
financiera a partir de los datos que contiene un estado de resultados o un balance general
de un año base.
Salida de Información: La salida es la capacidad de un Sistema de Información para sacar
la información procesada o bien datos de entrada al exterior. Las unidades típicas de
salida son las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores
y los plotters, entre otros. Es importante aclarar que la salida de un Sistema de
Información puede constituir la entrada a otro Sistema de Información o módulo. En este
caso, también existe una interfaz automática de salida. Por ejemplo, el Sistema de Control
de Clientes tiene una interfaz automática de salida con el Sistema de Contabilidad, ya que
genera las pólizas contables de los movimientos procesales de los clientes.
Entradas:
Datos generales del cliente: nombre, dirección, tipo de cliente, etc.
Políticas de créditos: límite de crédito, plazo de pago, etc.
Facturas (interfaz automático).
Pagos, depuraciones, etc.
Proceso:
Cálculo de antigüedad de saldos.
Cálculo de intereses moratorios.
Cálculo del saldo de un cliente.
Almacenamiento:
Movimientos del mes (pagos, depuraciones).
Catálogo de clientes.
Facturas.
Salidas:
Reporte de pagos.
Estados de cuenta.
Pólizas contables (interfaz automática)
Consultas de saldos en pantalla de una terminal.
ACTIVIDADES:
ALGORITMOS
DEFINICIONES:
Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a
realizar sin criterios de interpretación.
Ser finito: Un número específico y numerable de pasos debe componer al
algoritmo, el cual deberá finalizar al completarlos.
Tener cero o más entradas: Datos que son proporcionados a un algoritmo como
insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones
que comprende.
Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un
algoritmo que hace algo y nunca sabemos que fue.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no
usando nada más ni nada menos que aquello que se requiera para y en su
ejecución.
EJEMPLOS:
PASOS:
1. Inicio
2. Buscar la olla en la que cocinare el arroz
3. Ponerle agua a la olla
4. Encender el fuego en la cocina
5. Poner la olla al fuego
6. Escoger el arroz
7. lavar el arroz
8. ponerlo en la olla para que se cocine
9. verificar que tenga el agua suficiente para que se cocine
10. ponerle aceite y sal al gusto
11. moverlo de vez en cuando
12. dejar secar el agua
13. ponerle una protección (algo de metal) entre el fuego y la olla
14. esperar a que se cocine y apagar el fuego
15. Fin
2. Realizar la suma de dos números
PASOS:
1. Inicio
2. Leer los valores de los 2 números
3. Realizar la suma
4. Almacenar el resultado anterior en suma
5. Escribir el valor de la suma
6. Fin
ACTIVIDADES:
APLICACIÓN INFORMÁTICA
* Equipo a utilizar.
* Personal informático.
* Estudio de los datos de entrada (INPUT).
* Estudio de los datos de salida o resultados (OUTPUT).
* Relación entre la salida y la entrada.
* Descomposición del problema en módulos.
Escritura del programa fuente. Se hace con la ayuda de un programa del sistema
denominado editor.
Traducción del programa fuente a lenguaje máquina. Para ello se dispone de programas
compiladores o intérpretes.
EJEMPLOS:
1) PREPARACIÓN DE ARROZ CON POLLO
DISEÑO
Fase de análisis
Equipo a utilizar: utensilios y vasijas necesarias
Personal informático: cheff y ayudantes de cocina
Estudio de los datos de entrada (INPUT): ingredientes necesarios, cantidad de
comensales
Estudio de los datos de salida o resultados (OUTPUT): arroz con pollo
Relación entre la salida y la entrada: arroz con pollo suficiente para cantidad de
comensales
Descomposición del problema en módulos: preparación del arroz, picar hortalizas,
preparación del relleno
Fase de programación: escribir los pasos necesarios para realizar la preparación
Fase de codificación: concretar y pulir el listado anterior
INSTALACIÓN Y EXPLOTACIÓN
Fase de edición: iniciar cocción de alimentos por separado (módulos)
Fase de compilación: detección de posibles errores
Fase de montaje: unir todos los ingredientes
Fase de prueba de ejecución: probar sazón, verificar que todo esté de acuerdo a
especificaciones
Fase de explotación y mantenimiento: servir el arroz con pollo y mantenerlo al
temple acorde a los requerimientos de los usuarios.
2) PROMEDIO DE CALIFICACIONES DEL QUIMESTRE
DISEÑO
Fase de análisis
Equipo a utilizar: características necesarias de computador
Personal informático: programador, digitador.
Estudio de los datos de entrada (INPUT): calificaciones de asignaturas/módulos
Estudio de los datos de salida o resultados (OUTPUT): calificación quimestral
Relación entre la salida y la entrada: calificación quimestral con las calificaciones de
asignaturas/módulos necesarias
Descomposición del problema en módulos: ingreso de calificaciones, sumatoria de
calificaciones, promedio quimestral
Fase de programación: elaborar el algoritmo
Fase de codificación: pasar el algoritmo realizado anteriormente a codificación en un
lenguaje de programación
INSTALACIÓN Y EXPLOTACIÓN
Fase de edición: digitar en un lenguaje de programación el programa realizado en la fase
de codificación
Fase de compilación: pasar por un compilador el programa digitado, el cual detectara
posibles errores
Fase de montaje: no necesaria para todos los programas
Fase de prueba de ejecución: ejecutar el programa para verificar su buen funcionamiento
Fase de explotación y mantenimiento: ponerlo a disposición del usuario para su
utilización, realizarle posibles modificaciones para mejora su eficacia.
ACTIVIDADES
ERRORES
Incluso los programadores más experimentados cometen errores; y conocer cómo
depurar una aplicación y encontrar esos errores es una parte importante de la
programación. No obstante, antes de obtener información sobre el proceso de
depuración, conviene conocer los tipos de errores que deberá buscar y corregir.
TIPOS DE ERRORES:
Error del usuario. Errores que se producen cuando el usuario realiza algo inesperado y el
programa no reacciona apropiadamente.
Error del programador. Son errores que ha cometido el programador al generar el código.
La mayoría de errores son de este tipo.
Errores de documentación. Ocurren cuando la documentación del programa no es
correcta y provoca fallos en el manejo
Error de interfaz. Ocurre si la interfaz de usuario de la aplicación es enrevesada para el
usuario impidiendo su manejo normal. También se llaman así los errores de protocolo
entre dispositivos.
Error de entrada / salida o de comunicaciones. Ocurre cuando falla la comunicación
entre el programa y un dispositivo (se desea imprimir y no hay papel, falla el teclado,...)
Error fatal. Ocurre cuando el hardware produce una situación inesperado que el software
no puede controlar (el ordenador se cuelga, errores en la grabación de datos,...)
Errores de compilación: Los errores de compilación, también conocidos como errores
del compilador, son errores que impiden que su programa se ejecute.
Errores en tiempo de ejecución: Los errores en tiempo de ejecución son errores que
aparecen mientras se ejecuta su programa. Estos errores aparecen normalmente cuando
su programa intenta una operación que es imposible que se lleve a cabo.
Errores lógicos: Los errores lógicos son errores que impiden que su programa haga lo
que estaba previsto. Su código puede compilarse y ejecutarse sin errores, pero el
resultado de una operación puede generar un resultado no esperado.
PROGRAMACIÓN
La programación es el proceso de diseñar, escribir, probar, depurar y mantener el código
fuente de programas computacionales. El código fuente es escrito en un lenguaje de
programación. El propósito de la programación es crear programas que exhiban un
comportamiento deseado. El proceso de escribir código requiere frecuentemente
conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar,
algoritmos especializados y lógica formal. Programar no involucra necesariamente otras
tareas tales como el análisis y diseño de la aplicación (pero si el diseño del código),
aunque si suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
TIPOS DE PROGRAMACIÓN
Un módulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos módulos
tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de
que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de
comunicación que también debe estar bien definida.
Una vez concluido el programa, los documentos que se deben entregar son: una guía
técnica, una guía de uso y de instalación.
Tipos de documentación
La guía técnica
La guía de uso
Es lo que comúnmente llamamos el manual del usuario. Contiene la información
necesaria para que los usuarios utilicen correctamente la aplicación.
Este documento se hace desde la guía técnica pero se suprimen los tecnicismos y se
presenta de forma que sea entendible para el usuario que no sea experto en informática.
La guía de instalación
Es la guía que contiene la información necesaria para implementar dicha aplicación.
Dentro de este documento se encuentran las instrucciones para la puesta en marcha del
sistema y las normas de utilización del mismo.
Dentro de las normas de utilización se incluyen también las normas de seguridad, tanto
las físicas como las referentes al acceso a la información.
TIPOS DE DATOS: es un atributo de una parte de los datos que indica al ordenador (y/o al
programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye
imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se
pueden realizar. Tipos de datos comunes son:
Por ejemplo:
El valor de pi = 3.1416
VARIABLES: las variables son espacios reservados en la memoria que, como su nombre
indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una
variable corresponde a un área reservada en la memoria principal del ordenador pudiendo
ser de longitud:
Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del
programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo
algunas excepciones — como las colecciones de otras variables (arreglos) o las
cadenas.
Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución.
Típicamente colecciones de datos.
Operador Acción
Resta
Suma
Multiplicación
División
Módulo
Decremento
Incremento
OPERADOR ACCIÓN
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Diferente a
= Igual
OPERADOR ACCIÓN
AND Y
OR O
NOT Negación
Arreglos: Son una agrupación de datos homogéneos, es decir, con un mismo tipo de
dato básico asociado. Se almacenan en forma contigua en la memoria y son
referenciados con un nombre común y una posición relativa.
Registros: Son un tipo de datos formado por una colección finita de elementos no
necesariamente homogéneos. El acceso se realiza a través del nombre del registro
seguido del campo específico al que se desea acceder.
LINEALES:
Punteros: Son tipos de datos simples capaces de almacenar la posición de una
variable en memoria principal. Se dice que ellos direccionan a otras variables.
Pilas o colas lifo: Imagina un montón de platos "apilados" o bien fichas de dominó
formando una torre e intenta eliminar una desde el centro, ¿qué ocurre?,
naturalmente esta operación no está permitida si queremos mantener intactos a
los platos o a la torre construida. Por esta razón, una pila se asocia a una
estructura de datos LIFO (LAST IN FIRST OUT
NO LINEALES:
ÁRBOLES: Es una estructura de datos no lineal que posee raíz, ramas y hojas,
técnicamente constituye un grafo finito y sin ciclos. Un árbol define ciertos
niveles jerárquicos precedidos por la raíz (1er. nivel), en donde las hojas
constituyen el nivel más bajo.
Componentes
Raíz: Nodo que constituye la única entrada a
la estructura (por ello es necesario tener un
puntero sobre él).
Ramas o Arcos: Conexión entre dos nodos
del árbol que representa una relación de
jerarquía.
Hojas: Nodo sin hijos.
Los archivos son el conjunto organizado de informaciones del mismo tipo, que pueden
utilizarse en un mismo tratamiento; como soporte material de estas informaciones.
TIPOS DE FICHEROS
TEXTO FORMATEADO: Existen muchos tipos (tantos como fabricantes), el contenido es
principalmente ASCII pero acompañado de múltiples caracteres específicos de control de
formato y presentación. Son los ficheros producidos por procesadores de texto (del tipo
Word de MS o WordPerfect, por ejemplo) y sistemas de auto edición. Requieren un
programa específico para abrirlos. Pueden ser también abiertos con un procesador de
texto ASCII puro, pero entonces son difícilmente legibles, porque junto con el texto
normal aparecen combinaciones de caracteres extraños (los denominados caracteres de
control) que sirven para indicar que tipo de letra se utiliza en cada párrafo, si es negrita,
subrayado, etc. etc.
Este tipo de imagen es el que vemos en la pantalla de nuestro monitor (que a fin de
cuentas muestra puntos), y es poco adecuado para ciertas manipulaciones, por ejemplo
hacer zoom (aumentar o disminuir). Es fácil entender que si se aumenta mucho la imagen
empiezan a verse lo puntos (como si nos acercamos demasiado a una foto del periódico).
Entre los ficheros de este tipo están los terminados en GIF, JPG, TIF, JPEG, PNG, BMP, ICO.
Los formatos para ser vistos en páginas Web son todos de este tipo.
En el sistema vectorial, cada elemento de la imagen, línea, punto, polígono, zona de color,
etc. es definida por sus propiedades matemáticas, de forma que, por ejemplo, una línea
entre dos puntos puede ser definida como una recta (o un tipo de curva) que pasa por
dichos puntos, con un color, un grueso y un tipo de trazo (continuo, discontinuo, puntos,
etc).
Las imágenes vectoriales son muy indicadas para dibujos de tipo técnico, por ejemplo:
mapas geográficos, cartografía, diseño arquitectónico, diseño mecánico, etc, así como
para cierto tipo de diseño artístico. Resulta imprescindible para dibujos en los que se
necesita conocer la escala, o sobre los que es necesario hacer cálculos. Por ejemplo,
conocer la distancia entre dos puntos o la intersección de dos líneas. Soporta los cambios
de tamaño (zoom) con absoluta precisión. Entre los ficheros de este tipo están los
terminados en DWG, DWF, DXF.
FICHEROS DE VIDEO: Ficheros con video para ser reproducido en el ordenador (pueden
incluir sonido) y en general contenidos multimedia: MOV, AVI, QT, MPE, MPEG, MPG, ASF.
BASE DE DATOS
Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la
abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca
puede considerarse una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo
tecnológico de campos como la informática y la electrónica, la mayoría de las bases de
datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al
problema de almacenar datos.
UNIDAD DE TRABAJO 2
CONCEPTOS BÁSICOS DE METODOLOGÍA DE LA PREOGRAMACIÓN
OBJETIVO: Introducción a la metodología de la programación
TIEMPO ESTIMADO: 35 períodos
CONTENIDO PROCEDIMENTAL
Manejar e interpretar los manuales y el material bibliográfico
Interpretar el problema
Elegir las estructuras de programación necesarias para la resolución del problema
Construir el algoritmo utilizando las estructuras elegidas
Editar el algoritmo
Realizar pruebas
Corregir los errores observados
Documentar el programa
CONTENIDO CONCEPTUAL
Herramientas y notaciones para el diseño de algoritmos. Diagramas de flujo.
Seudocódigo. Tablas de decisión. Otros
Estructura general de un programa. Partes de un programa: entrada, proceso y
salida. Clasificación de las instrucciones: de declaración, primitivas, de control,
compuestas. Variables auxiliares: contador, acumuladores, switches
Nociones básicas sobre técnicas de programación. Programación convencional.
Programación estructurada: teorema y herramientas. Programación modular:
subprogramas, procedimientos, funciones y recursividad.
CONCEPTOS ACTITUDINALES
Realizar trabajos encomendados con autonomía
Responsabilizarse de las tareas realizadas
Tomar iniciativas, realizar sugerencias de mejora
Desarrollar los trabajos y actividades emprendidos con eficacia
Mostrar interés y aprecio por la buena finalización de los trabajos realizados
Rigurosidad en el análisis de las necesidades y de los recursos disponibles.
DESARROLLO DE LA UNIDAD 2
HERRAMIENTAS Y NOTACIONES PARA EL DISEÑO DE ALGORITMOS
Este es utilizado para representar la salida o para mostrar la información por medio
del monitor o la pantalla.
PSEUDOCÓDIGO
El pseudocódigo (o falso lenguaje) es utilizado por programadores para describir
algoritmos en un lenguaje humano simplificado que no es dependiente de ningún lenguaje
de programación. Por este motivo puede ser implementado en cualquiera lenguaje por
cualquier programador que utilice el pseudocódigo.
Características y partes
Las principales características de este lenguaje son:
1. Se puede ejecutar en un ordenador
2. Es una forma de representación sencilla de utilizar y de manipular.
3. Facilita el paso del programa al lenguaje de programación.
4. Es independiente del lenguaje de programación que se vaya a utilizar.
5. Es un método que facilita la programación y solución al algoritmo del programa.
1. Cabecera.
1. Programa.
2. Modulo.
3. Tipos de datos.
4. Constantes.
5. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. Fin.
Ejemplo
* Programa que calcula el área de un cuadrado a partir de un lado dado por teclado.
Programa: area_cuadrado
Modulo: main **( también se puede llamar principal)
Variables:
lado: natural
area: natural
Inicio
Visualizar "Introduce el lado del cuadrado"
Leer lado
Area<- lado * lado
Visualizar "El área del cuadrado es", area
Fin
INSTRUCCIONES DE DECLARACIÓN
Sólo se utilizan en el pseudocódigo. Indican el nombre y las características de las variables
que se utilizan en el algoritmo. Las variables son nombres a los que se les asigna un
determinado valor y son la base de la programación. Al nombre de las variables se le llama
identificador.
IDENTIFICADORES
Los algoritmos necesitan utilizar datos. Los datos se identifican con un determinado
identificador (nombre que se le da al dato). Este nombre:
DECLARACIÓN DE VARIABLES
Es aconsejable al escribir pseudocódigo indicar las variables que se van a utilizar (e incluso
con un comentario indicar para qué se van a usar).
Esto se hace mediante la sección del pseudocódigo llamada variable, en esta sección se
colocan las variables que se van a utilizar. Esta sección se coloca antes del inicio del
algoritmo. Y se utiliza de esta forma:
Programa: nombre_De_Programa
Variables:
identificador1: tipoDeDatos
identificador2: tipoDeDatos
Inicio
instrucciones
fin
El tipo de datos de la variable puede ser especificado de muchas formas, pero tiene que
ser un tipo compatible con los que utilizan los lenguajes informáticos. Se suelen utilizar los
siguientes tipos:
Ejemplo de declaración:
Variables:
numero_cliente: entero // código único de cada cliente
valor_compra: real //lo que ha comprado el cliente
descuento: real //valor de descuento aplicable al cliente
También se pueden declarar de esta forma:
Variables:
numero_cliente: entero // código único de cada cliente
valor_compra, //lo que ha comprado el cliente
descuento :real //valor de descuento aplicable al cliente
CONSTANTES
Hay un tipo especial de variable llamada constante. Se utiliza para valores que no van a
variar en ningún momento. Si el algoritmo utiliza valores constantes, éstos se declaran
mediante una sección (que se coloca delante de la sección variable), llamada constante.
Ejemplo:
programa ejemplo1
constante
PI=3.1415
NOMBRE=”Jose”
variable
edad: entero
sueldo: real
Inicio
....
Fin
INSTRUCCIONES PRIMITIVAS
Son instrucciones que se ejecutan en cuanto son leídas por el ordenador. En ellas sólo
puede haber:
♦ Asignaciones ( )
♦ Operaciones (+, -, * /,...)
♦ Identificadores (nombres de variables o constantes)
♦ Valores (números o texto encerrado entre comillas)
♦ Llamadas a subprogramas
Ejemplo:
X 8
Y 9
X y
♦ Números. Se escriben tal cual, el separador decimal suele ser el punto (aunque hay
quien utiliza la coma).
♦ Caracteres simples. Los caracteres simples (un solo carácter) se escriben entre comillas
simples: ‘a’, ‘c’,etc.
♦ Textos. Se escriben entre comillas doble “Hola”
♦ Lógicos. Sólo pueden valer verdadero o falso (se escriben tal cual)
♦ Identificadores. En cuyo caso se almacena el valor de la variable con dicho identificador.
Ejemplo:
X 9
y x //y valdrá nueve
Ejemplo:
X (y*3)/2
Es decir x vale el resultado de multiplicar el valor de y por tres y dividirlo entre dos.
x x
leer(x,y,z)
x, y, z x,y,z
ESCRITURA DE DATOS
Funciona como la anterior pero usando la palabra escribir. Simula la salida de datos del
algoritmo por pantalla.
escribir(x,y,z)
escribir x, y, z
EJEMPLO DE ALGORITMO
El algoritmo completo que escribe el resultado de multiplicar dos números leídos por
teclado sería (en pseudocódigo)
programa mayorDe2
variable
x,y: entero
inicio
leer(x,y)
escribir(x*y)
fin
INSTRUCCIONES DE CONTROL
Con lo visto anteriormente sólo se pueden escribir algoritmos donde la ejecución de las
instrucciones sea secuencial. Pero la programación estructurada permite el uso de
decisiones y de iteraciones.
Estas instrucciones permiten que haya instrucciones que se pueden ejecutar o no según
una condición (instrucciones alternativas), e incluso que se ejecuten repetidamente hasta
que se cumpla una condición (instrucciones iterativas). En definitiva son instrucciones que
permiten variar el flujo normal del programa.
EXPRESIONES LÓGICAS
Todas las instrucciones de este apartado utilizan expresiones lógicas. Son expresiones que
dan como resultado un valor lógico (verdadero o falso). Suelen ser siempre
comparaciones entre datos. Por ejemplo x>8 da como resultado verdadero si x vale más
que 8. Los operadores de relación (de comparación) que se pueden utilizar son:
Funcionamiento:
si expresión_lógica entonces
instrucciones
fin_si
Hay que tener en cuenta que se puede meter una instrucción si dentro de otro sí. A eso se
le llama ALTERNATIVAS ANIDADAS.
Ejemplo:
si a≥5 entonces
escribe(“apto”)
si a≥5 y a<7 entonces
escribe(“nota:apro
bado”)
fin_si
si a≥7 y a<9 entonces
escribe(“notable”)
si_no
escribe(“sobresalie
nte”)
fin_si
si_no
escribe(“suspenso”
)
fin_si
Al anidar estas instrucciones hay que tener en cuenta que hay que cerrar las instrucciones
si interiores antes que las exteriores.
Eso es una regla básica de la programación estructurada:
VARIABLES AUXILIARES
Son variables que realizan funciones específicas dentro de un programa.
PROGRAMACIÓN ESTRUCTURADA
La programación estructurada es un estilo con el cual el se busca que el programador
elabore programas sencillos y fáciles de entender. Para ello, la programación estructurada
hace uso de tres estructuras básicas de control.
Éstas son:
Estructura Secuencial
Estructura Selectiva
Estructura Repetitiva (ó Iterativa)
ESTRUCTURA SECUENCIAL
Indica que las instrucciones de un programa se
ejecutan una después de la otra, en el mismo orden en
el cual aparecen en el programa. Se representa
gráficamente como una caja después de otra, ambas
con una sola entrada y una única salida. 45
Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un
módulo o programa completo, siempre y cuando éstos también sean programas
apropiados.
ESTRUCTURA SELECTIVA
También conocida como la estructura SI-VERDADERO-FALSO, plantea la selección entre
dos alternativas con base en el resultado de
la evaluación de una condición; equivale a la
instrucción IF de todos los lenguajes de
programación y se representa gráficamente
de la siguiente manera:
1. Los programas son más fáciles de entender. Un programa estructurado puede ser
leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un
sitio a otro en la lógica, lo cual es típico de otros estilos de programación.
2. Se logra una reducción del esfuerzo en las pruebas. El seguimiento de las fallas o
depuración (debugging) se facilita debido a la lógica más visible, de tal forma que
los errores se pueden detectar y corregir más fácilmente.
PROGRAMACIÓN MODULAR
Completa la programación anterior permitiendo la definición de módulos independientes
cada uno de los cuales se encargará de una tarea del programa.
De esta forma el programador se concentra en la codificación de cada módulo haciendo
más sencilla esta tarea. Al final se deben integrar los módulos para dar lugar a la aplicación
final.
El código de los módulos puede ser invocado en cualquier parte del código.
Realmente cada módulo se comporta como un subprograma que, partir de unas
determinadas entradas obtiene unas salidas concretas. Su funcionamiento no depende del
resto del programa por lo que es más fácil encontrar los errores y realizar el
mantenimiento.
CONTENIDO PROCEDIMENTAL
Manejar e interpretar los manuales y el material bibliográfico
Utilizar los recursos del sistema
Crear una guía-resumen de instalación y utilización del compilador empleado, a
partir de los manuales del producto
Crear una guía-resumen de utilización del editor de textos empleado, a partir de los
manuales del producto
Describir e identificar los distintos elementos del listado de un programa fuente
escrito en C++
Identificar las distintas estructuras de programación que aparecen en el listado
fuente
Utilizar el compilador de C++ empleado
Realizar pruebas
Corregir errores observados
Documentar el programa
CONTENIDO CONCEPTUAL
Lenguajes de programación. Tipos de lenguajes. Ensambladores. Intérpretes.
Compiladores
Compiladores frente a intérpretes
Historia del lenguaje C++
Ciclo de creación de un programa
Estructura general de un programa. Bloques de declaración. Bloques de ejecución.
Editor Borland C++. Elementos de programación. Estructura de un programa.
Directrices para el procesador. Declaración de variables y funciones externas.
Declaración de variables globales y funciones prototipo. Funciones (main(),, etc.
Funciones. De usuario. De librería
La compilación. Características del compilador que se empleará. Opciones más
utilizadas
El enlazado. Opciones más utilizadas
Librerías de C++. Librerías más utilizadas
Ejecución de un programa
La depuración. Opciones del depurador.
CONCEPTOS ACTITUDINALES
Realizar trabajos encomendados con autonomía
Respons0abilizarse de las tareas realizadas
Tomar iniciativas, realizar sugerencias de mejora
Desarrollar los trabajos y actividades emprendidos con eficacia
49
En realidad los ordenadores sólo reconocen un lenguaje formado por los unos y ceros del
código binario. Según la disposición de esos unos y ceros entenderá unas instrucciones u
otras. De esa forma hay lenguajes más próximos al lenguaje de las computadores
(lenguajes de bajo nivel) y lenguajes más próximos al lenguaje humando (lenguajes de
alto nivel)
Un detalle a tener en cuenta es que el código máquina es distinto para cada tipo de
procesador. Lo que hace que los programas en código máquina no sean portables entre
distintas máquinas.
mov ax,4C00h
int 21h
START ENDP
CODE ENDS
END START
Este lenguaje tiene traducción exacta al código máquina, por lo que es un lenguaje
diferente para cada procesador; es decir, no es portable.
Hace falta software que transforme el código del lenguaje de alto nivel en código
entendible por el ordenador en un proceso conocido como interpretación o compilación
(dependiendo del lenguaje).
51
INTÉRPRETRES Y COMPILADORES
Existen dos tipos principales de traductores de los lenguajes de programación de alto
nivel:
BORLAND C++
Borland International es el productor del Turbo C++ y del Borland C++. Todos los
productos del lenguaje C++ de Borland, comenzando con la versión 3.0 con compatibles
con el estándar 3.0 de AT&T. Ser compatible con la versión 3.0 de AT&T es la prueba que
determina si un compilador es lo suficientemente moderno como para ser usado como un
compilador serio de C++. Si no usa alguno de los compiladores de C++ de Borland, tal vez
esté satisfecho con el suyo si se apega al estándar 3.0 de AT&T. Comenzando con la
versión 8.0, el compilador de C++ de Microsoft se apega al de AT&T, con la salvedad de
que al compilador de Microsoft todavía le falta la característica de plantilla. Se considera
que la plantillas son vitales para la productividad de un programador formal de C++.
Aunque las plantillas son importantes, si se llega a usar un compilador que no las acepte,
pero que soporta todos los demás aspectos del estándar 3.0 de AT&T, puede quedar
satisfecho con ese compilador.
A través de los años, AT&T ha aprobado muchas características del C++ que no son OOP
pero que hacen al C++ mejor que el C. Tantas mejoras han sido añadidas al C++ que el
comité ANSI ha tomado varios elementos del C++ para el lenguaje C. Por ejemplo, los
prototipos de función no se iniciaron en el C, aunque han sido parte del lenguaje C desde
hace varios años. Los prototipos de función se iniciaron el C++, y, debido a que
contribuyen a hacer mejores programas, ANSI incluyó la característica en el lenguaje C.
Determinar las entradas. Es decir, los datos que posee el algoritmo cuando
comienza su ejecución. Esos datos permiten obtener el resultado.
Determinar las salidas. Es decir, los datos que obtiene el algoritmo como
resultado. Lo que el algoritmo devuelve al usuario.
Para utilizar algo de una biblioteca en un programa, hay que colocar al principio del
programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca
entre ángulos.
Por ejemplo, para mostrar datos en la pantalla podemos usar el operador << con el
elemento cout
#include <iostream.h>
int main()
{
cout << “Hola amigos”;
return 0;
}
Pero para poder usar cout y << debemos incluir la biblioteca donde están definidos. Esta
biblioteca tiene como archivo de cabecera iostream.h.
Una vez que se incluye el archivo de cabecera, se puede utilizar todo lo que está definido
en ella.
Existen archivos de cabecera estándar muy utilizados. El uso más frecuente en C++ de las
directivas del preprocesador es la inclusión de archivos de cabecera, pero también se usan
para definir macros, nombres de constantes, etc.
LIBRERÍAS
DEFINICIÓN: Una librería es un conjunto de recursos (algoritmos) prefabricados, que
pueden ser utilizados por el programador para realizar determinadas operaciones.
DECLARACIÓN DE VARIABLES:
La declaración de una variable consiste en escribir una sentencia que proporciona
información al compilador de C++.
• El compilador reserva un espacio de almacenamiento en memoria.
• Los nombres de las variables se suelen escribir en minúsculas.
El procedimiento para declarar una variable:
<tipo_de_dato> <nombre_de_variable> ;
<tipo_de_dato> <lista de variables> ;
<tipo_de_dato> <nombre_de_variable> = valor;
Declaraciones locales
Son variables locales aquellas que están declaradas dentro de las funciones o de los
bloques.
59
Declaraciones globales ( variables globales, funciones, …)
Declaración de Constantes
Una constante es una variable cuyo valor no puede ser modificado. Los nombres de las
constantes se suelen escribir en mayúsculas.
Constantes declaradas const
La palabra reservada const es un calificador de tipo variable e indica que el valor de
variable no se puede modificar.
const <tipo_de_dato> <nombre_de_constante> = <valor> ;
Constantes definidas
Se declaran mediante la directiva #define
#define <nombre_de_constante> <valor>
Constantes enumeradas
Las constantes enumeradas permiten crear listas de elementos afines
enum <nombre_de_constante> { <lista_de_valores> };
TIPOS DE DATOS
El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo
de dato define un dominio de valores y las operaciones que se pueden realizar con éstos
valores. C++ dispone de unos cuantos tipos de datos predefinidos (simples) y permite al
programador crear otros tipos de datos
TIPO int
Tamaño en bytes: 2 bytes (16 bits)
Dominio: son todos los números enteros entre los valores -32.768 y 32.767
Operaciones:
+ Suma
- Resta
* Producto
/ División entera
% Resto de la división entera
(módulo)
- , + Signo negativo, positivo
++ Incrementación
-- Decrementación
TIPO float
Tamaño en bytes: 4 bytes
Dominio: son todos los números reales que contienen una coma decimal comprendidos
entre los valores: 3,4 × 10-38 y 3,4 × 1038 61
TIPO bool
Tamaño en bytes: 1 byte
Dominio: dos únicos valores: { true, false }
No todos los compiladores de C++ tienen éste tipo de dato. En su lugar se utiliza el tipo int
para representar el tipo de datos bool, de forma que el valor entero 0 representa false y
cualquier otro valor representa true.
Falso → Cero
Verdadero → Distinto de cero
Operaciones:
&& Y lógica (and)
|| O lógica (or) OPERADORES LÓGICOS
! Negación lógica (not)
Tabla de verdad:
Operadores relacionales:
= = Igual a
!= Distinto
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
TIPO CHAR
Tamaño en bytes: 1 byte
Dominio: dígitos, letras mayúsculas, letras minúsculas y signos de puntuación.
0 < 1 < 2 …. < 9 < A < B < … < Z < a < b < …< z
Internamente, los caracteres se almacenan como números. El tipo char representa valores
en el rango -128 y 127 y se asocian con el código ASCII. Así, el carácter ‘A’ se almacena
como el número 65, etc ...
FUNCIONES
Funciones declaradas en conio.h.
La consola es un concepto heredado de los ambientes multiusuario, y está formada por el teclado y el monitor.
En las implementaciones de Borland C++ existe una serie de funciones que manejan la entrada/salida por la
consola, entre otras:
clrscr(), que limpia la pantalla y posiciona el cursor en la esquina superior izquierda de la ventana
actual.
Donde conio.h es el archivo de cabecera donde se encuentran declarados los prototipos de las funciones que
manejan la entrada/salida estándar por la consola.
63