Dosier Introducción A La Informatica
Dosier Introducción A La Informatica
Dosier Introducción A La Informatica
Gestión - 2012
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
ÍNDICE
I. PRESENTACIÓN
II. CONTENIDO O CUERPO DEL DOSSIER
2.1. CONTENIDOS MÍNIMOS OFICIALES
2.2. CONTENIDOS ANALÍTICOS
UNIDAD I. INTRODUCCIÓN A LA INFORMÁTICA Y ELEMENTOS
DEL COMPUTADOR
Introducción
Conceptos y definiciones fundamentales
Elementos y conceptos Constitutivos
Computadora y computación. Software.-
Hardware.-
Dispositivos de Entrada. (Teclado, Mouse, Escáner, Tableta
digitalizadota y otros)
Unidad Central de Proceso.(Unidad de Control, Unidad Aritmético
Lógica, Memoria Central).
Dispositivos de Salida (El monitor o pantalla, impresoras y otros.).
Dispositivos de Almacenamiento.
Unidades o Dispositivos de Entrada y Salida.
Software Base u Horizontal.
Software de Aplicación o Vertical.
Evolución Histórica del Computador.
Generación de Computadores.
UNIDAD II ALGORITMOS
Nociones de algoritmos
Características de los algoritmos
Algoritmos de la vida real
Identificadores y reglas
Variables
Constantes
Variables usos y costumbres
Tipos de Operadores
Operadores Aritmeticos
Operadores relacionales
Operadores Lógicos
Jerarquía de Operadores
Expresiones
Ejercicios Propuestos
Estructuras algorítmicas
Técnicas para la formulación de Algoritmos
Diagramas de Flujo
Pseudocódigo
2
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Resolución de Problemas,
UNIDAD IV. ESTRUCTURAS CONDICIONALES O SELECTIVAS.
Definición.
Simples
Dobles
Múltiples
Resolución de Problemas
UNIDAD V. ESTRUCTURAS REPETITIVAS
Definición.
While
Do-While
For
Resolución de Problemas
Ejercicios Interdisciplinarios de Descomposición
Sumatorias
Series, Matemática Financiera y Lotes
UNIDAD VI. ARREGLOS
Conceptos de Arreglos
Tipos de Arreglos
Arreglos Unidimensionales
Arreglos Bidimensionales
Operaciones con Arreglos
Ejercicios de Aplicación
LECTURAS COMPLEMENTARIAS
BIBLIOGRAFIA
GLOSARIO
3
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
I. PRESENTACIÓN
En el presente Dossier iniciaremos haciendo conocer conceptos introductorios básicos para entender los
componentes y elementos del computador y nos vamos a centrar en dos aspectos muy importantes de los
algoritmos, como son su diseño y el estudio de su eficiencia. El primero se refiere a la búsqueda de
métodos o procedimientos, secuencias finitas de instrucciones adecuadas así como la utilización de
estructuras condicionales y repetitivas considerando los dispositivo que disponemos, que permitan
resolver el problema. Por otra parte, el segundo nos ofrece la posibilidad de comparar distintos algoritmos
que resuelven un mismo problema.
Pretendemos presentar una serie de concepto y definiciones propios del estudio de los Algoritmos, su
análisis y diseño.
Finalmente veremos los que es la verificación y derivación de programas, donde daremos los conceptos
básicos y fundamentso referentes al lenguaje de programación Visual Basic.
1.1. Justificación
1.2. Objetivos
General :
Posibilitar la estudiante alcanzar una visión sistemática de lo que conocemos sobre Los
Algoritmos Computacionales.
Específicos :
Introducir los conceptos propios sobre Algoritmo, su importancia en el mundo de las aplicaciones para
computadoras y el manejo de lógica de programación.
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 universidad
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.
4
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
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.
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.
5
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
2. 2. CONTENIDOS ANALÍTICOS
UNIDADES Y
UNIDAD I
INTRODUCCIÓN A LA INFORMÁTICA Y ELEMENTOS DEL COMPUTADOR
UNIDAD III
ESTRUCTURAS SECUENCIALES.
UNIDAD IV
ESTRUCTURAS CONDICIONALES O SELECTIVAS.
UNIDAD V
ESTRUCTURAS REPETITIVAS
UNIDAD VI
6
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
7
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 1.
La informática es un mundo que cambia muy rápidamente y lo que hoy es una novedad o un gran
avance, mañana puede ser algo obsoleto que ya no se utiliza. Pero no te preocupes, en este curso
vamos a enseñarte lo más básico, que es aquello que menos cambios experimenta. Pero
dejémonos de palabrería y comencemos ya.
1.2. Definiciones
1.2.1. Informática
Informática es la ciencia del tratamiento automático (por realizarse mediante
máquinas - hoy en día electrónicas -) y racional (está controlado mediante ordenes
que siguen el razonamiento humano) de la información.
1.2.2. Origen
Este término apareció en Francia en 1962 uniendo las palabras 'information' y
'automatique'.
En los países anglosajones se utiliza la frase Ciencia de las Computadoras
(Computer Science).
A lo largo de este curso podrás conocer los principales elementos que se utilizan en informática.
Además, no hace falta estar delante de un ordenador para utilizar la informática, ya que hoy en
día está muy extendida en muchas áreas y en nuestra vida diaria es fácil encontrarnos con ella,
aunque muchas veces sin saberlo:
En estos, y en muchos casos más, la informática juega un papel decisivo e importante, con el
objetivo de facilitar el tratamiento de la información.
1.3.1. Computación
La computación es definida como la ciencia que trata el procesamiento de datos, utilizando como
medios a un equipo electrónico denominado computadora u ordenador, el cual en base a un orden
binario (1, 0 lenguaje máquina) es capaz de realizar operaciones aritmética - lógica con gran
rapidez y precisión. 1 = encendido, 0=apagado.
8
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
1.3.2. Dato
Es información elemental que por si sola no tiene sentido o que no provee de ninguna
información.
1.3.3. Información
Es todo aquello que permite adquirir cualquier tipo de conocimiento. Los datos pueden ser
agrupados bajo leyes y determinadas reglas para constituirse en información.
1.3.4. Sistema
En forma elemental un sistema puede describirse como una serie de elementos unidos de algún
modo a fin de lograr metas comunes y mutuas.
Una definición más completa seria la siguiente: Un sistema es un conjunto de elementos que forman
una actividad o un procedimiento o plan de procesamiento que buscan una meta o metas comunes.
Mediante la manipulación de datos, energía o materia, en una referencia de tiempo, para
proporcionar información, energía o materia.
La palabra sistema es posiblemente el término más sobreutilizado y del que más se ha abusado en
el léxico técnico. Hablamos de sistemas políticos y educativos, de fabricación, de sistemas
bancarios y otros.
Proceso o transformación
1.4. Computador.- Es una máquina electrónica universal para procesar datos, capaz de interpretar y
ejecutar una serie de operaciones, relativas al tratamiento de la información y resolver cualquier
tipo de problemas.
Se refiere a la parte dura imposible de modificar es decir, la construyen los elementos físicos que
configuran la computadora en el lenguaje informático se denomina HARDWARE. Ejemplo
monitor, CPU, teclado, impresora, ratón, lápiz óptico, cables, soportes de la información.
Hay cuatro partes fundamentales en una computadora:
a. Dispositivos de entrada
b. Unidad Central de proceso
c. Memoria auxiliar o almacenamiento secundario
9
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
d. Dispositivos de salida
Memoria Central
MEMORIA AUXILIAR
El teclado:
Compuesto como su nombre indica por una serie de teclas que representan letras, números y otros
caracteres especiales. Al presionar un carácter en el teclado se produce un tren de impulsos que
ingresa en el ordenador a través de un cable. Todo tren de impulsos está constituido por estados
de tensión eléctrica y no tensión, unos y ceros, es decir, por bits.
El Ratón o Mouse:
Los más habituales son los ratones mecánicos, en estos en su parte inferior se encuentra una bola
que rueda al deslizar el ratón sobre la superficie de la mesa o de una alfombrilla, el movimiento
de la bola se transmite a dos ejes perpendiculares y de éstos a unas ruedas dentadas con un sistema
óptico que permite captar el giro de cada una de estas ruedas, de aquí, mediante la electrónica del
ratón, estos valores de movimiento serán enviados por el puerto serie (COM 1, COM 2,..) - por
el puerto serie los datos se transmiten bit a bit -, o de un bus especial para el ratón, hacia la CPU,
que mediante el programa adecuado podrá situar el cursor en la pantalla. Al pulsar el botón o
botones del ratón, la CPU sabrá, por tanto, sobre que elemento de la pantalla se está actuando.
10
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
El Escáner:
Permite convertir información gráfica en una imagen digitalizada o mapa de bits ("Bitmap"). La
imagen que se desea digitalizar se coloca en el escáner, en éste la imagen es recorrida por un haz
luminoso, y la luz reflejada es recogida por un dispositivo tipo CCD (del mismo tipo que el que
incorporan las cámaras de vídeo) que convierte la señal luminosa en señal eléctrica,
posteriormente esta información se convierte en señales digitales que ingresaran en el ordenador.
La tableta digitalizadora:
Consiste en un tablero de dibujo que puede ser recorrido por un lápiz, los movimientos del lápiz
se convierten en informaciones digitales y se envían al ordenador a través del puerto serie.
Otros periféricos de entrada:
Lectores de códigos de barras, Lectores de fichas perforadas (en desuso), …
El responsable de la ejecución de los programas y del control de los demás elementos. La CPU
(central process unit) contiene miles de transistores en una pequeña pastilla de silicio (también
llamado chip o circuito integrado) y pues de ejecutar muchas operaciones diferentes, como suma
multiplicación, lectura de informaciones del teclado y envío de información hacia la pantalla e
impresora. El funcionamiento de la CPU está controlado por programas almacenados en la memoria
principal de la computadora. Se divide en tres partes.
1. Unidad Aritmética Lógica
2. Unidad de control
3. Memoria principal
11
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Para conocer la ubicación de cada dato estas casillas deben estar convenientemente numeradas, es lo
que se denomina dirección de memoria. En cada casilla podremos almacenar una determinada cantidad
de bits según el ordenador, 8bits (1 Byte), 16 bits, 32 bits,.. .El número de bits que almacena un
ordenador en cada casilla de la memoria y que puede manipular en cada ciclo se la denomina longitud
de palabra ("word" en inglés).
Memoria interna
La unidad del sistema contiene dos tipos de memoria: RAM y ROM. La memoria ROM (read only
memory) o memoria de sólo lectura, en la que se encuentran el test de fiabilidad del ordenador (POST:
Power on Self Test), las rutinas de inicialización y arranque, y la BIOS que proporciona los servicios
fundamentales para que el ordenador sea operativo, en su mayor parte controla periféricos del ordenador
como la pantalla, el teclado y las unidades de disco. El término Memoria de Solo Lectura, significa que
esta memoria no puede ser modificada y aun cuando apaguemos el ordenador la información permanecerá
inalterada en la ROM.
La memoria RAM(random acces memory), o memoria de acceso aleatorio, permite la lectura y la escritura,
o sea, el microprocesador puede leer el contenido de esta memoria y también escribir información en ella.
que es la encargada de almacenar los datos y los programas que la CPU está procesando. El término acceso
aleatorio significa que no es necesario leer una serie de datos para acceder al que nos interesa, sino que
podemos acceder directamente al dato deseado. Esta memoria depende del suministro de tensión eléctrica
para mantener la información y por tanto al apagar el ordenador los datos almacenados en ella se perderán.
1.4.1.3. Dispositivos de Salida.- Se refiere a los datos de información que se tiene como
resultado y es preciso conocerlos, se realiza con diversos, dispositivos mediante los
cuales se transfiere datos o informaciones de la memoria del computador hacia el
exterior para su conocimiento. Presentan al usuario los datos ya elaborados que se
12
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
La pantalla:
Consiste, en los equipos de sobremesa, en un tubo de rayos catódicos, en éste tres haces de electrones
correspondiendo a los tres colores básicos (rojo, verde y azul) inciden sobre una rejilla tras la cual está
situada una pantalla de fósforo que se ilumina. Estos haces recorren la pantalla de izquierda a derecha y
de arriba a abajo formando la imagen. Hecho esto se sitúan de nuevo en la esquina superior izquierda para
formar una nueva imagen.
Cada uno de estos tres haces da lugar a un punto de color básico (rojo, verde o azul), la agrupación de los
tres puntos de color básicos da lugar a un punto de la imagen denominado pixel, ver Figura.
Los círculos en negro que agrupan a tres puntos de color representan un pixel y el diámetro de éste el
tamaño del pixel; la doble flecha indica la distancia entre pixels, ambos elementos decisivos en la calidad
de un monitor.
Por último, respecto al monitor cabe destacar la frecuencia con que estos haces forman una imagen, cuanto
mayor sea ésta mayor será la calidad de la imagen, y la máxima resolución con que pueda trabajar, número
de pixels horizontales y verticales.
El monitor recibe a su vez la información de la tarjeta gráfica, en ésta cabe distinguir la memoria de vídeo
que implicará la máxima resolución que pueda producir la tarjeta gráfica, y a partir del desarrollo VGA el
DAC (Conversor Digital Analógico) encargado de traducir la señal digital generada por el procesador a
formato analógico para que pueda ser representada en el monitor.
En la Figura 9 se representa la memoria correspondiente a diversos estándares de tarjetas gráficas.
La impresora:
Nos sirve para tener una copia impresa de datos o figuras, en definitiva de la información elaborada o
almacenada en el ordenador.
Existen diferentes tipos de impresoras, matriciales o de agujas, de inyección de tinta, láser, etc. . Todas
ellas suelen recibir la información a través del puerto paralelo del ordenador - por el puerto paralelo (LPT
1,..) los datos se transmiten en grupos de 8 bits - y utilizan para ello un cable tipo Centronics.
Las impresoras matriciales contienen en el cabezal de impresión una serie de agujas (9, 18, 24 ó 48) que
golpean la cinta entintada y ésta al papel, dando lugar así a la información impresa. El número de agujas,
evidentemente, implica una mayor calidad en la impresión. Las impresoras matriciales suelen disponer de
una técnica denominada NLQ que consiste en imprimir el mismo carácter dos veces pero ligeramente
desplazado, de este modo se puede mejorar la calidad de la impresión, aunque ésta resulta más lenta. La
principal ventaja de las impresoras matriciales es su bajo costo y su rapidez. Existen impresoras matriciales
de color aunque los resultados son bastante limitados.
Las impresoras de inyección contienen un cartucho de tinta para la impresión en blanco y negro y otro o
otros tres con los colores Cyan, Magenta y Amarillo para la impresión en color. En estas impresoras la
tinta se sitúa en el cabezal y mediante una resistencia se calienta éste que expulsa una burbuja de tinta
contra el papel. Las impresoras de inyección producen muy buenos resultados en la impresión tanto en
blanco y negro como en color. Debido a su reducido coste y a su calidad son hoy día las de mayor
aceptación.
Las impresoras láser utilizan un tambor fotosensible que es activado por un láser, este tambor después de
ser activado por el láser queda impregnado por el carboncillo del toner que puede pasar al papel. Las
impresoras láser producen documentos de gran calidad y con una velocidad superior a las de inyección,
pero requieren de una memoria o buffer elevada y suelen ser caras.
13
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Un grupo especial de impresoras láser y también de inyección lo constituyen las impresoras PostScript,
en éstas la imagen no es enviada a la impresora en forma de matriz de puntos, sino como gráfico vectorial,
de este modo se le puede decir a la impresora "imprime un circulo de radio r cm centrado en el punto x,y",
el resultado es una mayor calidad de impresión en gráficos y figuras.
Existen otros tipos de impresoras como las de margarita, transferencia térmica de cera, de sublimación,
etc. .
El Trazador Gráfico o Plotter: Este dispositivo mediante una serie de lápices de dibujo que va escogiendo
puede realizar dibujos de gran precisión, se utiliza en diseño gráfico y estudios de arquitectura
básicamente. Otros dispositivos como ser los Parlantes,
Se componen de varios discos circulares rígidos, y no flexibles como en el caso de las disqueteras,
recubiertos de un material susceptible de ser magnetizado. Pueden ser grabados o leídos mediante un
cabezal por ambas caras mediante un proceso similar al de los FD, la diferencia estriba en la muy
superior velocidad de giro de éstos, por lo menos unas 3.600 r.p.m. Los HD pueden lograr estas
elevadas velocidades de giro debido a que se encuentran herméticamente cerrados dentro de una
carcasa de aluminio. Debido a las elevadas velocidades de giro los HD logran unos tiempos de
búsqueda promedio muy inferiores a las disqueteras y unas velocidades de transferencia muy
superiores, ambas características los convierten en el medio más rápido - excluyendo la memoria
principal - para almacenar o transferir información por el momento.
Capacidad total = nº de cabezales x nº de cilindros x nº de sectores por pista x nº de bytes por sector
Por otra parte, el sistema operativo MS-DOS divide el HD en los denominados "clusters", éstos
constituyen las unidades más pequeñas de información que puede direccionar éste sistema operativo
dentro de un HD, y están formados por un número variable de sectores según sea la capacidad total
del HD. Una de las nefastas consecuencias de éste método consiste en que cuando el HD es grande,
1 GB o más, los clusters también son muy grandes y cada fichero que se encuentra en el HD ocupa
al menos un cluster, cuando el fichero es más pequeño que el cluster parte del cluster se desperdicia,
ya que en este cluster no se puede guardar ningún otro fichero. Así nos encontramos discos duros
prácticamente llenos, en los que si sumamos el tamaño total ocupado por los ficheros no coincide con
el tamaño ocupado que nos muestra el sistema operativo. Por ejemplo, en un HD de 2 GB de
capacidad se pueden llegar a desperdiciar fácilmente más de 500 MB. La única solución a este
problema consiste en dividir el disco duro en varios de menor tamaño, es decir, realizar varias
particiones mediante el comando FDISK de MS-DOS.
Por otra parte, el HD y el FD necesitan de una electrónica para comunicarse con el ordenador. Está
electrónica se encuentra en una tarjeta denominada "controladora de HD/FD", existen diversos
estándares de controladoras, y cada controladora sólo puede operar con los HD de su tipo. Los
14
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
antiguos HD eran del tipo MFM o RLL, después surgieron los IDE y los Enhanced IDE, y los SCSI
en sus distintas versiones. Las controladoras IDE también pueden "controlar" otros dispositivos como
unidades CD-ROM, las SCSI aparte de los CD-ROM también se utilizan con otros dispositivos como
Escáneres.
CD-ROM:
Estas unidades de almacenamiento están constituidos por un soporte plástico en las que un láser ha
realizado unas pequeñas hendiduras, esta capa se recubre con una capa de material reflectante, y ésta
con otra capa de protección. En el momento de la lectura un láser de menor intensidad que el de
grabación reflejará la luz o la dispersará y así podrán ser leídos los datos almacenados.
Las pistas en este soporte se encuentran dispuestas en forma de espiral desde el centro hacia el exterior
del CD-ROM, y los sectores son físicamente del mismo tamaño. El lector varia la velocidad de giro
del CD-ROM, según se encuentre leyendo datos en el centro o en los extremos, para obtener una
velocidad constante de lectura.
La velocidad de transferencia de estas unidades ha ido variando, las primeras unidades tenían una
velocidad de 150 KB/s y se denominaron de simple velocidad, ya que esta velocidad de transferencia
era la que venía recogida en las especificaciones del MPC (Multimedia PC Marketing Council),
posteriormente han ido apareciendo unidades 2X (2 x 150 = 300 KB/s), hasta en la actualidad 12X (
12 x 150 = 1.800 KB/s ).
Una de las principales ventajas de los CD-ROM es que el desgaste es prácticamente nulo, y la
principal desventaja es que no podemos cambiar lo que existe grabado, como podemos hacer en un
HD o un FD.
En un CD-ROM podemos almacenar hasta 650 MB de información, lo que supone almacenar unas
150.000 páginas de información, o la información contenida en 1.200 disquetes.
Existen unidades CD-ROM que se conectan a controladoras IDE y otras a controladoras SCSI como
ya se ha mencionado al hablar de los discos duros.
Recientemente han hecho su aparición las unidades DVD (Digital Video Disc), éstas unidades son
básicamente un CD-ROM con una muy superior densidad de grabación, logrando una capacidad de
almacenamiento de 4,38 GB si se graban por una sola cara y una capa, hasta 15,90 GB si la grabación
se realiza en dos caras y con dos capas. Cada cara puede tener hasta dos capas. Ver figura.
Respecto a la compatibilidad de los DVD con los CD-ROM es absoluta en el caso de los CD-ROM
estampados industrialmente y de los CD-RW; pero no así con los CD-R (procedentes de un
grabador) que necesitan para ser leídos por un lector DVD, que éste disponga de dos láser (láser
dual).
15
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
El Módem:
El término Módem procede de Modulador / Demodulador que resume la función del módem, es
decir, los datos que un ordenador debe enviar están formados por bits, estos bits se trasmiten de uno
en uno por el puerto serie al módem, éste convierte estos datos digitales en señales analógicas de
modo que puedan circular por la línea telefónica, modula los datos. El módem que se encuentra en
el otro extremo de la línea telefónica y recibe estas señales de frecuencia las convierte en señales
digitales, bits, decimos que demodula los datos, y los transmite por el puerto serie de uno en uno al
ordenador. La Red de Telefonía Básica (RTB) permite transmitir frecuencias de hasta 2400 Hz, por
esto los módems si no utilizaran otras técnicas de compresión podrían transmitir como máximo
2400 bits por segundo. No se debe confundir por tanto la frecuencia de la señal con que se
transmiten los datos por la RTB que se expresa en baudios (2400 baudios, 1200 baudios,..), con la
cantidad de datos que se transmiten que se expresa en bits/s (28.800 bits/s, 14.400 bits/s,..).
Para realizar esta comunicación entre el PC y el Módem existe un chip que juega un papel muy
importante, es el denominado UART (Receptor Transmisor Asíncrono Universal). Éste chip se
encarga de convertir los datos que recibe en grupos de 8 bits de ancho en cadenas de 1 bit de ancho
de modo que puedan salir por el puerto serie. También comprueba el bit de paridad de los datos
recibidos y de insertarlo en los enviados, así como los bits de inicio y de parada, es decir los bits
que van al inicio y final de un grupo de datos, normalmente grupos de 8 bits. En los PC la UART
8250 solo podía realizar transferencias a baja velocidad, la 16450 mediante compresión hasta
115.200 bits/s en sistemas monotarea y la 16550 de idéntica velocidad pero con multitarea.
La Tarjeta de sonido:
Se encargan de digitalizar las ondas sonoras introducidas a través del micrófono, o convertir los
archivos sonoros almacenados en forma digital en un formato analógico para que puedan ser
reproducidos por los altavoces.
Los sonidos que puede percibir el oído humano abarcan las frecuencias de 20 a 20.000 Hz.
16
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
La tarjeta de sonido recorre estas ondas tomando muestras del tipo de onda (de su frecuencia),
esta operación se realiza con valores variables de muestreo, desde 8.000 hasta 44.100 Hz, a mayor
frecuencia de muestreo mayor será la calidad de la grabación. Y del nivel sonoro de esta onda,
esta información se guarda en 8 bits (28 = 256 niveles de sonido) o en 16 bits (216 = 65.536
niveles de sonido). Y en un canal o Mono o dos canales o Estéreo.
La calidad telefónica correspondería a 11.025 Hz, 8bits y Mono. La calidad de la radio a 22.050
Hz, 8 bits y Mono, ocupando el archivo el doble que el primero. Y la calidad del CD a 44.100 Hz,
16 bits y Estéreo, ocupando el archivo 16 veces más que el primero.
Muchas tarjetas de sonido poseen capacidades MIDI; esto significa que en un chip de la tarjeta,
sintetizador, se encuentran almacenadas las características de diferentes instrumentos musicales,
y la grabación o reproducción de un sonido se hace en referencia a éstos y las notas musicales
correspondientes.
La pantalla táctil que permite seleccionar, tocando la pantalla, las opciones que se le presentan al
usuario. La tarjeta digitalizadora y compresora de vídeo...
1.4.2. Soporte lógico o software Se refiere a la parte suave o lógica es decir aquello que hace
posible al computador funcionar es la parte que no se toca físicamente se refiere
básicamente a los programas. Ejemplo. Sistema operativo, paquetes de aplicación, lenguaje
y etc.
1.4.2.1. Software Base u horizontal.- Son todos los sistemas operativos por donde parten su
funcionamiento los computadores, envase a este se puede manejar el software vertical
Ejemplo. Sistemas Operativos como: DOS, WINDOWS, MAC-OS, LINUX, APPLE,
XENIX, UNIX, CENTRIX y lenguajes de programación como: Visual Basic, Visual C,
Java, C ++, etc. , los últimos últimos sistemas operativos sirven para manejo de redes.
Existen varias maneras de clasificar a los sistemas operativos, sin embargo una de las
más usuales es la que depende del número de usuarios que atiende ;
En está clasificación están los sistemas operativos monousuarios y sistemas operativos multiusuarios.
Cabe recalcar que la cantidad de usuarios a los que atiende un computador depende tanto del software
como del hardware, y el software (en este caso es sistema operativo) deberá ser apropiado para el hardware
donde funcionará.
Los monousuarios son los que atienden a un solo ‘usuario’, estos son simples y generalmente se los
encuentra en los sistemas personales.
Los multiusuarios son los que atienden a varios usuarios, estos por supuesto son mucho más complejos
que los anteriores, pues al tratar con varios usuarios, deberá tener un completo control del trabajo que
está realizando cada uno de ellos, organizar la asignación de los recursos del computador cuando lo
requieran los usuarios, tomando en cuenta políticas de asignación y de prioridades. La utilización, de los
recursos del sistema, depende de las políticas con las que fue construido.
17
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Generalmente estos sistemas operativos atienden una milésima parte de segundo a cada usuario en forma
circular, por lo que parecería que está atendiendo sólo a uno y ‘guarda’ tablas en las que ‘anota’ las
actividades que está realizando cada usuario.
1.4.2.1.1.Lenguajes de Programación
Al igual que los lenguajes humanos, tales como el Inglés, Español, los lenguajes de programación poseen
una estructura (gramática o sintaxis) y un significado (semántica). La gramática española trata de los
diferentes modos (reglas) en que pueden ser combinados los diferentes tipos de palabras para formar
sentencias o frases aceptables en español.
La gramática de Pascal a las diferentes reglas en que pueden combinarse las sentencias
(instrucciones) de Pascal para formar un programa válido en Pascal. Los lenguajes de computadora tienen
menos combinaciones aceptables que los lenguajes naturales. Sin embargo, estas combinaciones deben
ser utilizadas correctamente.
Clasificación de los lenguajes : Bajo nivel y Alto nivel.- Existen centenares de lenguajes de
programación para computadoras y cada uno tiene diferentes versiones. Cada lenguaje tiene sus ventajas
e inconvenientes. Algunos lenguajes son ideales para la programación de un tipo de problemas (gestión,
científicos,..) y otros han sido diseñados para resolver otros problemas diferentes (educación,
investigación, etc.).
Los lenguajes se suelen clasificar en términos de niveles que constituyen una jerarquía de los lenguajes
de programación, relacionada con el número de instrucciones necesarias para realizar una tarea específica.
Los lenguajes de programación se clasifican como : bajo nivel y alto nivel.
Lenguaje de Bajo Nivel.- La CPU de la computadora no puede ejecutar directamente sentencias escritas
en un lenguaje simbólico (alto nivel) basado en símbolos; el procesador solo puede ejecutar instrucciones
más simples, llamadas instrucciones de máquina.
Una instrucción de máquina es un conjunto de ceros y unos, es decir, el procesador solo tiene lenguaje
binario, ejemplo:
LENGUAJE DE MAQUINA
LENGUAJE ENSAMBLADOR
18
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Lenguaje de Alto Nivel.- permiten programar sin necesidad de conocer el funcionamiento interno de la
máquina, es decir, que se pueden escribir algoritmos entendibles, para ser ejecutados por el mayor número
de computadoras.
En esencia las diferencias con el lenguaje ensamblador reside en que los lenguajes de alto nivel utilizan
instrucciones muy potentes (normalmente entendibles en idioma inglés : IF, THEN, WHILE, FOR, DO
....)
Interprete.- Un intérprete es un programa que procesa los programas escritos en un lenguaje de alto
nivel. Un interprete traduce cada instrucción o sentencia del programa escrito en un lenguaje a lenguaje
de máquina e inmediatamente lo ejecuta y a continuación se ejecuta la siguiente sentencia.
Un interprete lee el código como esta escrito y luego lo convierte en acciones, es decir, lo
ejecuta en ese instante.
Existen lenguajes que utilizan un Intérprete, como por ejemplo JAVA, y su interprete traduce
en el instante mismo de lectura, el código en lenguaje máquina para que pueda ser ejecutado.
19
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
1.4.2.2. Software de aplicación o vertical, Consiste en una conjunto de programas que indican al
computador como realizar tareas específicas para el usuario. La aplicación es el objeto
para el cual se usa el computador.
Existen tres tipos importantes de programas de aplicación que son: procesadores de textos, bases de
datos y hojas de cálculo.
Un programa de procesador de texto, es una ayuda al usuario para prepara un texto. El usuario tiene la
facilidad de corregir o cambiar el formato del texto antes de la impresión del texto. Ejemplo.
WORDPERFECT, WORD, WORDSTAR, WORK, ETC.
Un programa de bases de datos, ahora en tiempo a una empresa. Las bases de datos es simplemente un
método para organizar la información. En este sentido es similar a un sistema de archivo, pero un sistema
de bases de datos es más eficiente que un sistema de archivo en papel. Por ejemplo, si en un sistema de
base de datos se almacenara toda la información de los empleados de una empresa, por medio de un
programa se obtiene las personas que cumplen años en un determinado mes ; si realizamos el mismo
trabajo con un sistema de archivo manual, el proceso nos llevaría mucho más tiempo de trabajo. Ejemplo.
ACCESS, FOXPRO, ETC.
Un programa de hoja de cálculo, es un libro mayor electrónico (un libro mayor es un libro que contiene
registros de transacciones financieras). Puede ayudar a planear y contabilizar las finanzas de una
empresa. El programa de hoja de cálculo proporciona la facilidad del manejo de filas y columnas para
realizar todos los cálculos apropiados en una transacción financiera. Ejemplo. QPRO, LOTUS, EXCEL,
ETC.
1.4.3. Esquema del elemento humano, estas se dividen en dos grandes grupos:
El personal informático: personas encargadas de controlar y manejar las máquinas para que den
un buen servicio:
El Personal de dirección (Director, Jefe del área de desarrollo, Jefe del área de
explotación)
El Personal de análisis y programación (Jefe de proyectos, Analistas, Programadores)
El Personal de explotación (Operadores, Grabadores de datos)
Los usuarios
1.4.4. Evolución Histórica:
1.4.4.1. Breve Historia
La historia de las máquinas de cálculo que dieron origen a los ordenadores actuales empieza con
un instrumento utilizado por diversas civilizaciones, siglos antes de Jesucristo: el ábaco, véase
Figura.
20
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
John Napier inventa los logaritmos y construye las primeras tablas. Mediante estas funciones
matemáticas convierte los productos y divisiones en simples sumas y restas.
En los siglos XVI y XVII se construyeron máquinas mecánicas basadas en ruedas dentadas que
simulaban el funcionamiento del ábaco, como la Máquina Aritmética o Sumadora de Pascal
(1642), construida por éste a la edad de 19 años.
Charles Babbage (1792-1871) diseñó la Máquina Analítica, ésta máquina fue pensada como un
calculador universal, que pudiera resolver de forma automática cualquier problema matemático, y
capaz de albergar distintos programas, murió sin poder construirla.
George Boole (1815-1864) desarrollo la famosa álgebra que lleva su nombre. Su lógica formal
asignaba un 1 a cada proposición verdadera y un 0 a las falsas. Boole definió las operaciones no
con operadores aritméticos sino con operadores lógicos Y, O y NO.
A finales del siglo XIX se utilizan en los negocios y la gestión de empresas máquinas de calculo
mecánicas, como la Máquina Tabuladora de H. Holletrith (1886), con ella se realizó el 11º
censo norteamericano, fundó la Tabulating Machine Corporation que después se transformaría en
IBM.
John von Neumann (1903-1957), matemático húngaro, propuso almacenar el programa y los
datos en la memoria del ordenador, con lo que se evitaba la modificación del cableado en el
cambio de programas.
1.4.5. Generación de Computadoras
1.4.5.1. PRIMERA GENERACION
Para entrar a la primera generación hemos de retomar al hilo narrativo a donde lo dejemos,
en la ENIAC. Un año antes que se logre acabar esta computadora, se unió al equipo un
matemático húngaro, John Von Neumman, que estaba destinado hacer uno de los cerebros
21
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
22
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Aumento de fiabilidad.
Teleproceso.
Multiprogramación.
Renovación de periféricos.
Instrumentación del sistema.
Compatibilidad.
Ampliación de las aplicaciones.
La minicomputadora.
23
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 2.
ALGORITMOS
La idea de algoritmo es natural como la vida misma, ya que siempre encierra una secuencia de
pasos _ exentos de ambigüedades _ que lleva a la solución de un problema.
La principal razón por la que las personas aprenden a programar es para utilizar el ordenador como una
herramienta para la resolución de problemas. Ayudado por un ordenador, la obtención de la solución de
un problema exige el diseño de un algoritmo que resuelva el problema propuesto: Los pasos para
la resolución de un problema son:
A) Fase de resolución del problema
Diseño de algoritmo, que describe la secuencia ordenada de pasos sin ambigüedades que
conducen a la solución de un problema dado. (Análisis del problema y desarrollo del
algoritmo)
B) Fase de implementación en el ordenador.
Expresar el algoritmo como un programa en un lenguaje de programación adecuado (Fase
de codificación.
Ejecución y validación, Un ejemplo clásico de algoritmo es la receta para realizar un
plato de cocina; otro algoritmo típico son los pasos necesarios para construir un típico
juego de rompecabezas.
Resolución
PROBLEMA
ALGORITMO
Paso Fácil
PROGRAMA
Implementación
El resultado de la primera fase es el diseño de un algoritmo, que no es más que una secuencia ordenada
de pasos que conduce a la solución de un problema concreto, sin ambigüedad alguna, en un tiempo finito.
Sólo cuando dicho algoritmo haya sido probado y validado, se deberá entrar en detalles de implementación
en un determinado lenguaje de programación; al algoritmo así expresado se denomina programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como del
ordenador que los ejecuta. El lenguaje de programación es tan sólo un medio para comunicarle al
ordenador la secuencia de acciones a realizar y el ordenador sólo actúa como mecanismo para obtener la
solución. En este sentido, podemos comparar la situación anterior con el hecho de explicar una receta a
un cocinero en distintos idiomas. Mientras éste entienda el idioma, es indiferente el idioma elegido ya que
el resultado final será siempre el mismo.
24
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
b. Un algoritmo debe estar definido: si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
c. Un algoritmo debe ser finito: si se sigue un algoritmo se debe terminar en algún momento
Ejemplo 1
Por ejemplo, cuando quiero ver una película de vídeo, podría hacer:
Ejemplo 2.
Se desea realizar el algoritmo para sumar dos números.
P1: Inicio
P2: Pedir el primer número
P2: Pedir el segundo número
P3: Resultado = primer número + segundo número
P4: Mostrar el resultado
P5: Fin
Ejemplo 3
Tome en cuenta que éste ultimo ejemplo contiene en forma global el desarrollo del algoritmo, a
diferencia del primer ejemplo que es exacto y directo.
25
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Ejemplo 4
1. Huevo.
2. Sal.
3. Sartén.
4. Mantequilla o aceite.
5. Estufa u hornilla.
En este ejemplo vamos a empezar a aplicar algunos pasos de forma intuitiva, de tal forma
que para cuando se revise el cuarto ejemplo se pueda identificar claramente los pasos
necesarios para darle forma al algoritmo.
Si se observa con un poco de atención en el enunciado del problema está dada parte de la
solución. Es importante que usted imagine todo el proceso en su cabeza para implementar
el algoritmo de solución.
Analizando el enunciado se puede observar claramente que hay que tener dos variables, a
las cuales se les asignarán los valores que indique el usuario; estas variables las vamos a
llamar a y b, en minúscula, ya que esta es la forma de definir variables en todos los lenguajes
de programación; a su vez tendremos una variable adicional que denominaremos c y
guardará el resultado de la operación.
26
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Aunque algunos procesos ya los realizamos de forma intuitiva, es necesario ver que es lo
que hay detrás de todo, las cosas son más sencillas de lo que aparentan ser.
Cuál es el algoritmo que se debe aplicar en un pinchazo de la llanta de un automóvil.
Bien, en este ejemplo vamos a introducir un concepto que se maneja en la vida diaria: Las
condicionales, que nos permiten dar valores de verdad como sí o no.
En este momento hay otra condición vamos a asumir primero el mejor de los casos que es
cuando el repuesto está en buenas condiciones, y luego analizaremos el caso en que el
repuesto esté pinchado.
o Coloque el gato.
o Quite la llanta pinchada.
o Coloque el repuesto.
o Apretar las tuercas.
o Bajar el automóvil.
o Guardar la llanta
o Volver al auto y continuar su camino.
Bien, ahora en el caso en que esté pinchado el repuesto, habría que localizar un
montallantas, mandar arreglar las dos llantas, en fin, imagine el resto del proceso. Como
puede ver todas las actividades que se realicen en forma secuencial, se pueden ver en forma
de algoritmo.
2.2. Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de datos).
Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de
la computadora, que nos permite accesar a su contenido.
Ejemplo: Nombre
Num_hrs
Calif2
27
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en
blanco.
Puede tener una longitud hasta 255 caracteres
No se admiten espacios o caracteres en blanco, ni puntos (.), ni otros caracteres especiales.
Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los caracteres de
declaración del tipo de la variable (%, &, #, !, @, y $ ).
El nombre de una variable no puede ser una palabra reservada del lenguaje (For, If, Loop,
Next, Val, Hide, Caption, And, ...). Para saber cuáles son las palabras reservadas en un
lenguaje puede utilizarse el Help del lenguaje de programación, buscando la referencia
Reserved Words
La declaración de una variable o la primera vez que se utiliza determnan cómo se escribe en
el resto del programa. Por tanto, las variables LongitudTotal y longitudtotal son consideradas
como idénticas.
2.3. Variables
Una variable es un nombre que designa a una zona de memoria (se trata por tanto de un
identificador), que contiene un valor de un tipo de información. Tal y como su nombre indica,
las variables pueden cambiar su valor a lo largo de la ejecución de un programa.
Las variables son valores expresados en letras que van variando en la estructura de un algoritmo
por ejemplo tenemos como variables a:
P1: Inicio:
P2: Leer (S)
P3: escribir (S)
P4: S=S + 10
P5: escribir (S)
P6: S=S + 10
P7: escribir (S)
P8: Fin
La variable S cambia de valor durante el algoritmo, despliega los tres primeros múltiplos de 10.
2.4. Constantes
Una constante es un valor continuo en la estructura de un programa que no tiende a cambiar como
una variable sino es fijo como por ejemplo:
Completando a las variables existe lo que se denomina constantes las cuales son identificadores
pero con la particularidad de que el valor que se encuentra en ese lugar de la memoria sólo puede
ser asignado una única vez. El tratamiento y tipos de datos es igual al de las variables. Para
28
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
PI = 3.14163
E = 2.718282
Recuerde que todas estas constantes no se cambian son fijas inclusive las que son alfabéticas.
Vea los siguientes ejemplos:
(ejemplo)
P1: Inicio:
P2: PI = 3.14163
P3: radio = 5
P4: Circunferencia = 2* PI*radio
P5: Escribir radio, Circunferencia
P6: Fin
Tanto PI, radio y Circunferencia son constantes no cambian durante todo el programa.
Numéricas
Por su Contenido Lógicas
Alfanuméricas
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o
negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500
Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparación entre otros datos.
Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y
caracteres especiales).
Ejemplo:
letra = ’a’ apellido = ’lopez’ direccion = ’Av. Libertad #190’
Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa
y que se usan normalmente dentro de un programa.
Ejemplo:
Suma = a + b /c
Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una
operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente.
29
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
2.4.2. Expresiones
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas.
2.5. Operadores
Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.
Aritméticos
Tipos de Operadores Relaciónales
Lógicos
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos
son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Valor
(Constante o variable)
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
30
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
OPERADOR SIGNIFICADO
< Menor que
> Mayor que
= Igual
<= Menor igual
>= Mayor igual
<> Distinto de
Ejemplos:
Asignando valores para: a = 10 b = 20 c = 30
a+b>c Falso
a-b<c Verdadero
a-b=c Falso
a*b<>c Verdadero
Ejemplos no lógicos:
a<b<c
10 < 20 < 30
Los operadores lógicos o de Boole permiten relaciones lógicas (si/no) y sirven para representar
condiciones compuestas. Los operadores lógicos o booleanos básicos son :
Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T
Las expresiones tienden a tener una regla de prioridad, ya que puede haber confusión por cual
operación el computador debe comenzar es por eso que a continuación se describen éstas
reglas:
31
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Operador exponencial
Operador de *, /
Operadores +, -
Operadores div, mod
70 - 15 mod 12 + 9
35 mod 21
13
Ej. (7*(10 – 5) mod 3) * 4 +9
(7 * 5 mod 3) * 4 +9
(35 mod 3) * 4 + 9
2*4 +9
8 + 9
17
2.5.4.1.Expresiones relacionales
Y el resultado de la operación será verdadero o falso. Así, por ejemplo, si A=4 y B=3, entonces
A>B es verdadero. Mientras que (A-2) < (B-4) es falso.
Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estándar
2.5.4.2.Expresiones Lógicas
Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas,
utilizando los operadores lógicos NOT, AND Y OR. Y los operadores relacionales. (de relación o comparación) =,
<, >, <=, >=, <>.
Ej.
32
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
a = 10 b = 12 c = 13 d =10
Ejercicios propuestos
Cómo hacer un jugo de Pomelo (fruta que se da en los llanos), invetigue y realice el
algoritmo.
Diseñe el algoritmo que le permita calcular la tabla de multiplicar del 5 desde el 1 hasta
el 10.
Diseñe el algoritmo que usted requiere para llegar a la universidad, desde que se levanta
en la mañana.
Encuentre el algoritmo necesario para almacenar el contenido de una página web en un
floppy disk, comenzando desde que se sienta en frente del computador.
Investigue el algoritmo necesario para realizar y presentar un ensayo.
Imagine que su computador le permite controlar el sistema de una máquina tragamonedas
de ruleta, en la cual el usuario debe insertar al menos dos monedas para iniciar el juego,
33
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
gana cuando las tres figuras que aparecen son iguales. La menor paga la misma cantidad
de monedas que se han apostado, y la mayor paga seis veces la cantidad apostada. La
apuesta es seleccionada por el usuario y puede se de 2,4,6 u 8 monedas, hay seis figuras
diferentes y según la figura paga la cantidad que le corresponda. Diseñe el algoritmo
correspondiente al manejo de la máquina, especifique todos los datos que crea necesarios.
Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten,
mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución
de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:
- Asignación
Secuenciales - Entrada
- Salida
- Simples
Estructuras Condicionales - Dobles
Algoritmicas - Múltiples
- Hacer para
Repetitivas - Hacer mientras
- Repetir hasta
SÍMBOLO DESCRIPCIÓN
34
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
35
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
P1
Leer num
P P * num Fin
Leer num
2.7.2. Pseudocodigo
Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea,
dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el
pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un
problema determinado. El pseudocodigo utiliza palabras que indican el proceso a realizar.
Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo
Ocupa menos espacio en una hoja de papel
Permite representar en forma fácil operaciones repetitivas complejas
Es muy fácil pasar de pseudocodigo a un programa en algún lenguaje de programación.
Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
36
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Algoritmo Producto
Var
P, num: entero
Inicio
P1
Leer num
Mientras num >=0 hacer
P p*num
Leer num
Fin mientras
Escribir p
Fin
37
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 3.
ESTRUCTURAS SECUENCIALES
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente
hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
.
AccionN
Fin
Es cuando una instrucción sigue a otra en secuencia, es decir, la salida de una instrucción es la
entrada de la siguiente.
FLUJOGRAMA: PSEUDOCÓDIGO:
Leer num
Num num*2
Escribir num
3.1.1. Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede
clasificar de la siguiente forma:
Simples: Consiste en pasar un valor constate a una variable (a=15)
Contador: Consiste en usarla como un verificador del numero de veces que se realiza un
proceso (a=a+1)
Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)
De trabajo: Donde puede recibir el resultado de una operación matemática que involucre
muchas variables (a=c+b*2/4).
3.1.2. Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor.
Esta operación se representa en un pseudocodigo como sigue:
Leer a, b
Donde “a” y “b” son las variables que recibirán los valores
3.1.3. Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado
o mensaje. Este proceso se representa en un pseudocodigo como sigue:
38
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene
un valor.
1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara
después de un mes si el banco paga un interés del 2% mensual.
Inicio
Inicio Cap_in
Leer cap_inv v
gan = cap_inv * 0.02
Imprimir gan gan = cap_inv * 0.02
Fin
gan
fin
2) Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea
saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el
total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
Inicio Inicio
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
Sb,v1,v2,
com = tot_vta * 0.10 v3
tpag = sb + com
Imprimir tpag, com tot_vta = v1 + v2 + v3
Fin com = tot_vta * 0.10
tpag = sb + com
Tpag, com
fin
3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto
deberá pagar finalmente por su compra.
39
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio Inicio
Leer tc
d = tc *
tc
0.15
tp = tc - d
Imprimir tp
Fin d = tc * 0.15
tp = tc - d
tp
fin
4) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación
se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
tp
fin
5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de
estudiantes.
40
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Inicio
Leer nh, nm
Nh,nm
ta = nh + nm
ph = nh * 100 /
ta ta = nh + nm
pm = nm * 100 / ph = nh * 100 / ta
ta pm = nm * 100 / ta
Imprimir ph, pm
Fin
Ph,pm
fin
Inicio
Inicio
Leer fnac, fact fnac,
edad = fact - fnac fact
Imprimir edad
Fin edad = fact - fnac
edad
fin
41
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
42
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 4.
ESTRUCTURAS SELECTIVAS O CONDICIONALES
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al
resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la
comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen dos
tipos básicos, las simples y las múltiples.
4.1.1 Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas
tomas de decisión tienen la siguiente forma:
Si <condición> entonces
Acción(es)
Fin-si
4.1.2. Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una determinada condición. Se representa de la
siguiente forma:
Si <condición> entonces
Acción(es)
caso contrario
Acción(es)
Fin-si
Donde:
Si ………………… Indica el comando de comparación
Condición………… Indica la condición a evaluar
entonces……..…… Precede a las acciones a realizar cuando se cumple la condición
acción(es)………… Son las acciones a realizar cuando se cumple o no la condición
caso contrario……………… Precede a las acciones a realizar cuando no se cumple la condición
FLUJOGRAMA: PSEUDOCÓDIGO:
Si No
Condicion Sí <condición>
Entonces <acciones>
Accciones Acciones Sino <acciones>
Fin si
43
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
4.1.3. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que
permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso
una serie de instrucciones específicas. La forma común es la siguiente:
Si <condición> entonces
Acción(es)
caso contrario
Si <condición> entonces
Acción(es)
caso contrario
.
. Varias condiciones
.
Forma General
Casos Variable
Op1: Acción(es)
Op2: Acción(es)
.
.
OpN: acción
Fin-casos
Problemas Condicionales
4.2. PROBLEMAS
Problemas Selectivos Simples
1) Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene
en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a Bs.7000, y
en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.
Pseudocódigo Diagrama de Flujo
Inicio
Inicio
Leer p_int, cap P_int , cap
inte = cap * p_int
si inte > 7000 entonces inte= cap*p_int
capf = cap + inte
fin-si
Imprimir capf NO SI
Inte>700
fin 0 Capf= cap+inte
capf
fin
2) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres
calificaciones es mayor o igual a 70; reprueba en caso contrario.
44
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Inicio
Leer calif1, calif2, calif3 calif1,calif2, calif3
prom = (calif1 + calif2 +
calif3)/3 prom= (calif1+calif2+calif3)/3
Si prom >= 70 entonces
Imprimir “alumno
aprobado” NO SI
prom>70
caso contrario
Imprimir “alumno
“Alumno reprobado” “alumno aprobado”
reprobado”
Fin-si
Fin
fin
3) En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿ Cual será
la cantidad que pagara una persona por su compra?
Pseudocódigo Diagrama de Flujo
Inicio
Inicio compra
Leer compra
Si compra > 1000 entonces
NO SI
desc = compra * 0.20 Int>1000
caso contrario
Desc = 0 Desc=compra*0.2
desc = 0 0
fin-si
tot_pag = compra - desc Tot_pag=compra - Desc
imprimir tot_pag
fin.
Tot_pag
fin
45
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio ht
Leer ht
Si ht > 40 entonces
NO SI
he = ht - 40 ht>40
ss = he * 20 + 40 * 16
ss=ht*16 he=he-20+40*16
caso contrario ss=he*20+40*16
ss = ht * 16
Fin-si
Imprimir ss Tot_pag
Fin
fin
fin
46
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
6) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas calorías consume
su cuerpo durante todo el tiempo que realice una misma actividad. Las actividades que tiene permitido
realizar son únicamente dormir o estar sentado en reposo. Los datos que tiene son que estando dormido
consume 1.08 calorías por minuto y estando sentado en reposo consume 1.66 calorías por minuto.
Pseudocódigo Diagrama de Flujo
Inicio Inicio
Leer act$, tiemp
Si act$ = “dormido” act$,
entonces tiemp
cg = 1.08 * tiemp
caso contrario
cg = 1.66 * tiemp NO act$ = SI
“dormido”
fin-si
Imprimir cg
Fin cg = 1.66 * tiemp cg = 1.08 * tiemp
cg
fin
7) Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con
descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave
es 02 el descuento en del 20% (solo existen dos claves).
Pseudocódigo Diagrama de Flujo
Inicio
Inicio
Leer nomb, cve, prec_orig
nomb, cve,
Si cve = 01 entonces
prec_desc = prec_orig - prec_orig * prec_orig
0.10
caso contrario NO cve = 01 SI
prec_desc = prec_orig - prec_orig *
0.20
fin-si prec_desc = prec_orig - prec_orig * prec_desc = prec_orig - prec_orig *
Imprimir nomb, cve, prec_orig, prec_desc 0.20 0.10
fin
nomb, cve,
prec_orig, prec_desc
fin
8) 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%
Pseudocódigo Diagrama de Flujo
47
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Leer num_camisas, prec Inicio
tot_comp = num_camisas * prec
Si num_camisas > = 3 entonces num_camisas,
tot_pag = tot_comp - tot_comp * 0.20 prec
caso contrario
tot_pag = tot_comp - tot_comp * 0.10 tot_comp = num_camisas * prec
fin-si
Imprimir tot_pag
fin
NO num_camisas > = SI
3
tot_pag
fin
9) Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica de refacciones.
La empresa, dependiendo del monto total de la compra, decidirá que hacer para pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de
su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara
solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendrá capacidad de invertir de
su propio dinero un 70% y el restante 30% lo pagara solicitando crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crédito.
48
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Leer costopza, numpza Inicio
totcomp = costopza * numpza
Si totcomp > 500 000 entonces costopza, numpza
cantinv = totcomp * 0.55
préstamo = totcomp * 0.30
crédito = totcomp * 0.15 tot_comp = num_camisas * prec
caso contrario
cantinv = totcomp * 0.70
crédito = totcomp * 0.30
NO SI
préstamo = 0 totcomp > 500
fin-si 000
int = crédito * 0.20
Imprimir cantinv, préstamo,
crédito, int cantinv = totcomp * 0.70 cantinv = totcomp * 0.55
crédito = totcomp * 0.30 préstamo = totcomp * 0.30
Fin préstamo = 0 crédito = totcomp * 0.15
cantinv,préstamo,
crédito, int
fin
49
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Leer num1, num2
Si num1 = num2 entonces Inicio
resul = num1 * num2
caso contrario num1, num2
Si num1 > num2 entonces
resul = num1 - num2
caso contrario NO SI
resul = num1 + num2 num1 =
fin-si num2
fin-si
Imprimir resul resul = num1 * num2
NO num1 >
fin num2
SI
resul
fin
50
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio
Leer num1, num2, num3
Si (num1 > num2) and (num1 > num3) Inicio
entonces
mayor = num1
caso contrario num1,
Si (num2 > num1) and (num2 > num3) num2,num3
entonces
mayor = num2 NO SI
num1 > num2
caso contrario AND
mayor = num3 num1>num3
fin-si
fin-si mayor = num1
Imprimir mayor NO Num2 > num1 SI
AND
fin num2>num3
mayor
fin
3) Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas
en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas
extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden
de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
Inicio
Leer ht, pph
Si ht < = 40 entonces
tp = ht * pph
caso contrario
he = ht - 40
Si he < = 8 entonces
pe = he * pph * 2
caso contrario
pd = 8 * pph * 2
pt = (he - 8) * pph * 3
pe = pd + pt
fin-si
tp = 40 * pph + pe
fin-si
Imprimir tp
fin
4) 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
51
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
6) El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen tres tipos de
jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas a la jubilación
por edad deben tener 60 años o mas y una antigüedad en su empleo de menos de 25 años. Las
52
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en
su empleo de 25 años o mas.
Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o mas y una
antigüedad en su empleo de 25 años o mas.
Determinar en que tipo de jubilación, quedara adscrita una persona.
Inicio
leer edad,ant
si edad >= 60 and ant < 25 entonces
imprimir “la jubilación es por edad”
caso contrario
si edad >= 60 and ant > 25 entonces
imprimir “la jubilación es por edad adulta”
caso contrario
si edad < 60 and ant > 25 entonces
imprimir “la jubilación es por antigüedad joven”
caso contrario
imprimir “no tiene por que jubilarse”
fin-si
fin-si
fin-si
fin
53
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 5.
ESTRUCTURAS REPETITIVAS
5.1. Estructuras Repetitivas
54
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
1) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la
semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por
comisiones de sus ventas. El gerente de su compañía desea saber cuanto dinero obtendrá en la
semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto
tomando en cuenta su sueldo base y sus comisiones.
Inicio Inicio
Leer n
C = 0
Hacer mientras c < n n
Leer sb, v1, v2, v3
tot_vta = v1 + v2 +
v3 C=0
com = tot_vta * 0.10
tpag = sb + com NO
Imprimir tpag, com C< N
C = c + 1 SI
Fin_ Mientras
Sb,v1,v2,
Fin
v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
C = C + 1
Tpag, com
fin
55
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
2) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran
en ella. El salario se obtiene de la siguiente. forma:
Si el obrero trabaja 40 horas o menos se le paga $20 por hora
Si trabaja más de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por
cada hora extra.
Pseudocódigo Diagrama de Flujo
Inicio Inicio
Leer n
C = 0
Hacer mientras c < n n
Leer HT
SI ht <= 40 entonces
ss = ht * 20 C=0
Caso contrario
He = ht -40 NO
ss = ht * 20 + he C< N
* 25 SI
fin si
Imprimir ss HT
C = c + 1
Fin_ Mientras
Fin HT<=4
0
HE = HT - 40 SS=HT *20
SS = HT *20 + HE*25
SS
C = C + 1
fin
56
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio Inicio
Leer n
C = 0; cm=0; cv=0 n
Hacer mientras c < n
Leer (sexo)
SI sexo <= “Varón” C=0
entonces CV =0
cv = cv + 1 CM =0
Caso contrario
Cm = cm +1 NO
fin si C< N
C = c + 1
SI
Fin_ Mientras
Imprimir (cv,cm) SEXO
Fin
SEXO =
“VARON”
CM = CM +1 CV = CV+1
C = C + 1
CV , CM
fin
4) El Departamento de Seguridad Publica y Transito del D.F. desea saber, de los n autos que
entran a la ciudad de México, cuantos entran con calcomanía de cada color. Conociendo el último
dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la
sig. relación:
DÍGITO COLOR
1o2 amarilla
3o4 rosa
5o6 roja
7o8 verde
9o0 azul
5.1.2. Repetir-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite un
proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta
que la condición se cumple y no mientras, como en el Hacer-Mientras. Por otra parte, esta estructura
permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso,
mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condición no se cumple
desde un principio. La forma de esta estructura es la siguiente:
Repetir
Accion1 CUERPO DEL
Accion2 CICLO
57
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
.
. NO
AccionN CONDICION
Hasta <condición>
SI
2) En un supermercado una ama de casa pone en su carrito los artículos que va tomando de los
estantes. La señora quiere asegurarse de que el cajero le cobre bien lo que ella ha comprado, por
lo que cada vez que toma un articulo anota su precio junto con la cantidad de artículos iguales
que ha tomado y determina cuanto dinero gastara en ese articulo; a esto le suma lo que ira
gastando en los demás artículos, hasta que decide que ya tomo todo lo que necesitaba. Ayúdale a
esta señora a obtener el total de sus compras.
3) un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de dinero que el
teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de
5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se
hacen tomando en cuenta el siguiente cuadro:
Edad Descuento
Categoría 1 5 - 14 35 %
Categoría 2 15 - 19 25 %
Categoría 3 20 - 45 10 %
Categoría 4 46 - 65 25 %
Categoría 5 66 en adelante 35 %
58
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio Inicio
Sum=0
Leer Nom
Sum = 0
Hacer para c = 1 a 7
Leer calif
Sum = sum + calif Nom
Fin-para
prom = sum /7
Imprimir prom C=1 to 7, 1 si
Fin. no
Calif
prom = sum /7
prom
fin
59
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Inicio Inicio
Hacer para n = 1 a 10
Leer num
cubo = num * num * n=1 to 10, 1 si
num
cuarta = cubo * num no
Imprimir cubo, cuarta num
Fin-para
Fin.
cubo = num*num*num
cuarta = cubo*num
Cubo,cuarta
fin
NO
num > 0 SI
num
fin
4) Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros.
Inicio
cn = 0
cp = 0
cneg = 0
Hacer para x = 1 a 20
Leer num
60
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
61
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Fin-para
Fin-para
Fin-para
fin.
2.- Diseñe un diagrama que lea los 2,500,000 votos otorgados a los 3 candidatos a gobernador e
imprima el número del candidato ganador y su cantidad de votos.
3.- Suponga que tiene usted una tienda y desea registrar las ventas en una computadora. Diseñe
un pseudocódigo que lea por cada cliente, el monto total de su compra. Al final del día escriba la
cantidad total de las ventas y el número de clientes atendidos.
4.- Suponga que tiene una tienda y desea registrar sus ventas por medio de una computadora.
Diseñe un pseudocódigo que lea por cada cliente:
a).- el monto de la venta,
b).- calcule e imprima el IVA ,
c).-calcule e imprima el total a pagar,
d).- lea la cantidad con que paga el cliente,
e).-calcule e imprime el cambio.
Al final del día deberá imprimir la cantidad de dinero que debe haber en la caja.
62
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
UNIDAD 6
ARREGLOS
Hasta aquí se han visto distintos tipos de estructuras de control. A partir de este punto se verá la
aplicación de las mismas a distintos tipos de problemas.
6.1. Estructura de datos:
Una estructura de datos es una colección de datos que pueden ser caracterizados por su
organización y las operaciones que se definen en ella.
Dentro de ellas encontramos distintos tipos, los tipos de datos más frecuentes en los
diferentes lenguajes son:
Tipos de datos
entero (integer)
Estándar real (real)
carácter (char)
simples lógico (boolean)
arrays (vectores/matrices)
registros
simples o estáticos ficheros
conjuntos
estructurados cadenas (string)
listas (pilas/colas)
compuestos o dinámicos listas enlazadas
árboles
grafos
Las estructuras estáticas son aquellas en las que el tamaño de memoria ocupado se define antes
de que el programa se ejecute y no puede modificarse durante la ejecución
Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en memoria se
define antes que el programa se ejecute y no pueda modificarse dicho tamaño durante la ejecución
del programa. Estas estructuras son: Vectores, matrices, registros y archivos.
Las estructuras dinámicas son aquellas en las que no se debe definir previamente el tamaño de
memoria
63
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
Los subíndices 1, 2, k, n, indican la posición del elemento, en Pascal van entre corchetes. El primer
elemento es el 5, el segundo es el 8, el elemento k es 7 y el enésimo es 3.
X(1), X(2),.......,X(n)
- Asignación.
- Lectura/escritura.
- Recorrido (acceso secuencial)
- Actualizar (añadir, borrar)
- Ordenación.
- Búsqueda.
Las operaciones implican el procesamiento o tratmiento de los elementos individuales del vector.
Ejemplos:
En el vector se almacenarán nombres de personas por ello se llama nombre, y es de tipo caracter.
64
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
6.3.1. Asignación :
Ejemplos:
A(20)<-------5 asigna el valor de 5 al elemento 20 del vector A.
A(2)<--------8 asigna el valor de 8 al elemento 2 del vector A
Se puede acceder a los elementos de un vector para introducir datos (escribir) en el o bien para
visualizar su contenido (leer).
añadir elementos
insertar elementos
borrar elementos
Se denomina añadir datos a un vector la operación de adicionar un nuevo elemento al final del
vector. La condición única para esta operación consistirá en la comprobación de espacio de
memoria suficiente para el nuevo vector. Esto se define a principio de programa.
- Bidimensionales.
- Multidimensionales.
65
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
El array bidimensional se puede considerar como un vector de vectores, también todos del mismo
tipo, en el cual el orden de los componentes es significativos.
Para identificar cada elemento se especifican dos subíndices, por fila y por columna.
Estos arrays tienen un tamaño o dimensión.
Si I es indicador de fila
J es el indicador de columna
=> I = 1,..N
J= 1,...M
Para la matriz llamada B se tiene la dimensión:
A(L1:U1,L2:U2,.....,Ln:Un)
A(I1, I2,...,In)
donde cada subíndice esta dentro de los límites adecuados:
Los lenguajes de programación nos proporcionan medios eficaces para almacenar y acceder a los
elementos de los arrays, de modo que el programador no tenga que ocuparse sobre los detalles
específicos de almacenamiento. El almacenamiento en la computadora esta dispuesto en
secuencia contigua.
A(1)
66
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
B + (I-S)*S
IV. BIBLIOGRAFÍA
LISTADO DE TEXTOS
DIRECCIONES WEB.
V. GLOSARIO.
A
Algoritmo Conjunto de pasos ordenados o procedimientos para resolver un
Problema.
67
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
B
Base de Datos 1. Colección integrada de datos almacenados en un dispositivo
de almacenamiento de acceso directo.
2. Software de aplicación que le permite al usuario introducir,
actualizar y extraer información, así como organizar y buscar
esos datos de múltiples maneras.
BASIC Acrónimo de Beginners All-purpose Symbolic Instruction Code,
Código de instrucciones simbólicas de propósito general para
principiantes: Lenguaje de Programación muy popular y fácil de
usar por principiantes; desarrollado en 1964.
Bit Acrónimo de "BInary digiT", digito binario: segmento
individual
de datos; ya sea un 0 o un 1.
Bit de paridad Bit adicional en un byte usado para detectar errores, usado en la
versión original de ASCII.
C
Carácter 1. Un número, letra, símbolo o signo de puntuación.
2. Una sola variable de 8 bits.
CD-ROM Acrónimo de Compact Disk-Read Only Memory, Disco
compacto, memoria de solo lectura.
El dispositivo más común de almacenamiento óptico, donde un
láser lee superficies y hoyos de la superficie de un disco (como
un CD de música); puede almacenar hasta 640 MB pero no se
puede escribir en él; Actualmente han salido nuevos que ya
permiten la lectura y escritura pero requieren de una unidad
especial de CD ROM llamada CD Writer, CDWR
68
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
D
Datos Información, números, letras o símbolos que se convierten en
información útil cuando son procesados.
Densidad Medida de la calidad de la superficie de un disco; a más alta
densidad, más estrechamente se almacenan las partículas de
oxido de hierro y más datos pueden ser grabados en el disco.
Dirección de memoria Número que indica una localidad en los chips de memoria para
que la computadora pueda encontrar datos rápidamente sin tener
que buscar secuencialmente en toda la memoria.
Disco Duro Un disco magnético oculto, no removible, que se incluye con la
mayoría de las PC; pila de discos magnéticos, cada uno recubierto
con óxido de hierro, que giran sobre un eje y están encapsulados
en un recinto sellado; puede almacenar mucha más información
que un disco flexible y es usado para guardar generalmente
grandes cantidades de datos.
69
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
E
E-mail Abreviación de Electronic mail, correo electrónico.
F
Freeware Software disponible para uso sin costo alguno; puede o no tener
derecho de autor.
G
Graficador (Plotter): Dispositivo de Salida que crea imagines con un brazo
robotizado, usando plumas para trazar líneas en una hoja de papel;
utilizado comúnmente para diseño asistido por computadora y
gráficos de presentación.
H
Hardware Componentes físicos de una computadora, incluyendo el
procesador, memoria, dispositivos de entrada y salida y discos.
Hoja de Cálculo Software de aplicación que exhibe una rejilla grande de columnas
y filas, en la cual el usuario introduce texto, números y/o fórmulas
para cálculos; hoja contable computarizada u hoja de trabajo;
usada para cálculos y evaluación de números; puede crear
reportes y presentaciones para comunicar información; utilizada
para propósitos como análisis financieros, registros contables
además e captura y administración de datos.
I
Impresora Dispositivo de salida que produce una copia en papel.
1. Impresora de Inyección de tinta: Impresora que crea imágenes
directamente en papel por medio del rociado de tinta; tiene una
calidad y velocidad mayores que el de las impresoras de matriz
de punto, pero menores que las de las impresoras láser.
2. Impresora de Matriz de Punto: El primer tipo de impresora
comúnmente usada con PC; opera mediante le uso de alambres
(martinetes) que pegan sobre el papel; ruidosa y con menor
calidad de impresión que otros tipos de impresoras; pero también
más barata.
70
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
K
KB Acrónimo de Kilobyte.
L
Lenguaje de Alto Nivel 1. Originalmente, cualquier lenguaje más fácil de entender
que el lenguaje máquina.
2. Actualmente usado para aquellos lenguajes más distantes del
código máquina que el lenguaje ensamblador; usa palabras con
mayor significado y frases, y posee facilidades para alterar el
flujo de programas.
Lenguaje de Máquina Programación de Bajo Nivel que consiste de una serie de
instrucciones codificadas que pueden ser ejecutadas directamente
por la CPU.
Lenguaje Ensamblador Lenguaje de Programación de Bajo Nivel que usa códigos de
programación en lugar de los 0 y 1 del lenguaje máquina.
M
MB Acrónimo de Megabyte, 1 024 kilobytes (1 048 576 bytes) de
Memoria.
Memoria Uno de los dos componentes de procesamiento (junto con el CPU)
de una computadora; área temporal de almacenamiento
construido dentro del equipo de cómputo; lugar donde se guardan
instrucciones y datos mientras son manipulados.
P
PC Acrónimo de Personal Computer, Computadora Personal.
71
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
R
RAM Acrónimo de Random Access Memory, Memoria de Acceso
Aleatorio.
Ratón (Mouse): Dispositivo de entrada que permite al usuario poder
dibujar en la pantalla y controla el cursor por medio de un
apuntador y haciendo clic, mientras lo mueve sobre una superficie
plana; el usuario hace clic, doble clic, arrastra o apunta el ratón
para que trabaje.
Red Sistema de computadoras interconectadas que pueden
comunicarse entre sí y compartir aplicaciones y datos.
S
Salida Información generada por el procesamiento de datos de entrada.
72
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre – Lic. Flabio Beltrán Carrera: CONTADURÍA PÚBLICA
T
Teclado Dispositivo de entrada más común; permite al usuario introducir
letras, números o símbolos, caracteres de puntuación y
comandos en una computadora.
Tarjeta de Sonido Dispositivo que produce sonidos y que generalmente, provee
salidas en la parte trasera de una computadora para bocinas
externas.
Tarjeta de Video Tarjeta que procesa imágenes de video y provee puertos para
tener o dar acceso por una video reproductora o una cámara de
video.
Tarjeta Principal o Principal tarjeta del sistema de una computadora, donde se
encuentran la CPU y la memoria; la mayoría también tiene
Tarjeta onectores para tarjetas que se pueden agregar por medio de
Madre ranuras de expansión.
U
Unidad Aritmético (ALU): Una de las dos partes básicas (junto con la Unidad de
Lógica Control) de un CPU, maneja operaciones aritméticas, como la
suma de números, y operaciones lógicas, tal como la comparación
numérica.
Unidad de Control Una de las dos partes básicas (junto con la ALU) de una CPU;
contiene instrucciones para llevar a cabo las actividades de una
computadora.
Unidad de Procesamiento (CPU): El componente (comúnmente conocido como chip) que
realiza la función de procesamiento, localizado en la tarjeta
Central principal, que interpreta y ejecuta instrucciones de un programa
y se comunica con dispositivos de entrada, salida y de
almacenamiento.
V
Variable Parte de la memoria de una computadora que un programa se
reserva para su propio uso; número de bytes de memoria que
puede contener un valor que puede cambiar; carácter, punto
flotante, número entero largo, serie.
73