Dossier de Informática en Contaduría
Dossier de Informática en Contaduría
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Gestión - 2013
1
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
ÍNDICE
I. PRESENTACIÓN
II. CONTENIDO O CUERPO DEL DOSSIER 4-7
2.1. CONTENIDOS MÍNIMOS OFICIALES 5
2.2. CONTENIDOS ANALÍTICOS 6
UNIDAD I. PROGRAMACIÓN EN Java 8 – 14
Concepto de Java
Modo de Diseño y Modo de Ejecución
Formularios y Controles
¿Qué es un Objeto?
¿ Qué es un Proyecto?
EL ENTORNO DE PROGRAMACIÓN Java
Descripción del modelo controlado por eventos
Cuadro de Herramientas
Terminología de Java (RESUMEN)
UNIDAD 2. FUNDAMENTOS DE LA PROGRAMACIÓN EN JAVA 15 - 33
Pasos para crear una aplicación
Convenciones para los nombres de los objetos
Estableciendo Propiedades en Tiempo de Diseño
Estableciendo Propiedades en Tiempo de Ejecución
Obteniendo Propiedades en Tiempo de Ejecución
Manejo de Formularios
Modulos de Formulario
El Cuadro Lista de Objetos
El Cuadro Lista de Eventos
La Barra de División
El Botón Ver Procedimiento
El Botón Ver Módulo Completo
Sangría
Carácter de Continuación de Línea
Comentarios
Comentarios
Tipos De Datos, Constantes y Variables
Tipos de Datos
Declaración de Variables
Constantes
OPERADORES
Estructuras de Control
Estructuras de Decisión
Estructuras de Repetición
Problemas de Aplicación
2
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
34 - 43
Unidad 3. Programación Modular
Introducción.-
Programación Modular
Tamaño de los módulos
Procedimientos y Funciones
Parámetros Valor y Parámetros Variable
Variables Locales y Variables Globales
Reglas de Ámbito
Declaración de variables
Variables utilizadas en un módulo
43 - 49
Unidad 4. LAS CADENAS DE CARACTERES
JUEGO DE CARACTERES:
DATOS DE TIPO CARÁCTER:
OPERACIONES CON CADENAS:
FUNCIONES INTRÍNSECAS
Unidad 5. Organización de Archivos 50 - 54
Introducción
Organización y acceso a archivos (File organizittion and access)
Uso del Motor de Base de Datos Microsoft Jet
Registros
BIBLIOGRAFÍA 55
ANEXOS diapositivas JAVA 56
3
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
DOSSIER INFORMÁTICA
I. PRESENTACIÓN
La asignatura Informática forma parte del tercer curso de la carrera de Contaduría Pública como
asignatura que se imparte en el tercer cuatrimestre. Como se ha mencionado anteriormente los
descriptores de dicha asignatura es: Introducción a la programación Dicha asignatura tiene una relación
clara y estrecha con la asignatura de segundo curso donde se imparten conceptos relacionados con el
diseño de algoritmos, con las expresiones empleadas, así como con el diseño, y cuyo entendimiento es
necesario para abordar con éxito la materia que nos ocupa.
Además de estas relaciones, en cursos más avanzados, existen otras asignaturas que incluyen entre sus
tópicos temas más avanzados relacionados con la programación:
1.2. Competencias
General :
Específicos :
- Diseña e implementa programas en lenguaje Java resolviendo problemas aplicados a
empresas construidas a través de estructuras algorítmicas.
- Reconoce en detalle cada una de las sentencias definidas en Java, manipulando los datos y
haciendo pruebas de control.
- Analiza e identifica los diversos comandos y controles en Java permitiendo la aplicación de
cada uno según considere conveniente en la solución del problema.
- Maneja y aplica técnicas de programación modular para optimizar las soluciones propuestas.
4
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
El alumno al iniciar el estudio de la materia debe cumplir requisitos imprescindibles, que están
establecidos bajo normas salesianas, acordes a un alumno de universidad.
Estar inscrito formalmente en la universidad y poseer su carnet de universitario de la salesiana.
Ser Bachiller y haber cursado el primer semestre de la carrera de contaduría pública y sistemas.
Tener conocimientos básicos sobre el manejo de la computadora.
Cumplir con las normas de conducta requeridas en una casa superior de estudio.
La forma de evaluación de estos aspectos deben ser considerados a través del reglamento de la
Universidad Salesiana y para reconocer los conocimientos básicos a través de la evaluación diagnóstica.
Dejo de ser el depositario de la verdad que debe transmitir a una mente, para convertirme en un miembro
del grupo con una función de guía, como un estimulador y organizador del aprendizaje, como un
supervisor de una tarea que es ejecutada fundamentalmente por otros y no únicamente por mi persona.
5
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Motivar a los alumnos para incorporar las posibilidades de las nuevas TIC´s en las actividades de
enseñanza - aprendizaje.
En el plan de disciplina propuesto existe el empleo de técnicas de grupo que deberán ser
traducidas ha experiencias, para que puedan ser vividas como tales en la situación grupal. El
planeamiento facilita normas para organizar un plan de disciplina por unidades, respetando y
alcanzando objetivos operacionalmente definidos, evaluando los resultados.
6
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
UNIDADES Y
Terminología de Java - ¿Qué es un proyecto? – Pasos para crear una aplicación – Convenciones para los nombres de
objetos – Propiedades – Manejo de formularios – Creación de una aplicación - como almacenar el programa - ejecución
del programa- función msgbox - función inputbox.
UNIDAD II
FUNDAMENTOS DE LA PROGRAMACIÓN EN JAVA
Conceptos de Java – Pantalla de Java – Formulario – Diseño de la Interfaz – Comentarios - Variables y constantes -
Declaración de variables - tipos de datos - Ambitos de las variables - operadores - Establecimiento de Propiedades –
Escritura de Código- Estructuras de Control - Estructuras Repetitivas - Estructuras de control anidadas.
UNIDAD III
MANEJO DE CONTROLES EN JAVA
Control Label - Control TextBox - control CommandButton - Control CheckBox - Control Option Buton - Control
Frame - Control ListBox - Control comboBox - Control Timer- Creación de menús.
UNIDAD IV
PROGRAMACIÓN MODULAR Y ESTRUCTURADA
Revisión de Conceptos, Definición de Programación Modular, Módulo, Tamaño de modulo, Implementación de los
Módulos, Definición de Programación Estructurada, Funciones, Procedimientos. Paso de Parámetros, Paso de
Parámetros por Valor, Paso de Parámetros por referencia, Variables Globales y Locales.
UNIDAD V
LAS CADENAS DE CARACTERES
Introducción – Cadena de caracteres – Datos tipo carácter – Operaciones con cadenas – Otras funciones de cadenas
UNIDAD VI
ORGANIZACIÓN DE ARCHIVOS
Noción de archivos. Archivos Secuenciales - Archivos Aleatorios - Definición de un registro- escritura de un archivo
aleatorio- lectura de un archivo aleatorio - Creación de Módulos - Control Data - Asistente para formularios.
7
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
UNIDAD 1
PROGRAMACIÓN EN JAVA
Java es un lenguaje de desarrollo de propósito general, y como tal es válido para realizar todo tipo de
aplicaciones profesionales. Entonces, ¿es simplemente otro lenguaje más? Definitivamente no.
Incluye una combinación de características que lo hacen único y está siendo adoptado por multitud
de fabricantes como herramienta básica para el desarrollo de aplicaciones comerciales de gran
repercusión.
La Herramienta “Netbeans” hace referencia al método que se utiliza para crear la Desarrollo de
Entornos Integrados (IDE). En lugar de escribir numerosas líneas de código para describir la apariencia y
la ubicación de los elementos de la interfaz, simplemente puede agregar objetos prefabricados en su lugar
dentro de la pantalla.
El lenguaje “Java” puede considerarse como una evolución del C++. La sintaxis es parecida a la de
este lenguaje, por lo que en este libro se hará referencia a dicho lenguaje frecuentemente. A pesar de
que puede considerarse como una evolución del C++ no acarrea los inconvenientes del mismo, ya
que Java fue diseñado “partiendo de cero”, es decir, no necesitaba ser compatible con versiones
anteriores de ningún lenguaje como ocurre con C++ y C. Gracias a que fue diseñado “partiendo de
cero” ha conseguido convertirse en un lenguaje orientado a objetos puro, limpio y práctico. No
permite programar mediante otra técnica que no sea la programación orientada a objetos (POO en
adelante) y, una vez superado el aprendizaje de la programación orientada a objetos, es realmente
sencillo aprender Java. ¿El lenguaje es Compilado o Interpretado? Ni una cosa ni la otra. Aunque
estrictamente hablando es interpretado, necesita de un proceso previo de compilación. Una vez
“compilado” el programa, se crea un fichero que almacena lo que se denomina bytecodes o jcode
(pseudocódigo prácticamente al nivel de código máquina). Para ejecutarlo, es necesario un
“intérprete”, la JVM (Java Virtual Machine) máquina virtual Java. De esta forma, es posible
compilar el programa en una estación UNIX y ejecutarlo en otra con Windows95 utilizando la
máquina virtual Java para Windows95. Esta JVM se encarga de leer los bytecodes y traducirlos a
instrucciones ejecutables .
Nos iniciaremos con NETBEANS conociendo un poco el entorno de su interfaz para mayor
movilidad dentro del IDE, a lo largo de los capítulos que estaremos haciendo vamos de ir
avanzando con la complejidad de la programación.
8
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
(FIGURA
1)
1.3.
Formularios y Controles
Controles
Formulario
(JFrameForm)
9
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de
Windows 95/98/XP/Seven es un tipo de control: los botones, las cajas de diálogo y de texto, las
cajas de selección desplegables, los botones de opción y de selección, las barras de
desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de
elementos son controles para Netbeans. Cada control debe tener un nombre a través del cual se
puede hacer referencia a él en el programa. proporciona nombres por defecto que el usuario
puede modificar. En el Apartado 1.2.4 se exponen algunas reglas para dar nombres a los distintos
controles. En la terminología de Netbeans se llama formulario (form) a una ventana. Un
formulario puede ser considerado como una especie de contenedor para los controles. Una
aplicación puede tener varios formularios, pero un único formulario puede ser suficiente para las
aplicaciones más sencillas. Los formularios deben también tener un nombre, que puede crearse
siguiendo las mismas reglas que para los controles.
Los elementos básicos (formularios y controles) de construcción de una aplicación con Java son
los objetos. Cada objeto tiene un conjunto de características y comportamiento definido y hacen
que cumpla con una función determinada en una aplicación. Los objetos pueden moverse, variar
de tamaño y personalizarse mediante la asignación de propiedades en tiempo de diseño en tiempo
de ejecución.
Propiedad: conjunto de datos que describen las características de un objeto se le conoce como
sus propiedades (color, tamaño, título, etc.). En Tiempo de Diseño, se las establece a través de la
ventana de propiedades y o durante la ejecución del programa, mediante el uso de sentencias en
el código del mismo. La sintaxi para asignar valor a una propiedad es:
Método: Sentencia especial que realiza una acción o un servicio para un objeto, dentro del
programa.
Sucesos: Hechos que son desencadenados en los formularios y controles por la acción del usuario. A
cada suceso se puede asociar un procedimiento que responda adecuadamente a la acción desencadenada.
Los sucesos son los mensajes o solicitudes que se envían a los objetos de Java.
Un proyecto es una serie de archivos (módulos, formularios, etc.) que integran en su conjunto una
aplicación completa. En proyecto consta de los siguientes archivos:
10
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Figura 3.
Descripción del Entorno Netbeans con Java
Netbeans es un entorno de desarrollo integrado (IDE) que permite editar programas en java,
compilarlos, ejecutarlos, depurarlos, construir rápidamente el interfaz gráfico de una aplicación
eligiendo los componentes de una paleta, etc.
1. Barra de título
Todas las ventanas de una herramienta de programación contienen una barra de título en el cual se ve el
título de la aplicación (programa) y los botones de control de la ventana con los cuales es posible hacer que
se reduzca a un botón en la barra de tareas (tamaño mínimo), ordenar que ocupe toda la pantalla (tamaño
máximo), lograr que recupere el tamaño que tenía antes de ser la ventana máxima o mínima (restaurar) o,
simplemente, cerrar la ventana.
2. Barra de menús
En está área aparecen los menús disponibles. Cada menú contiene acciones específicas relativas al nombre
del menú.
3. Barra estandar
La barra de herramientas estándar contiene botones para las operaciones más habituales de los menús
File(Archivo), Edit(Edición), etc. New Project(Nuevo proyecto), Open Project(abrir proyecto), Save
all (guardar todo), etc. Estos botones se utilizan del mismo modo que los comandos de menú
equivalentes.
5. Ventana de navegación
11
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Esta ventana nos permite visualizar los objetos que contiene el proyecto actual agrupados por categorías
6. Ventana de edición
Es la ventana donde se va a realizar el código de los programas, el diseño de los formularios, etc.
Existen otras ventanas para edición de código (Code Editor) y para ver variables en tiempo de
ejecución con el depurador o Debugger (ventanas Immediate, Locals y Watch). Todo este
conjunto de herramientas y de ventanas es lo que se llama un entorno integrado de desarrollo o
IDE (Integrated Development Environment).
Construir aplicaciones con Java es muy sencillo: basta crear los controles en el formulario con
ayuda de la toolbox y del ratón, establecer sus propiedades con ayuda de la ventana de
propiedades y programar el código que realice las acciones adecuadas en respuesta a los eventos
o acciones que realice el usuario. A continuación, tras explicar brevemente cómo se utiliza el
Help de Java, se presentan algunos ejemplos ilustrativos. Figura 3. Entorno de programación de Java
6.0.
Para dar inicio a una aplicación de Java bajo el entorno de Netbeans se debe definir un proyecto, para ello,
seleccionas la opción del menú denominada File. Se muestra inmediatamente un menú flotante cuya primera
opción indica New Proyect, está opción la seleccionas.
Se observa que en Proyect Location se muestra la carpeta destino del proyecto. Vamos a suponer
que se quiere construir un programa que calcule el promedio de dos notas, entonces la ventana debería
quedar de la siguiente forma:
12
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
13
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
FUNDAMENTO
1.8. Uso de menús
MENU ARCHIVO
El menú archivo se ingresa presionando el botón izquierdo del ratón sobre la opción archivo de la barra
de menús desplegables o presionando simultáneamente las teclas ALT+A (si la versión fuese en ingles se
presiona ALT+F). Ahora vamos a examinar los mas importantes
MENU EDICION
El menú edición tiene dentro de sus opciones más importantes las siguientes:
MENU VER
Las opciones mas comunes de este menú son las siguientes:
MENU PROYECTO
Esta opción de menú es un tanto compleja ya que nos proporciona elementos que se pueden adicionar a
los proyectos o aplicaciones en el Java, se debe tener en cuenta que su uso es avanzado y al adicionar un
elemento se debe saber lo que se debe hacer, en caso contrario puede causar inestabilidad en la
aplicación que se está haciendo.
MENU DEPURAR
Aquí podemos ejecutar el programa o aplicación paso a paso (o función a función, según lo que
necesitemos), esto es muy útil para ver el comportamiento de ciertas variables, las opciones mas
importantes son:
MENU EJECUTAR
Aquí se puede ejecutar la aplicación, los mas importantes de esta opción son las siguientes:
La barra de objetos es la barra que se encuentra por lo general a la izquierda de la pantalla del Java, esta
es donde se encuentran todos los objetos básicos que tiene una aplicación estándar (ver figura), par poner
un objeto sobre la forma debemos de seleccionar el objeto de la barra de herramientas, luego dibujar un
cuadro en la forma, este cuadro contendrá al objeto seleccionado, otra forma es hacer doble click sobre el
objeto.
14
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
UNIDAD 2
FUNDAMENTOS DE LA PROGRAMACIÓN EN JAVA
El proceso de creación de una aplicación Java puede descomponer en una serie de siete pasos.
4. Guardar el proyecto
Cuando crea el proyecto, asegúrese de darle un nombre usando el comando Guardar Proyecto como del
menú Archivo. Guarde su proyecto frecuentemente conforme añada código. Al guardar un proyecto se
guardan cada formulario y módulo de código en el proyecto.
15
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Estableciendo Propiedades
Al diseñar la interfase de usuario de una aplicación Java, se deben establecer la propiedades para los
controles (objetos) creados.
16
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Nota: Las descripciones gráficas de un formulario y los controles sobre el formulario son almacenados
en formato binario en un archivo con extensión FRX.
Modulos Estándar
Los módulos estándar pueden contener código que es común a varios formularios en su aplicación. Este
código es por omisión público, lo cual significa que fácilmente compartido con otros módulos de código,
tales como un módulo de formulario. Estos módulos contienen declaraciones de procedimientos, tipos y
variables. No pueden almacenar procedimientos de evento por que no contienen objetos.
La Ventana de Edición
Código es un término general para todas las sentencias Java que usted escribe en una aplicación:
procedimientos de evento y procedimientos generales. El código en Java se escribe en la ventana de
Código. El editor de texto es solo un editor ASCII con colores para diferenciar las palabras claves en el
código que escribe.
2.3. La Ventana de Edición usa para escribir, mostrar y editar el código de su aplicación. Puede abrir
una ventana de código por cada módulo de su aplicación, de modo que puede fácilmente copiar y
pegar entre ellos.
17
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
2.2.9. Comentarios
El añadir documentación y comentarios a su código permite comprender mejor lo que hace el código.
Esto también ayuda a comprender el código si necesita volver a revisarlo en alguna fecha posterior. Un
comentario se inicia con el carácter (//) si el comentario es en una sola línea (/*…*/), de modo que todo
el texto que continúe a uno de estos caracteres será ignorado en la ejecución de la aplicación, el siguiente
ejemplo:
Comentario del
programa
Comentario del
paquete
Comentario de
la clase
Implementació
n del código
Un tipo de dato determina la naturaleza del dominio de valores que puede tomar una variable, las
operaciones en que puede participar y el espacio de memoria que necesita. La tabla siguiente muestra los
tipos de datos, incluyendo el tamaño de almacenamiento y el intervalo.
18
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Las variables que se declaran en un procedimiento mediante la sentencia, sólo existen mientras se ejecuta
el procedimiento. Cuando termina el procedimiento, desaparece el valor de la variable. Además, el valor
de una variable de un procedimiento es local a dicho procedimiento; es decir, no puede tener acceso a
una variable de un procedimiento desde otro procedimiento. Estas características le permiten utilizar los
mismos nombres de variables en distintos procedimientos sin preocuparse por posibles conflictos o
modificaciones accidentales.
Un programa se refiere al valor de una variable por su nombre. Por convención, en Java, los nombres
de las variables empiezan con una letra minúscula (los nombres de las clases empiezan con una
letra mayúscula).
Un nombre de variable Java:
1. Debe ser un identificador legal de Java comprendido en una serie de caracteres Unicode.
Unicode es un sistema de codificación que soporta texto escrito en distintos lenguajes
[Link] perminte la codificación de 34.168 caracteres. Esto le permite utilizar en
sus programas Java varios alfabetos como el Japonés, el Griego, el Ruso o el Hebreo. Esto es
importante para que los programadores pueden escribir código en su lenguaje nativo.
2. No puede ser el mismo que una palabra clave o el nombre de un valor booleano (true or
false)
3. no deben tener el mismo nombre que otras variables cuyas declaraciones aparezcan en el
mismo ámbito.
[Link]
A menudo verá que el código contiene valores constantes que reaparecen una y otra vez. O puede que el
código dependa de ciertos números que resulten difíciles de recordar (números que, por sí mismos, no
tienen un significado obvio).
En estos casos, puede mejorar mucho la legibilidad del código y facilitar su mantenimiento si utiliza
constantes. Una constante es un nombre significativo que sustituye a un número o una cadena que no
varía. Aunque una constante recuerda ligeramente a una variable, no puede modificar una constante o
asignarle un valor nuevo como ocurre con una variable. Hay dos orígenes para las constantes:
19
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Una instrucción Final tiene igual alcance que una declaración de variable y se le aplican las mismas
reglas, Ejemplo:
● int nota1;
● int hora_inicial;
● int nota1, nota2, nota3;
● float pi;
● double promedio;
● double precio_azucar, precio_product;
● char letra_abecedario
● char UnSimbolo
[Link]
Operadores
La tabla que se muestra a continuación presenta el conjunto de operadores que soporta Java colocados de
mayor a menor prioridad. Los operadores que aparecen sobre una misma línea tienen igual prioridad. Las
operaciones entre paréntesis se evalúan primero, ejecutándose primero los paréntesis más internos.
20
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Ejercicio 1.
Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de
estudiantes.
lblporcenth
Txthombre
Lblporcmuj
Txtmujer
CmdCalcular
CmdSalir
fin
Las estructuras de control le permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de
estructuras de control:
Estructuras de decisión
Estructuras de bucle
Los procedimientos de Java pueden probar condiciones y, dependiendo de los resultados, realizar
diferentes operaciones. Entre las estructuras de decisión que acepta Java se incluyen las siguientes:
21
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
If...Then
If...Then...Else
Switch
[Link]. If...Then
Use la estructura If...Then para ejecutar una o más instrucciones basadas en una condición. Puede
utilizar la sintaxis de una línea o un bloque de varias líneas:
NO SI
Condición If (condición) {
Sentencias
}
Bloque de
sentencias
Condición.- normalmente es una comparación, pero puede ser cualquier expresión que dé como
resultado un valor numérico. Java interpreta este valor como True o False; un valor numérico cero es
False y se considera True cualquier valor numérico distinto de cero. Si condición es True, Java ejecuta
todas las sentencias que siguen a la palabra clave Then. Puede utilizar sintaxis de una línea o de varias
líneas para ejecutar una sentencia basada en una condición, los siguientes dos ejemplos son equivalentes:
[Link]. If...Then...Else
Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de los cuales se ejecutará:
22
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
If (condición) {
bloque de sentencias 1
}
Else {
bloque de sentencias 2
}
If (condición1) {
bloque de sentencias 1}
ElseIf (condición2) {
bloque de sentencias 2 ...}
Else{
bloque de sentencias n}
Java evalúa primero condición1. Si es False, Java procede a evaluar condición2 y así sucesivamente,
hasta que encuentre una condición True. Cuando encuentra una condición True, Java ejecuta el bloque
de instrucciones correspondientes y después ejecuta el código que sigue a End If. Opcionalmente, puede
incluir un bloque de instrucciones Else, que Java ejecutará sin ninguna de las condiciones es True.
If...Then...Else If es un caso especial de If...Then...Else. Observe que puede tener cualquier número de
cláusula ElseIf o ninguna. Puede incluir una cláusula Else sin tener en cuenta si tiene o no cláusula
ElseIf.
Ejercicio 2. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres
camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas
un descuento del 10%
23
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Text1
Text “ “
Nombre Txtcantidad
Text2
Text “ “
Nombre Txtprecio
Label4
Caption “ “
Nombre lbltotal.
Button1
Nombre CmdCalcular
Caption &Calcular
Button2
Nombre CmdSalir
Caption &Salir
Programación en Java Diagrama de Flujo
public static void main(String[] args)
{//Declaración de Variables Inicio
int num_camisas, prec, tot_pag, tot_comp ;
//Leer num_camisas, prec
num_camisas, prec
num_camisas = [Link] ([Link]()) ;
prec = [Link] ([Link]()) ;
tot_comp = num_camisas * prec ; tot_comp = num_camisas * prec
If (num_camisas >= 3) {
tot_pag = tot_comp - tot_comp * 0.2 ;}
Else{
tot_pag = tot_comp - tot_comp * 0.1 ; NO num_camisas > = 3 SI
}
// Imprimir tot_pag
[Link](« « + tot_pag) ;
tot_pag = tot_comp - tot_comp * tot_pag = tot_comp - tot_comp *
} 0.10 0.20
tot_pag
fin
24
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
[Link]. Switch
Los creadores de Java trataron de hacer de este lenguaje una versión simplificada y mejorada del
lenguaje de C++. Su trabajo fue bastante bueno, pero no perfecto. Prueba de ello es esta
sentencia: está tan poco flexible como en C++.
switch (variable_control) {
Selector
case valor1 : Grupo de sentencias1; break;
NO case valor2 : Grupo de sentencias1; break;
SI .
.
case valor3: Grupo de sentencias1; break;
Valor 1 Valor 2 Valor n
// ...
. default: statement;
. }
.
Bloque de Bloque de Bloque de
sentencias 1 sentencias 2 sentencias n
Problemas de Aplicación
Ejercicio 1. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le
asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo
con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario
25
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Text1
Nombre Txtsa
Text “ ”
Text2
Nombre Txtas
Text “ ”
Label4
Nombre Lbltg
Caption “ “
CommandButton1
Nombre CmdCalcular
Caption &Calcular
CommandButton2
Nombre CmdSalir
Caption &Salir
26
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Las estructuras de repetición o bucle le permiten ejecutar una o más líneas de código repetidamente. Las
estructuras de repetición que acepta Java son:
while
do...while
for
[Link]. while
Utilice el bucle while para ejecutar un bloque de sentencias un número indefinido de veces. Hay algunas
variantes en la sentencia while, pero cada una evalúa una condición numérica para determinar si continúa
la ejecución. Como ocurre con If...Then, la condición debe ser un valor o una expresión que dé como
resultado False (cero) o True (distinto de cero).
En el siguiente ejemplo de Do...Loop, las sentencias se ejecutan siempre y cuando condición sea True:
Diagrama de Flujo Java
while (condición){
Sentencias;
}
CONDICION Loop
Sentencias
Cuando Java ejecuta este bucle Do, primero evalúa condición. Si condición es False (cero), se salta
todas las sentencias. Si es True (distinto de cero) Java ejecuta las sentencias, vuelve a la instrucción
while y prueba la condición de nuevo.
Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición sea distinta
de cero o True. Nunca se ejecutan las sentencias si condición es False inicialmente.
Otra variante de la instrucción do...while ejecuta las sentencias primero y prueba la condición después
de cada ejecución. Esta variación garantiza al menos una ejecución de sentencias:
do{
Sentencias;
}
while (condición)
27
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
CONDICION
Ejercicio 1.
algoritmo Lab06Ejercicio01
var
entero : num, producto, i
cadena: cad
inicio
Leer num
i =1
cad = ' '
si (num >0) entonces
mientras(i <=12)
producto = i * num
cad = cad, i , ' * ' , num, ' = ', producto
i =i+1
fin_mientras
Mostrar (cad)
sino
Mostrar ('Error de ingreso...!! El Numero debe ser mayor que cero')
fin_si
fin
28
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
package pkgWhile;
import [Link];
public class While {
public static void main(String[ ] args) {
int num, producto, i=1;
String cad="";
num=[Link]([Link]("Ingrese numero"));
if(num>0)
{
while(i<=12)
{
producto=num*i;
cad=cad + i + " x " + num + "
= " + producto + "\n";
i=i+1;
}
[Link](null, cad);
}
else [Link](null, "Error de ingreso..!! El numero debe
ser mayor que cero");
}
}
En este ejercicio de estructura repetitiva While nos mostrará la tabla de multiplicar de un número entero
positivo.
29
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
[Link]. For
Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las sentencias del
bucle. Sin embargo, cuando se sabe que se va a ejecutar las sentencias un número determinado de veces,
es mejor elegir el bucle For.... A diferencia del bucle Do, el bucle For utiliza una variable llamada
contador que incrementa o reduce su valor en cada repetición del bucle. La sintaxis es la siguiente:
For (expresión1 ;expresion2; expresion3){
Sentencias;
}
30
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
EJERCICIO 01
Diseñar un algoritmo que permita visualizar la tabla de multiplicar de un número entero ingresado por
teclado. Por ejemplo:
1x5=5
2 x 5 = 10
3 x 5 = 15
……
12 x 5 = 60
algoritmo Lab06Ejercicio01
var
entero : num, producto, i
cadena: cad
inicio
Leer num
cad = ' '
si (num >0) entonces
desde i =1 hasta 12 inc 1 hacer
producto = i * num
cad = cad, i , ' * ' , num, ' = ', producto
fin_desde
Mostrar (cad)
sino
Mostrar ('Error de ingreso...!! El Numero debe ser
mayor que cero')
fin_si
fin
package pkgfor;
import [Link];
num=[Link]([Link]("Ingrese numero"));
if(num>0)
{
for(i=1;i<=12;i
++)
{
producto=num*i;
cad=cad + i + " x " + num + " = " + producto + "\n";
}
[Link](null, cad);
31
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
}
else
[Link](null, "Error de ingreso..!! El numero debe ser
mayor que cero");
}
}
En este ejercicio de estructura repetitiva For nos mostrará la tabla de multiplicar de un número
entero positivo.
32
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
de línea. Esto hace que el resultado que se va a mostrar salga línea por línea.
13. Toda esta cadena concatenada se almacena en la variable cad, que nos seguirá
sirviendo en las iteraciones del bucle como repositorio de toda la tabla de multiplicar.
14. Terminado de realizar todas las instrucciones del cuerpo del For, se pasa al paso 4
(acción 4.2) pero antes se incrementa o decrementa la variable i un valor constante,
esto depende de la instrucción del For, para este ejemplo: i++, significa que se
incrementará el valor de uno en uno.
15. Se muestra el valor almacenado en la variable cad, que viene hacer la tabla de multiplicar de un número
[Link] el mensaje de “Error de ingreso..!!” por ser un número negativo y se acaba el programa.
33
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Unidad 3.
Programación Modular
3.1. Introducción.-
Se basa en dividir el programa en partes llamadas módulos, que se analizan y codifican de forma
independient e y que realizan una determinada tarea que será en realidad una parte del problema
total a resolver.
En todo algoritmo o programa existirá un módulo o programa principal que es al que transfiere el
control cuando comienza la ejecución del programa, y luego desde él, se va llamando al resto de
los subprogramas.
Llamar a un subprograma quiere decir transferirle el control, es decir que se comienza a ejecutar
y lo hará desde el comienzo del subprograma hasta que se termine y al terminar devuelve el
control al subprograma que lo llamó. Dentro del subprograma a su vez también puedo llamar a
otros pero en cualquier caso al final se devuelve el control al módulo que hace la llamada. El
control al programa llamado se devuelve a la instrucción siguiente a la que se hizo la llamada.
Un módulo solo tiene acceso a los módulos a los que llama y a los submódulos a los que a su vez
llaman éstos. Los resultados producidos por un módulo pueden ser utilizados por otros.
No existe un criterio fijo para determinar el tamaño, ni muy grandes ni muy pequeños, la idea
fundamental es que realicen una única cosa y muy concreta.
Es uno de los métodos de diseño más flexibles y potentes para mejorar la productividad de un
programa. En programación modular, el programa se divide en módulos (partes independientes),
cada una de las cuales ejecuta una única actividad o tarea y se codifican independientemente de
otros módulos. Cada uno de estos módulos se analizan, codifican y ponen a punto por separado.
Cada programa contiene un módulo denominado programa principal que controla todo lo que
sucede; se transfiere el control de submódulos (posteriormente se denominarán subprogramas),
de modo que ellos puedan ejecutar sus funciones; sin embargo, cada submódulo devuelve el
control al módulo principal cuando se haya completado su tarea. Si la tarea asignada a cada
34
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
submódulo es demasiado compleja éste deberá romperse en otros módulos más pequeños. El
proceso sucesivo de subdivisión de módulos continúa hasta que cada módulo tenga solamente
una tarea específica que ejecutar. Esta tarea puede ser entrada, salida, manipulación de datos,
control de otros módulos o alguna combinación de estos. Un módulo puede transferir
temporalmente (bifurcación) el control a otro módulo; sin embargo, cada módulo debe devolver
el control al módulo del cual se recibe originalmente el control.
Los módulos son independientes en el sentido en el que ningún módulo puede tener acceso
directo a cualquier otro módulo, con excepción del módulo al que llama y sus propios
submódulos. Sin embargo, los resultados producidos por un módulo pueden ser utilizados por
cualquier otro módulo cuando se transfiera a ellos el control.
Puede no ser claro lo que debe incluirse dentro de un módulo. Desgraciadamente, no hay reglas,
pero tal como se ha dicho antes, un módulo de una o dos líneas probablemente será demasiado
corto y será mejor incorporarlo en otro módulo; los módulos grandes de 30 o más líneas
probablemente ejecutarán tareas múltiples y se deberán romper en unidades más pequeñas.
[Link] y Funciones
Los procedimientos y funciones son la base principal en la programación modular, estudiaremos aquí su
funcionamiento y su sintaxis, aunque debo recordarles que es solamente pseudocodigo. : )
3.4.1. Procedimientos
Un procedimiento es un subprograma que realiza una tarea específica. Puede recibir cero o más valores
del programa que llama y devolver cero o mas valores a dicho programa.
35
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
3.4.2. Funciones
Una función es un subprograma que recibe como argumentos o parámetros, datos de tipos numérico o no
numérico, y devuelve un único resultado. Esta característica le diferencia esencialmente de un
procedimiento.
Su formato es el siguiente:
funcion nombrefuncion (p1,p2,...) : tipo a devolver
declaraciones locales
inicio
cuerpo de la función
nombrefuncion <- valor a devolver
fin
Una función es llamada por medio de su nombre, en una sentencia de asignación o en una sentencia de
salida.
Ejemplo:
Definición de la función y = xn(potencia n de x)
Abs (n) es la función valor absoluto de n, a fin de considerar exponentes positivos o negativos .
36
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Existen dos tipos de parámetros, como se indico anteriormente, que nos ayudan a transferir/recibir
información de otros subprogramas, o del programa principal, a saber: parámetros de entrada (por valor)
y parámetros de salida o de entrada/salida (variable).
Son parámetros unidireccionales que se utilizan para proporcionar información a un subprograma, pero
no pueden devolver valores, al programa llamador.
Se les llama parámetros de entrada, ya que en la llamada al subprograma el valor del parámetro actual se
pasa a la variable que representa a la variable actual. Este valor puede ser modificado dentro del
subprograma pero el valor modificado no es devuelto al programa o subprograma llamador.
[Link]ámetros Variable
Se utilizan tanto para recibir como para transmitir valores entre el subprograma y el programa llamador.
Este puede actuar como parámetro de salida o de entrada/salida.
Nota:
En la notación de pseudocódigo representaré a estos parámetros anteponiendo la palabra var antes del
identificador ; ).
Este algoritmo ilustra la diferencia entre parametros valor y parametros variable, y la
correspondencia entre ellos.
Algoritmo Ejemplo_Parametros
Variables
A, B, C: enteros
procedimiento imprimir (D,E,F: enteros)
inicio
escribir ("A =", D, "B =", E, "C =", F)
fin_imprimir
procedimiento pasar (D,E: entero; var F: entero)
inicio
escribir ("Entrada al procedimiento pasar:")
imprimir (D,E,F)
F <- D * F
escribir ("Salida del procedimiento pasar:")
imprimir (D,E,F)
fin_pasar
inicio
A <- 2
B <- 3
C <- 4
escribir ("Antes de llamar al procedimiento pasar")
imprimir (A,B,C)
pasar (A,B,C)
escribir ("Despues del retorno del procedimiento pasar")
37
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
imprimir (A,B,C)
fin
La salida del programa en pantalla sería la siguiente:
Antes de llamar al procedimiento pasar
A = 2, B = 3, C = 4
Entrada al procedimiento pasar
A = 2, B = 3, C = 4
Salida del procedimiento pasar
A = 2, B = 3, C = 6
Despues del retorno del procedimiento pasar
A = 2, B = 3, C = 6
Ejemplo:
Antes de llamar a la función, la variable signo, como se declara dentro del subprograma,
es local al subprograma y sólo se conoce dentro del mismo.
Las variables utilizadas en un programa con subprogramas pueden ser de dos tipos: locales y globales.
Una variable local es una variable que esta declarada dentro de un subprograma y se dice que es local al
subprograma. Una variable local solo esta disponible durante el funcionamiento del subprograma, al
terminar su función el subprograma y regresar al programa llamador, se pierde el valor que se encontraba
guardado en la variable local.
38
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
La mayoría de los programas tienen una estructura tipo árbol, el programa principal es la raíz y de este
penden muchas ramas (procedimientos y funciones).
Los subprogramas en los que un identificador puede ser utilizado se conocen como ámbito o alcance del
identificador, dicho de otro modo, es en esta sección donde el identificador es válido.
Modulos de Formulario
Cada formulario en su aplicación tiene un módulo de formulario asociado, estos son guardados con una
extensión de archivo FRM y contienen:
Los valores de las propiedades para el formulario y sus controles.
Declaración de variables en el ámbito del formulario.
Procedimientos de evento y procedimientos generales en el ámbito del formulario.
Nota: Las descripciones gráficas de un formulario y los controles sobre el formulario son almacenados
en formato binario en un archivo con extensión FRX.
Modulos Estándar
Los módulos estándar pueden contener código que es común a varios formularios en su aplicación. Este
código es por omisión público, lo cual significa que fácilmente compartido con otros módulos de código,
tales como un módulo de formulario. Estos módulos contienen declaraciones de procedimientos, tipos y
variables. No pueden almacenar procedimientos de evento por que no contienen objetos.
Funciones:
39
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
//Principal
public static void main(String[] args) {
//Variables
int n1,n2,s;
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Numero 1: ");
n1 = [Link]();
[Link]("Numero 2: ");
n2 = [Link]();
//Proceso
s = Sumar(n1, n2);
//Salida
[Link]("");
[Link]("Suma: " + s);
}
//Método Sumar
private static int Sumar(int Num1, int Num2) {
//Variables
int s;
//Proceso
s = Num1 + Num2;
//Salida
return s;
}
}
2. Hallar el mayor de dos números
import [Link];
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Numero 1: ");
n1 = [Link]();
[Link]("Numero 2: ");
n2 = [Link]();
//Proceso
m = Mayor(n1, n2);
//Salida
[Link]("");
[Link]("Mayor: " + m);
40
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
//Método Mayor
private static int Mayor(int n1, int n2){
//Variables
int m = 0;
//Proceso
if(n1 > n2)
m = n1;
//Salida
return m;
}
}
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Numero: ");
n = [Link]();
//Proceso
ParImpar(n,r);
//Salida
[Link]("");
[Link]("Resultado: " + r[0]);
}
//Método ParImpar
private static void ParImpar(int num, String res[]) {
//Variables
String r = "";
//Proceso
if(num % 2 == 0){
r = "PAR";
}else{
r = "IMPAR";
}
//Salida
41
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
res[0] = r;
}
}
4. Hallar el factorial de un número
import [Link];
public class Problema4 {
//Principal
public static void main(String[] args) {
//Variables
int n,f;
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Numero: ");
n = [Link]();
//Proceso
f = Factorial(n);
//Salida
[Link]("");
[Link]("Factorial: " + f);
}
//Método Factorial
private static int Factorial(int num) {
//Variables
int i,f;
//Proceso
f = 1;
for(i = 1; i<=num; i++)
f *= i;
//Salida
return f;
}
}
import [Link];
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Numero : ");
n = [Link]();
42
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
//Proceso
c = CantidadDigitos(n);
//Salida
[Link]("");
[Link]("Cant. Digitos: " + c);
}
//Método CantidadDigitos
private static int CantidadDigitos(int num) {
//Variables
int c=0;
//Proceso
while(num > 0) {
num = num / 10;
c += 1;
}
//Salida
return c;
}
}
43
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Unidad 4
En principio se programaba todo con 0 y 1, pero como esto costaba mucho, apareció la necesidad
de crear un lenguaje semejante al humano para entendernos más fácilmente con la computadora,
y para ello aparecen los juegos de caracteres.
4. 2. CADENA DE CARACTERES:
Es un conjunto de 0 ó más caracteres. Entre estos caracteres puede estar incluido el blanco.
La longitud de una cadena es el número de caracteres de la misma. Si hubiese algún carácter que
se utilizara como especial para señalar el fin de cadena, no se consideraría en la longitud.
Si una cadena tiene longitud 0, la llamamos cadena nula por lo que no tiene ningún carácter, pero
esto no quiere decir que no tenga ningún carácter válido, por que puede haber algún carácter
especial no imprimible que forme parte de la cadena.
44
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
La longitud real de la cadena durante la ejecución puede variar aunque siempre tiene
que ser menor que el máximo de la cadena.
Puesto que la cadena no tiene porque ocupar la longitud máxima, para determinar que
parte ocupa realmente esa cadena, se pueden utilizar diferentes métodos.
3. Almacenamiento dinámico:
No hay que definir la longitud de la cadena antes de usarla, ni siquiera la máxima. Para
esto, se utiliza la memoria dinámica, y para establecer el número de elementos de la
cadena usaremos listas enlazadas en las que cada nodo de la lista contara un carácter de la
cadena y se enlazaría mediante punteros.
La información no tiene que estar almacenada en posiciones contiguas de
memoria.
45
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
H O L A
Al igual que con cualquier tipo de datos, podemos hacer operaciones de entrada y salida
(leer y escribir).
Var cad: cadena
Leer (cad)
Escribir (cad)
Aparte de estas instrucciones, la mayor parte de los lenguajes permiten realizar
operaciones especiales con las variables de tipo cadena.
La mayor parte de los lenguajes tienen operaciones de tratamiento de cadenas, y esas
operaciones vienen en librerías externas.
Comparación de cadenas:
Las cadenas se pueden comparar entre si usando los símbolos de comparación. Esto se
puede realizar porque lo que voy a comparar son los valores ASCII asociados a cada carácter.
En el caso de que se comparen 2 cadenas de diferente longitud tal que la cadena de menor
longitud tiene N caracteres y estos N caracteres coinciden con los N primeros caracteres de la
cadena más larga, se considera mayor la cadena más larga.
PEPE > PAPA
PEPES > PEPE
En la mayor parte de los lenguajes, hay una función que hace la comparación.
En C es la función strcmp (C1,C2).
Funcion comparacion (C1:cadena;C2:cadena): entero
Esta función devuelve:
- 0 si C1=C2
- Un positivo si C1 > C2
- Un negativo si C1 < C2
Concatenación:
Lo que permite es unir varias cadenas en una sola, manteniendo el orden de los caracteres
que se unen.
En pseudocódigo se usa el símbolo &: C1&C2
C1=”Hola”
46
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
C2=”Adios”
C3=C1&C2=”HolaAdios”
Procedimiento concatenacion (ent-sal C1:cadena;C2:cadena)
- Se devuelve en C1 la concatenación C1&C2.
Subcadenas:
Extrae parte de una cadena.
Se pueden usar 3 procedimientos:
Procedimiento subcadena (c:cadena;inicio:entero;longitud:entero;ent-sal s:cadena)
- Si inicio es negativo, o es mayor que longitud, se devuelve la cadena nula.
- Si inicio+longitud es mayor que el tamaño de la cadena, devuelvo desde inicio hasta
de fin de la cadena.
Procedimiento subcadena (c:cadena;inicio:entero;fin:entero;ent-sal s:cadena)
- Si fin es menor que inicio, devuelve la cadena nula.
- Si fin es mayor que la longitud de la cadena, se devuelve desde inicio hasta el fin de la
cadena.
Procedimiento subcadena (c:cadena;inicio:entero;ent-sal s:cadena)
- S va desde el inicio hasta el final de la cadena.
Inserción:
Consiste en meter una cadena dentro de otra a partir de una determinada posición.
Procedimiento insertar (ent-sal C1:cadena;C2:cadena;inicio:entero)
C1=”Pepe”
C2=”Nuria”
Insertar (C1,C2,3)= PeNuriape
- Si inicio es mayor que la longitud de C1 o inicio es menor que 0, no se inserta nada.
Borrado:
Consiste en borrar de una cadena una subcadena que forma parte de ella. Hay que dar la
posición de inicio y final de la subcadena que quiero borrar.
Procedimiento borrar (ent-sal C1:cadena;inicio:entero;fin:entero)
- Si fin es menor que inicio, o inicio es mayor que la longitud de la cadena, no se borra
nada.
Procedimiento borrar (ent-sal C1:cadena;inicio:entero;fin:entero)
C1=”Casa azul”
Borrar (C1,3,5)
C1=”Caazul”
Intercambio:
Consiste en substituir la aparición de una subcadena dentro de una cadena, por otra
subcadena. Para eso la primera subcadena tiene que aparecer en la otra.
Procedimiento intercambio (ent-sal C1:cadena;S1:cadena;S2:cadena)
C1=”Casa azul”
S1=”asa”
S2=”asita”
47
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
C1=”Casita azul”
Si S1 no está en C1, no se cambia nada.
Las cadenas van a estar almacenadas en arrays de caracteres donde el carácter de fin de
cadena es el $.
4.5. Manejo de Cadenas(Java)
6. Eliminar los espacios en blanco de una cadena
import [Link];
//Entrada
Scanner teclado = new Scanner([Link]);
[Link]("Frase: ");
f1 = [Link]();
//Proceso
f2 = FraseSinEspacios(f1);
//Salida
[Link]("");
[Link]("Frase sin espacios: " + f2);
}
48
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
//Método FraseSinEspacios
private static String FraseSinEspacios(String Frase) {
//Variables
String f = "",t;
int i,p;
//Proceso
p = 0;
Frase = [Link]();
for(i = 0; i<[Link](); i++){
if([Link](i, i+1).equals(" ")) {
t = [Link](p, i);
p = i + 1;
f = f + t;
}
}
t = [Link](p, i);
f = f + t;
//Salida
return f;
}
49
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Unidad 5.
Organización de Archivos
[Link]ón
2. Fácil actualización
3. Economía de almacenamiento
4. Mantenimiento simple.
50
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Bases de datos compatibles con ODBC (Open DataBase Connectivity - Conectividad Abierta de
Base de Datos)
Estas bases de datos incluyen las bases de datos cliente/servidor que conforman el estándar ODBC,
tal como Microsoft SQL Server. La mayoría de bases de datos que soportan ODBC pueden ser
accedidas empleando Java.
Librerías ODBC
Estas librerías permiten que se llame a la interface de programación de aplicaciones (API) de ODBC
directamente y están disponibles como un producto separado.
51
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
relacionada. Por ejemplo, la base de datos Neptuno contiene una tabla que almacena a los empleados, y
otra almacena los pedidos de una compañía ficticia.
La base de datos [Link] es una base de datos de ejemplo incluida con Microsoft Access.
52
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Cada tabla debe de tener una clave principal, que es un campo (o una combinación de campos) que es
único para cada registro en la tabla. Por ejemplo, el campo IdEmpleado es la clave principal para la tabla
Empleados.
Una tabla puede también tener claves foráneas, que son campos que hacen referencia a una clave
principal de otra tabla. Por ejemplo, en la base de datos Neptuno, la tabla Pedidos tiene un campo
llamado IdCliente. Este campo es una clave foránea porque hace referencia a un cliente de la tabla
Clientes. En vez de duplicar toda la información del cliente por cada pedido, sólo se ingresa la clave
principal del cliente a quien pertenece el pedido, como la clave principal es única por cada cliente, hay
un solo cliente por cada pedido, y un cliente puede tener muchos pedidos. En términos de una base de
datos, la relación entre la tabla Clientes y la tabla Pedidos es una relación del tipo uno-a-varios.
5.4.2. Registros
Un registro contiene información acerca de un solo ingreso en una tabla. Generalmente, no se desea que
dos registros en una tabla tengan los mismos datos. Por ejemplo, un registro en la tabla Empleados
contiene información acerca de un único empleado.
5.4.3. Campos
Cada campo en una tabla contiene una parte de la información. Por ejemplo, la tabla Empleados incluye
campos para el Id del empleado, Apellidos, Nombre, etc.
5.4.4. Indices
Los índices de una tabla de una base de datos son listas ordenadas que son más rápidas para las
búsquedas que las tablas en sí. Para habilitar un acceso más rápido a una base de datos, la mayoría de
bases de datos emplean uno o más índices. Por ejemplo, la tabla Empleados tiene un índice para la
columna IdEmpleado.
Introducción al JDBC
Java Database Connectivity (JDBC) es una interface de acceso a bases de datos estándar SQL
que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales. JDBC
también proporciona una base común para la construcción de herramientas y utilidades de alto nivel.
Drivers JDBC
Para usar JDBC con un sistema gestor de base de datos en particular, es necesario disponer del
driver JDBC apropiado que haga de intermediario entre ésta y JDBC. Dependiendo de varios factores,
este driver puede estar escrito en Java puro, o ser una mezcla de Java y métodos nativos JNI (Java
Native Interface).
JDBC es el API para la ejecución de sentencias SQL. (Como punto de interés JDBC es una marca
registrada y no un acrónimo, no obstante a menudo es conocido como “Java Database Connectivity”).
Consiste en un conjunto de clases e interfases escritas en el lenguaje de programación Java. JDBC
suministra un API estándar para los desarrolladores y hace posible escribir aplicaciones de base de datos
usando un API puro Java.
53
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
Usando JDBC es fácil enviar sentencias SQL virtualmente a cualquier sistema de base de datos. En otras
palabras, con el API JDBC, no es necesario escribir un programa que acceda a una base de datos Sybase,
otro para acceder a Oracle y otro para acceder a Informix. Un único programa escrito usando el API JDBC
y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicación
escrita en el lenguaje de programación Java, tampoco es necesario escribir diferentes aplicaciones para
ejecutar en diferentes plataformas. La combinación de Java y JDBC permite al programador escribir una
sola vez y ejecutarlo en cualquier entorno.
Java, siendo robusto, seguro, fácil de usar, fácil de entender, y descargable automáticamente desde la
red, es un lenguaje base excelente para aplicaciones de base de datos.
JDBC expande las posibilidades de Java. Por ejemplo, con Java y JDBC API, es posible publicar una
página web que contenga un applet que usa información obtenida de una base de datos remota. O una
empresa puede usar JDBC para conectar a todos sus empleados (incluso si usan un conglomerado de
máquinas Windows, Macintosh y UNIX) a una base de datos interna vía intranet. Con cada vez más y más
programadores desarrollando en lenguaje Java, la necesidad de acceso fácil a base de datos desde Java
continúa creciendo.
El siguiente fragmento de código nos muestra un ejemplo básico de estas tres cosas:
5.4.5. JDBC es un API de bajo nivel y una base para API’s de alto nivel. JDBC es una interfase de
bajo nivel, lo que quiere decir que se usa para „invocar‟ o llamar a comandos SQL directamente. En
esta función trabaja muy bien y es más fácil de usar que otros API‟s de conexión a bases de datos,
pero está diseñado de forma que también sea la base sobre la cual construir interfaces y
herramientas de alto nivel. Una interfase de alto nivel es „amigable‟, usa un API mas entendible o
más conveniente que luego se traduce en la interfase de bajo nivel tal como JDBC.
54
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Informática
Docente: Lic. Carla Aguirre – Lic. Flabio Beltran Carrera: CONTADURÍA PÚBLICA
IV. BIBLIOGRAFÍA
LISTADO DE TEXTOS
LECTURAS COMPLEMENTARIAS
[Link]
Gane y Sarson. Análisis Estructurado de Sistemas.
Prentice-hall. 1979
Kendall y Kendall. Análisis y Diseño de Sistemas.
Prentice-hall. 2005
Langefors, B. Teoría de los Sistemas de
Información. Ed. El Ateneo. 1980
O’Brien, James A. Sistemas de Información
ANEXOS
55