Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/338344853
Introducción a la Programación
CITATIONS READS
0 2,318
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Hamilton Omar Pérez Narváez on 02 January 2020.
2
Hamilton Omar Pérez N. / José Luis Cazarez V.
Introducción a la
PRO
GRAMA
CIÓN
3
INTRODUCCIÓN A LA PROGRAMACIÓN
Programación I
Autores
© Hamilton Omar Pérez N.
© José Luis Cazarez V.
Editorial:
PUMAEDITORES
ISBN:
978-9942-8648-3-3
Primera Edición
Quito – Ecuador
2017
4
Hamilton Omar Pérez N. / José Luis Cazarez V.
COMITÉ EDITORIAL
5
INTRODUCCIÓN A LA PROGRAMACIÓN
6
Hamilton Omar Pérez N. / José Luis Cazarez V.
Contenidos
Introducción 9
UNIDAD I 11
Definiciones básicas 11
Informática 12
Partes del computador 16
Unidades y dispositivos de entrada 16
Tipos de microprocesadores y reseña histórica 27
Versiones posteriores 34
Procesador serie I 35
Memorias 38
Memorias principales 38
Memorias Auxiliares 43
Tipos de fuente de poder 51
Funcionamiento 54
UNIDAD II 61
Los algoritmos 61
Objetivos 61
Algoritmos 62
Características 63
Flujogramas 67
Pseudocódigo 70
UNIDAD III 94
Introducción a Lenguaje C 94
LENGUAJE C 95
Historia y diferencia entre C Y C++ 95
Depuración o corrección de los errores 106
Estructura general de un programa C ++ 109
Ejercicios propuestos 120
Sentencias de selección y repetición en c++ 120
Bibliografía y Netgrafía 154
7
INTRODUCCIÓN A LA PROGRAMACIÓN
8
Hamilton Omar Pérez N. / José Luis Cazarez V.
Introducción
La extraordinaria versatilidad en las computadoras en todos
los campos de la actividad humana, así como su progresiva
miniaturización, han hecho posible que traspasaran el umbral de
grandes cálculos y el uso restringido de una casta de especialistas,
los programadores para convertirse en la herramienta obligada
del gran público.
9
INTRODUCCIÓN A LA PROGRAMACIÓN
10
Hamilton Omar Pérez N. / José Luis Cazarez V.
UNIDAD I
Definiciones básicas
“Leer es la
clave para el
Objetivos
éxito académico en
cualquier nivel”
• Mejorar el vocabulario de los
estudiantes acerca de términos
informáticos más utilizados.
11
INTRODUCCIÓN A LA PROGRAMACIÓN
Informática
Las extraordinarias posibilidades abiertas por las llamadas autopistas de la
comunicación y ciberespacio nos acercan rápidamente a la información se dice
actualmente que casi todo “está a un clic nada más”. En la actualidad se hace
necesario revisar su definición puesto que se han modificado o algunas se asumen
como similares sin serlo y pueden conducirnos a graves errores de comprensión.
Como está claro que Computación es una rama de esta ciencia y se encarga
fundamentalmente del manejo de los computadores a nivel de software y hardware;
y la Informática tiene aplicaciones y un radio de acción muy amplio.
• Bit (b): Acrónimo de Binary digit. Es la mínima unidad que se puede almacenar
de información y puede poseer un valor de cero o uno, que a su vez puede
representarse con una pulsación eléctrica o con un punto en el disco magnético.
12
Hamilton Omar Pérez N. / José Luis Cazarez V.
La tabla 1 nos permite comprender de mejor manera este sistema con sus múltiplos:
Tabla 1
Bit B 0, 1
Byte B 8 bits
Kilobyte KB 1024 B
Elaboración: propia
13
INTRODUCCIÓN A LA PROGRAMACIÓN
Si vamos de una unidad mayor a una menor debemos multiplicar por 1024 y por
el contrario si vamos a transformar de una unidad menor a otra mayor debemos
dividir para 1024; existe una excepción que corresponde al caso cuando partimos o
deseamos llegar a bits en cuyo caso se trabaja con un ocho en la parte superior o
inferior según corresponda.
14
Hamilton Omar Pérez N. / José Luis Cazarez V.
Actividades
• 2500KB a bits
• 90000MB a TB
• 180 GB a bits
• 2000000b a MB
3. Explique ¿por qué razón a pesar de ser kilo mil en el caso de kilobytes
tenemos 1024B?
15
INTRODUCCIÓN A LA PROGRAMACIÓN
En su parte interna se ubica una lámina en la cual se colocan unos sensores, estos
envían una señal a un chip dentro del propio teclado, que posee registros binarios
estándar para cada coordenada de los sensores, este registro se activa cuando se
pulsa una tecla.
Desde el inicio de la era del IBM PC el teclado ha ido evolucionando. Los primeros
tenían 83 teclas. Eran conocidos como teclados PC/XT. Este tipo de teclados sólo
pueden utilizarse en los ordenadores del tipo XT.
Figura 1. Teclado
16
Hamilton Omar Pérez N. / José Luis Cazarez V.
El teclado AT surgió con la aparición de los IBM PC AT. Este modelo ya disponía
de indicadores luminosos y de una tecla más: Petsis o SysReq, que se utilizaba en
antiguas aplicaciones multiusuario.
Después de esta última mejora del estándar, algunos fabricantes variaron el diseño
del teclado AT, incorporando calculadoras que duplicaron las teclas de función
que eran programables. En la actualidad se han desarrollado nuevos teclados
atendiendo principalmente la ergonomía, los llamados multimedia, es así como
aparecen nuevas teclas para mejorar su eficiencia al trabajar con Windows o
Internet; así como se implementan los sensores infrarrojos para utilizar teclados
inalámbricos. Atendiendo a la ergonomía, es aconsejable que disponga de una
amplia zona en la parte anterior para descansar las muñecas. Y hablando de la
ergonomía, este es uno de los parámetros que más destaca en un teclado, uno de
los ya clásicos en este aspecto es el Natural keyboard”de Microsoft.
• Teclas especiales o de sistema: son teclas que son propias de cada sistema
y generalmente para funcionar deben combinarse, se encuentran esparcidas
por la periferia del teclado. Ejemplo: Ctrl., Esc, Shift, etc.
17
INTRODUCCIÓN A LA PROGRAMACIÓN
Actividades
18
Hamilton Omar Pérez N. / José Luis Cazarez V.
El mouse
Figura 2. Mouse
19
INTRODUCCIÓN A LA PROGRAMACIÓN
Actividades
3. Mediante una tabla de resumen señale que tipo de conector puede utilizar un
Mouse inalámbrico y óptico.
20
Hamilton Omar Pérez N. / José Luis Cazarez V.
Los escáneres son periféricos diseñados para registrar caracteres escritos o gráficos
en forma de fotografías o dibujos impresos en una hoja de papel facilitando su
introducción en la computadora convirtiéndolos en información binaria comprensible
para esta. Es decir, realiza una transformación de información a digital. Actualmente
este dispositivo tiene muchas aplicaciones principalmente en la medicina para la
evaluación de órganos.
Figura 3. Escáner
El funcionamiento cambia un poco según sea el tipo de escáner que puede ser:
Otros escáneres funcionan pasando las hojas de papel sobre un dispositivo fijo de
barrido, como ocurre en las máquinas de fax convencionales. Algunos escáneres
especializados utilizan para el barrido una cámara de vídeo, convirtiendo la imagen
de vídeo a señales digitales. Un tipo de escáner que ya apenas se utiliza es el
escáner de mano, también llamado hand-held, porque el usuario sujeta el escáner
con la mano y lo desplaza sobre el documento. Estos escáneres eran baratos,
pero resultaban algo limitados porque no podían leer documentos con una anchura
mayor a 12 o 15 centímetros.
21
INTRODUCCIÓN A LA PROGRAMACIÓN
Lápiz óptico
Son dispositivos de introducción de datos que trabajan directamente con la pantalla
de la computadora, señalando puntos en ella y realizando operaciones de manejo
de software.
Para operar con el lápiz óptico se coloca éste sobre la pantalla del sistema
informático. En el momento en que el cañón de rayos catódicos de la pantalla barre
el punto sobre el que se posesiona el lápiz, éste envía la información a un software
especial que la maneja. Los lápices ópticos permiten la introducción de datos, el
manejo del curso, etc.
Módem
Significa modulador - demodulador es dispositivo que transforma las señales lógicas
en digitales y viceversa para permitir la comunicación entre los computadores.
22
Hamilton Omar Pérez N. / José Luis Cazarez V.
El computador envía señales digitales al módem que para enviarlas por la línea
telefónica debe transformarlas a señales analógicas similares al de un teléfono de
marcación de tonos al llegar a su destino este proceso se invierte.
Actividades
1. Escriba dos definiciones de analógico y digital. Señale apropiadamente las
fuentes de consulta.
23
INTRODUCCIÓN A LA PROGRAMACIÓN
24
Hamilton Omar Pérez N. / José Luis Cazarez V.
Unidad de control
Está ubicada dentro del procesador. Es la encargada de localizar, regular, analizar
y dirigir la información e interpreta las instrucciones. Sus funciones principales
son:
El coprocesador matemático
Llamado también Unidad de coma Flotante (FPU por sus siglas en inglés Floating
Point Unit). Parte del micro especializado en esa clase de cálculos matemáticos
así el microprocesador se encargue de los demás procesos y hacer más eficiente
el sistema; puede encargarse de operaciones como la aritmética de punto flotante,
gráficos, procesamiento de señales, procesamiento de cadenas, encriptación, del
filtro de Savitzky-Golay (método para cálculo de derivadas), etc.
25
INTRODUCCIÓN A LA PROGRAMACIÓN
La memoria caché
Es una memoria ultrarrápida que emplea el micro para tener a mano ciertos datos
que previsiblemente serán utilizados en las siguientes operaciones sin tener que
acudir a la memoria RAM, reduciendo el tiempo de espera.
Aparece desde el 486 que poseen al menos la llamada caché interna de primer
nivel o L1; es decir, la que está más cerca del micro, tanto que está encapsulada
junto a él. Los micros más modernos Pentium IV Coppermine, Athlon Thunderbird,
etc.) incluyen también en su exterior otro nivel de caché, más grande, aunque algo
menos rápida, la caché de segundo nivel o L2. Debido al doble núcleo actualmente
en los computadores se habla de L3 y L4 en memoria caché
Existen otras partes (unidad de enteros, registros, etc.) que no son necesarias
detallar en este nivel.
Actividades
26
Hamilton Omar Pérez N. / José Luis Cazarez V.
Figura 5. Microprocesadores
27
INTRODUCCIÓN A LA PROGRAMACIÓN
Apareció luego el 486, que era un 386 con algunas variantes como un
coprocesador matemático incorporado y una memoria caché integrada,
que le hacía más rápido; desde entonces todos los chips tienen ambos.
Procesadores Pentium
Pentium I
Pentium, un nombre inventado para evitar que surgieran 586s marca AMD
o Cyrix, ya que no era posible patentar un número, pero sí un nombre, lo que
aprovecharon para sacar fuertes campañas de publicidad del llamado “Intel Inside”.
El Pentium MMX
Es una mejora del anterior, al que se le ha incorporado un nuevo juego de
instrucciones (57 para ser exactos) orientado a mejorar el rendimiento en
aplicaciones multimedia, que necesitan mover gran cantidad de datos de
tipo entero, como pueden ser videos o secuencias musicales o gráficos 2D.
La gama MMX empieza en los 133 Mhz, pero sólo para portátiles, es decir la
versión SL. Para computadoras de sobremesa la gama empieza en los 166 Mhz,
luego viene el de 200 y finalmente el de 233 que utiliza un multiplicador de 3,5 y
que además necesita de algo más de corriente que sus compañeros.
28
Hamilton Omar Pérez N. / José Luis Cazarez V.
Resumiendo:
Pentium II
Este es de Intel. Básicamente es un Pentium Pro al que se ha sacado la
memoria caché de segundo nivel del chip y se ha colocado todo ello en un
tarjeta de circuito impreso, conectada a la placa a través de un conector
parecido al del estándar PCI, llamado Slot 1, y que se es utilizado
por dos tipos de cartuchos, el S.E.C. y el S.E.P.P. (el de los Celeron).
Figura 6. Pentium II
• Se comercializa en versiones que van desde los 233 hasta los 400 MHz.
29
INTRODUCCIÓN A LA PROGRAMACIÓN
• Los modelos de 0,35 µ pueden tener caché hasta 512 Mb, los de 0,25 hasta
4 GB.
Celeron
Este procesador ha tenido una existencia bastante difícil debido a los continuos
cambios de planes de Intel, su aparición tiene que ver con abaratar costos ante
competidores, se produjeron estos modelos hasta la aparición del Dual Core.
• Se comercializa en versiones que van desde los 266 MHz hasta los 2.8 GHz
30
Hamilton Omar Pérez N. / José Luis Cazarez V.
Pentium III
Sus diferencias con el Pentium II fueron escasas y pueden resumirse en las siguientes:
Se le han añadido las llamadas S.S.E. o Streaming SIMD Extensions, que fueron
70 nuevas instrucciones orientadas hacia tareas multimedia, especialmente en
3D. Estas extensiones son el equivalente a las 3D Now que lleva implementando
AMD desde hace tiempo en el K6-2, K6-III y Athlon y que también han incorporado
otros fabricantes como IDT en sus Winchip2 y 3; por supuesto, dicho juego de
instrucciones a pesar de realizar operaciones similares en estos procesadores son
totalmente incompatibles entre sí.
También es importante saber que las 3DNow, al llegar bastante tiempo en el mercado,
están ya soportadas por múltiples programas, sobre todo juegos, entre otras cosas
gracias al soporte por parte de Microsoft en sus DirectX. Otras características son:
• Se comercializa en versiones que van desde los 450 hasta los 800 MHz.
• Los modelos actuales todavía están fabricados con tecnología de 0,25 micras.
31
INTRODUCCIÓN A LA PROGRAMACIÓN
Pentium IV
Es un microprocesador de séptima generación basado en la arquitectura x86 y
fabricado por Intel. Es el primer microprocesador con un diseño completamente
nuevo desde el Pentium Pro de 1995. El Pentium IV original, denominado Willamette,
trabajaba a 1,4 y 1,5 GHz; y fue lanzado en noviembre de 2000.
Figura 7. Pentium IV
Willamette
Willamette, la primera versión del Pentium IV, sufrió de importantes demoras
durante el diseño. De hecho, muchos expertos aseguran que los primeros modelos
de 1,3, 1,4 y 1,5 GHz fueron lanzados prematuramente para evitar que se extienda
demasiado el lapso de demora de los Pentium IV. Fueron fabricados utilizando un
proceso de 180 nanómetros y utilizaban el Socket 423 para conectarse a la placa
madre. Vendió una cantidad moderada de unidades.
32
Hamilton Omar Pérez N. / José Luis Cazarez V.
Northwood
En octubre de 2001, el Athlon XP reconquistó el liderazgo en la velocidad de los
procesadores, pero en enero de 2002 Intel lanzó al mercado los nuevos Northwood
de 2,9 y 2,2 GHz. Esta nueva versión combina un incremento de 256 Kb a 512
Kb en la memoria caché con la transición a la tecnología de producción de 130
nanómetros. Al estar el microprocesador compuesto por transistores más pequeños,
podía alcanzar mayores velocidades y a la vez consumir menos energía. El nuevo
procesador funcionaba con el Socket 478, el cual se había visto en los últimos
modelos de la serie Willamette.
Prescott
El primero de febrero de 2004, Intel introdujo una nueva versión de Pentium 4
denominada Prescott. Se utiliza en su manufactura un proceso de fabricación de
90 nanómetros y además se hicieron significativos cambios en la arquitectura del
microprocesador, por lo cual muchos pensaron que Intel lo promocionaría como
Pentium V. A pesar de que un Prescott funcionando a la misma velocidad que un
Northwood rinde menos, la renovada arquitectura del Prescott permite alcanzar
mayores velocidades y el overclock es más viable. El modelo de 3,8 GHz es el más
veloz de los que hasta ahora han entrado en el mercado.
33
INTRODUCCIÓN A LA PROGRAMACIÓN
Sin embargo, los primeros Prescott producían un 60% más de calor que un
Northwood a la misma velocidad, y por ese motivo muchos lo criticaron con dureza.
Se experimentó con un cambio en el tipo de zócalo (de Socket 478 a LGA 775) lo
cual incrementó en un 10% el consumo de energía del microprocesador, pero al ser
más efectivo el sistema de refrigeración de este zócalo, la temperatura final bajó
algunos grados. En posteriores revisiones del procesador, los ingenieros de Intel
esperaban reducir las temperaturas, pero esto nunca ocurrió fuera salvo a bajas
velocidades.
Finalmente, los problemas térmicos fueron tan severos, que Intel decidió abandonar
la arquitectura Prescott por completo, y los intentos de hacer correr por encima de
los 4 GHz fueron abandonados, como un gasto inútil de recursos internos. El más
rápido es el 570J, funcionando a 3,8 GHz. Los planes para microprocesadores de
4 o más GHz fueron cancelados y se les dio prioridad a los proyectos para fabricar
procesadores dobles en gran medida debido a los problemas de consumo energía
y producción de calor de los modelos Prescott.
Versiones posteriores
Tejas y Jayhawk
Tejas era el nombre que Intel le había dado al microprocesador que sería el sucesor
de los Prescott. Jayhawk sería un procesador similar al Tejas pero que estaría
preparado para funcionar en máquina duales (es decir, una computadora con dos
procesadores, no es lo mismo que los procesadores dobles). Sin embargo, en mayo
de 2004, ambos proyectos fueron cancelados. De este modo, Intel remarcó el giro
hacia los procesadores dobles.
Doble Procesador
Intel tenía planeadas tres variantes con doble procesador del Pentium IV. La
primera es denominada Paxville, que consiste en poco más que dos procesadores
Prescott colocados en el mismo substrato. Le siguió Dempsey que tiene una
interfaz de bus especial para conectar a los dos microprocesadores. Smithfield es
el tercero. Luego aparecerían prototipos no muy exitosos como Pentium D, Core 2.
34
Hamilton Omar Pérez N. / José Luis Cazarez V.
Los procesadores han sido comparados con los más potentes procesadores hasta
el momento de AMD, que hasta la fecha de salida de Intel eran los procesadores
más rápidos disponibles, y los procesadores Conroe presumieron de una ejecución
mucho más rápida de hasta un 40 por ciento más potente que procesador Pentium
IV, y con un consumo 40 por ciento menor que este.
Procesador serie I
Intel Core 2
Se refiere a una gama de CPU comerciales de Intel de 64 bits de doble núcleo y CPU
2x2 MCM (Módulo Multi-Chip) de cuatro núcleos con el conjunto de instrucciones
x86-64, basado en el Core microarchitecture de Intel, derivado del procesador
portátil de doble núcleo de 32 bits Yonah.
• Socket T, M, P, Micro-FCBGA
35
INTRODUCCIÓN A LA PROGRAMACIÓN
• Procesador a 64 bits
• Instrucciones x86-64
• Líneas
• Extreme
Intel Core 3
Es una línea de microprocesadores Intel de gama baja fabricados a 32 nm, los
primeros se empezaron a comercializar a principios de 2010.
• 2 núcleos y 4 subprocesos
• Caché de 3 y 4 Mb
• Tecnología Hyper-Threading
Intel Core 5
Es un procesador de 2,66 GHz Lynnfield cuádruple núcleo con tecnología Hyper-
Threading desactivada. Los Core i5 Lynnfield tienen una caché L3 de 8 MiB,
un bus DMI funcionando a 2,5 GT/S y soporte para memoria en doble canal
DDR3-800/1066/1333. Los mismos procesadores con diferentes conjuntos de
características (frecuencias de reloj de la tecnología Hyper-Threading y otras)
activadas se venden como Core i7 8xx y Xeon 3400, que no debe confundirse con
la de gama alta series Core i7-9xx y Xeon 3500 que son los procesadores basados
en Bloomfield.
• Tecnología Hyper-Threading
36
Hamilton Omar Pérez N. / José Luis Cazarez V.
• 2, 4 y 8 núcleos
• Caché de 4 Mb, 8 Mb y 12 Mb
• Tecnología Hyper-Threading
Actividades
1. ¿Cuál es el significado de Hyper-treading?
2. Elabore un cuadro comparativo de todos los procesadores mencionados.
3. ¿Qué se comprende por arquitectura abierta y arquitectura cerrada?
4. ¿Una característica de los actuales procesadores es ser multiplataforma que
significa ello?
5. Señale tres ventajas de los actuales procesadores.
6. ¿Por qué se considera que no es el único elemento importante en un procesa-
dor la velocidad del mismo?
37
INTRODUCCIÓN A LA PROGRAMACIÓN
Memorias
Toda información que ingresa al computador debe ser almacenada temporal o
permanentemente esta es la tarea que realizan las memorias, se las puede clasificar
en memorias principales y auxiliares
Memorias principales
Memoria RAM
Es la memoria de trabajo, significa memoria de acceso randómico o aleatorio; esta
se pierde cuando se apaga el computador o se interrumpe el fluido eléctrico; su
capacidad se mide en Mb o GB también se la llama memoria de lectura y escritura.
SIMM: Posee tres pulgadas de longitud v ocho o nueve chips de memoria, posee
74 pines, se las conoce como memoria estática, es decir necesitaban electricidad
en plazos más largos, fueron las primeras en aparecer y a partir del procesador 486
comenzaron a desaparecer.
38
Hamilton Omar Pérez N. / José Luis Cazarez V.
DRAM
“DRAM” es el acrónimo de “Dynamic Random Memory”. El término Dynamic signi-
fica que la memoria será accedida dinámicamente, es decir cada períodos cortos
de tiempo, para no perder información. Esto se denomina refresco. Para acceder
a este tipo de memoria se debe especificar la fila, la columna y si se desea reali-
zar una lectura o una grabación.
Para poder trabajar a velocidades de 100 MHz, la SDRAM, está constituida en dos bancos
independientes. Esto permite que mientras a un banco está accediendo a la posición
de memoria el otro banco, simultáneamente, esté seleccionando la posición siguiente.
39
INTRODUCCIÓN A LA PROGRAMACIÓN
DDR
Forma parte de la familia SDRAM de tecnologías de memoria de acceso aleatorio,
que es una de las muchas implementaciones de la DRAM.
Los módulos DDR2 son capaces de trabajar con 4 bits por ciclo, es decir, 2 de ida
y 2 de vuelta en un mismo ciclo mejorando sustancialmente el ancho de banda
potencial bajo la misma frecuencia de una DDR SDRAM tradicional. Los DIMM
DDR2 tienen 240 pines, mientras que los de DDR tienen 184 y los de SDR 168.
Actividades
1. Ubique dos gráficos de cada tipo de memoria RAM mencionada con base en
la clasificación física
40
Hamilton Omar Pérez N. / José Luis Cazarez V.
Memoria ROM
Es otra memoria principal; esta almacena toda la información del arranque de la
máquina (BIOS), así como la configuración de la misma (dentro del SETUP); se
ubica en un chip conocido como el CMOS o AMIBIOS (dependiendo de la marca
del fabricante).
• PROM (Programmable Read Only Memory), puede ser llenada por el cliente y
no exclusivamente por el fabricante del chip.
• EPROM (Erase Programmable Read Only Memory), que es un chip que con-
tiene la información hasta que su contenido es borrado mediante una luz ul-
travioleta
41
INTRODUCCIÓN A LA PROGRAMACIÓN
Actividades
1. Mencione dos tareas principales de la memoria ROM.
2. ¿Por qué el usuario no trabaja en la memoria ROM? Justifique su respuesta.
3. ¿Qué otros dispositivos del computador pueden poseer una memoria ROM y
por qué?
42
Hamilton Omar Pérez N. / José Luis Cazarez V.
Memorias Auxiliares
Disco Duro
Es uno de los elementos habituales en los ordenadores, al menos desde los tiempos
del 286. Un disco duro está compuesto de numerosos discos de material sensible a
los campos magnéticos, colocados unos sobre otros; en realidad se parece mucho
a una pila de disquetes, con el mecanismo de giro y el brazo lector incluido en la
carcasa.
Los discos duros han evolucionado mucho desde los modelos primitivos de 10 ó 20
MB que aparecieron a mediados de los ochenta. Actualmente los tamaños son del
orden de varios gigabytes, el tiempo medio de acceso es muy bajo (menos de 20
ms) y su velocidad de transferencia es tan alta que deben girar a más de 5.000 rpm
(revoluciones por minuto).
Está compuesto en su división lógica por pistas y sectores; siendo la pista cero, la
más importante, puesto que en ella se ubica el sistema de asignación de archivos y
el BOOT SECTOR (sector de arranque). Una pista es una división de forma circular
y un sector es una división transversal o también se dice que es la unión de varias
pistas. El menor espacio donde se almacena información se conoce como clúster y
es la unión de una pista con un sector.
43
INTRODUCCIÓN A LA PROGRAMACIÓN
CD – ROM
Estas unidades de almacenamiento están constituidas 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.
44
Hamilton Omar Pérez N. / José Luis Cazarez V.
Las unidades DVD (Digital Video Disc), estas 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.
ACTIVIDADES:
2. Elabore una tabla de doble entrada para describir las características de los
discos duros, USB y CD.
3.1. IDE
3.2. SCSI
3.3. SATA
45
INTRODUCCIÓN A LA PROGRAMACIÓN
Memoria Caché
Es una memoria auxiliar presente a partir de los procesadores 486 y PENTIUM
principalmente; se encarga de almacenar los programas de mayor utilización o
que pueden ser de probable utilización; esta también es temporal y tiene poca
capacidad de almacenamiento; su ventaja radica en proporcionar los datos a
grandes velocidades evitándonos la búsqueda en el disco o en la memoria principal.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando
un ordenador trabaja, el micro opera en ocasiones con un número reducido de
datos, pero que tiene que traer y llevar a la memoria en cada operación. Si situamos
en medio del camino de los datos una memoria intermedia que almacene los
datos más usados, los que casi seguro necesitará el micro en la próxima operación
que realice, se ahorrará mucho tiempo del tránsito y acceso a la lenta memoria
RAM; esta es la segunda utilidad de la caché.
No debemos pensar que entre más grande es mejor en este caso. Aunque la caché
sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro
tardará un tiempo apreciable en encontrar el dato que necesita. Esto no sería muy
importante si el dato estuviera allí, pero ¿y si no está? Entonces habrá perdido el
tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en encontrarlo en la
RAM.
Tipos de caché
La memoria caché a la que nos hemos referido hasta ahora es la llamada “caché
externa” o de segundo nivel (L2 por sus siglas en inglés). Existe otra, cuyo principio
básico es el mismo, pero que está incluida en el interior del micro; de ahí lo de
interna, o de primer nivel (L1 por sus siglas en inglés).
Esta memoria caché funciona como la externa, sólo que está más cerca del micro,
es más rápida y más cara, además de complicar el diseño del micro, por lo que su
tamaño se mide en pocas decenas de kilobytes. Se incorporó por primera vez en
los micros 486, y por aquel entonces era de 8 Kb (aunque algunos 486 de Cyrix
tenían sólo 1 Kb). Hoy en día se utilizan hasta 512 Mb en la externa, aunque seguro
que pronto alguien superará esta cifra.
46
Hamilton Omar Pérez N. / José Luis Cazarez V.
Flash memory
Una memoria flash permite funcionar a velocidades muy superiores cuando los
sistemas emplean lectura y escritura en diferentes puntos de esta memoria al
mismo tiempo.
Las memorias flash son de tipo no volátil, esto es, la información que almacena no
se pierde en cuanto se desconecta de la corriente, una característica muy valorada
para la multitud de usos en los que se emplea este tipo de memoria.
Los principales usos de este tipo de memorias son pequeños dispositivos basados
en el uso de baterías como teléfonos móviles, PDA, pequeños electrodomésticos,
cámaras de fotos digitales, reproductores portátiles de MP3, etc.
El llavero USB que además del almacenamiento suelen incluir otros servicios como
radio FM, grabación de voz, sobre todo como reproductores portátiles de MP3 y
otros formatos de audio.
47
INTRODUCCIÓN A LA PROGRAMACIÓN
Las PC Card son otra variante de ellos empezaron como reemplazo de los rollos
de las cámaras fotográficas, pero pronto se han visto en varios aparatos también
insertadas. Existen varios estándares de encapsulados promocionados y fabricados
Buses
Son dispositivos o conductores que transmiten la información desde la tarjeta
madre a otros dispositivos tomando en cuenta las posiciones de memoria pueden
encargarse de varias tareas como son: dirección, datos, control y comunicación.
Algunos autores suelen clasificar también a los buses como un símil de la tecnología
que poseen en las ranuras de expansión para las distintas tarjetas pudiendo ser
PCI, ISA, EISA, etc.
Actividades
• PCI
• ISA
• EISA
48
Hamilton Omar Pérez N. / José Luis Cazarez V.
Puertos
Son los dispositivos que permiten el ingreso y salida de información por las unidades
de entrada o de salida. Los puertos pueden ser de tres tipos: paralelos, serie o USB.
El puerto en serie es de nueve pines y fue utilizado para módem externos, mouse,
scanner; posee una entrada de nueve pines y la información ingresa bit a bit y se lo
define con el nombre de COM1.
Si bien es cierto que estos conectores todavía hoy cumplen su función correctamente
en casos como la conexión de un teclado, un ratón o un módem, se han quedado
ya desfasados cuando tratamos de conectar dispositivos más rápidos como por
ejemplo una cámara de video digital.
Pero, además USB nos proporciona un único conector para solventar casi todos los
problemas de comunicación con el exterior, pudiéndose formar una auténtica red
de periféricos de hasta 127 elementos.
Mediante un par de conectores USB que ya hoy en día son estándar en todas las
placas base, y en el espacio que hoy ocupa un sólo conector serie de 9 pines,
permite conectar todos los dispositivos que tengamos, desde el teclado al módem,
pasando por ratones, impresoras, altavoces, monitores, escáner, cámaras digitales,
de vídeo, plóters, etc. sin necesidad de que el compurador disponga de un conector
dedicado para cada uno de estos elementos, permitiendo ahorrar espacio y dinero.
49
INTRODUCCIÓN A LA PROGRAMACIÓN
Al igual que las tarjetas ISA tienden a desaparecer, todos los conectores
anteriormente citados también desaparecerán de nuestro ordenador, eliminando
además la necesidad de contar en la placa base o en una tarjeta de expansión
los correspondientes controladores para dispositivos serie, paralelo, ratón PS/2,
joystick, etc.
Es un estándar necesario para facilitar las tareas diarias, ya que además cuenta con
la famosa característica PnP (Plug and Play) y la facilidad de conexión “en caliente”,
es decir, que se pueden conectar y desconectar los periféricos sin necesidad de
reiniciar el ordenador.
Actividades
1. Elabore un cuadro comparativo de los tipos de puertos.
50
Hamilton Omar Pérez N. / José Luis Cazarez V.
Fuente de poder
• Ventilador
• Fusible
• Transformadores
• Disipador de calor
• Resistencias
• Transistores
• Condensadores
51
INTRODUCCIÓN A LA PROGRAMACIÓN
Debemos conectar correctamente los cables que salen de la fuente de poder hacia
la mainboard a fin de evitar que esta se queme. Tenemos dos tipos de conectores
como se muestra en la gráfica a continuación:
52
Hamilton Omar Pérez N. / José Luis Cazarez V.
Dispositivos de salida
Son los dispositivos que permiten observar los resultados procesados, entre los
principales tenemos el monitor, la impresora, plóter, parlantes.
Pantalla o monitor
Es un periférico básico en cualquier sistema informático con tamaños que van desde
14, 15, 21 hasta 27 pulgadas. Podemos clasificar de dos maneras a los monitores
por su forma y tecnología que utilizan para representar los píxeles, así también por
su resolución.
De acuerdo a la primera división pueden ser de tipo TCR (tubos de rayos catódicos)
y LCD (de cristal líquido): En el primer caso, necesitan un tubo que envía electrones
mediante un proceso llamado barrido hacia el cristal reflejando los píxeles. Cuando se
trata de una pantalla plana LCD para generar los píxeles se utiliza una combinación
de varios elementos líquidos.
En el caso de las pantallas de tubos de rayos, las pantallas a color de los monitores
están formadas internamente por tres capas de material de fósforo, una por cada
color básico (rojo, verde y azul). También consta de tres cañones de electrones,
que al igual que en las capas de fósforo, hay uno por cada color.
Para formar un color en pantalla que no sea ninguno de los colores básicos, se
combinan las intensidades de los haces de electrones de los tres colores básicos.
Para los monitores monocromáticos son los que muestran solo color: negro sobre
blanco o ámbar, o verde sobre negro. Uno de estos monitores con una resolución
equivalente a la de un monitor color, si es de buena calidad, generalmente es más
nítido y más legible.
53
INTRODUCCIÓN A LA PROGRAMACIÓN
Funcionamiento
Los cristales líquidos son sustancias transparentes con cualidades propias de
líquidos y de sólidos. Cuando la luz atraviesa un cuerpo sólido o un cristal líquido
sigue el alineamiento de las moléculas, pero al igual que los líquidos, aplicando
una carga eléctrica a estos cristales, se produce un cambio en la alineación de las
moléculas, y por tanto en el modo en que la luz pasa a través de ellas.
Una pantalla LCD está formada por dos filtros polarizantes con filas de cristales
líquidos alineados perpendicularmente entre sí, de modo que al aplicar o dejar de
aplicar una corriente eléctrica a los filtros, se consigue que la luz pase o no pase
a través de ellos, según el segundo filtro bloquee o no el paso de la luz que ha
atravesado el primero.
El color se consigue añadiendo tres filtros adicionales de color (uno rojo, uno verde,
uno azul). Sin embargo, para la reproducción de varias tonalidades de color, se
deben aplicar diferentes niveles de brillo intermedios entre luz y no-luz, lo cual se
consigue con variaciones en el voltaje que se aplica a los filtros. En esto último, hay
un parecido con los monitores CRT.
ACTIVIDADES:
1. Elabore un organizador gráfico para identificar los tipos de monitores y sus
características.
54
Hamilton Omar Pérez N. / José Luis Cazarez V.
Impresoras
Este dispositivo de salida de información representa caracteres y gráficos en papel;
aunque existen varios tipos, una clasificación muy utilizada las divide en impresoras
de impacto y sin impacto.
Así pues, son las únicas que permiten obtener varias copias de un mismo impreso.
Esto resulta muy conveniente cuando tenemos la necesidad de realizar varias copias
de un mismo documento con la mayor rapidez y que se ejecuten en distintos impresos.
Por ejemplo, cuando necesitamos que cada copia esté hecha en un papel de distinto
color, y con algún texto identificativo. En este caso, mediante papel copia de varias
hojas lo podemos realizar de una forma rápida y barata, principalmente cuando la
información es de tipo textual.
Al igual que los otros tipos de impresora, sus características básicas a considerar
son la velocidad, la calidad y la posibilidad de impresión en color. La velocidad
se mide en cps o caracteres por segundo, ya que esta es la principal función que
realizan. La calidad normalmente viene marcada por el número de agujas, que
suelen oscilar entre las 8 y las 24, siendo mejor cuanto de mayor número disponga.
55
INTRODUCCIÓN A LA PROGRAMACIÓN
Aunque en un principio tuvo que competir duramente con sus adversarias matriciales,
hoy son las reinas indiscutibles en el terreno doméstico, ya que es un entorno
en el que la demanda en el mercado responde a su calidad, rapidez y costos de
mantemiento relativamente bajos. La disponibilidad en colores blanco y negro es
un factor que puede llegar a ser más importante que la velocidad o la economía de
mantenimiento porque el número de copias realizadas en estos entornos es bajo.
Algunas impresoras utilizan dos cartuchos, uno para la tinta negra y otro para la
de color, en donde suelen están los tres colores básicos. Estas impresoras tienen
como virtud la facilidad de manejo, pero en contra, si utilizamos más un color que
otro, nos veremos obligados a realizar la sustitución del cartucho cuando cualquiera
de los tres colores se agote, aunque en los demás compartimentos todavía nos
quede tinta de otros colores. Esto hace que estas impresoras sean bastante más
caras de mantenimiento que las que incorporan un cartucho para cada color, pero
también suelen ser más económicas en el precio de compra.
Impresoras láser: Son rápidas entre 10 a 20 hojas por minuto, los gráficos son de
excelente calidad a colores o a blanco y negro. Esta tecnología es la misma que
han utilizado mayormente las máquinas fotocopiadoras desde un principio, y el
material que se utiliza para la impresión es un polvo muy fino que pasa a un rodillo
que previamente magnetizado en las zonas que contendrán la parte impresa, es
pasado a muy alta temperatura por encima del papel, que por acción de dicho calor
se funde y lo impregna.
56
Hamilton Omar Pérez N. / José Luis Cazarez V.
Impresora 3D
Los tipos de impresión disponibles actualmente son de compactación, con una masa
de polvo que se compacta por estratos, y de adición, o de inyección de polímeros,
en las que el propio material se añade por capas; dependiendo del método de
compactación utilizado se puede clasificar en:
57
INTRODUCCIÓN A LA PROGRAMACIÓN
Actividades
58
Hamilton Omar Pérez N. / José Luis Cazarez V.
Autoevaluación
1. Ubique dentro del paréntesis una V si es verdadero o F si es falso según
corresponda:
( ) El primer procesador creado se llamó 186.
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
…………………………………………………………………………………………..
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
…………………………….......................................................................................................
..............................................................................................................................................
59
INTRODUCCIÓN A LA PROGRAMACIÓN
5. Dentro del paréntesis ubique RAM o ROM según correspondan las características:
PCI: …………………………………………………….………………………………………….
USB: ………………………………………………………………………………………………
LCD: ………………………………………………………………………………………………
7. Señale dos empresas fabricantes para las siguientes piezas del computador:
Mainboard: .......………………………………………………………………………...................
RAM: …………………………………………………………………………………………………
Procesador: …………………………………………………………………………………
60
Hamilton Omar Pérez N. / José Luis Cazarez V.
UNIDAD II
Los algoritmos
Objetivos
“Todos
los triunfos
comienzan cuando • Conocer los pasos correctos para la
formulación de algoritmos.
nos atrevemos a
empezar” • Utilizar la sim bología de flujogramas
para representar procesos.
61
INTRODUCCIÓN A LA PROGRAMACIÓN
Algoritmos
La historia del desarrollo de estos procesos tiene sus inicios en técnicas de cálculo
escrito que utilizaban los matemáticos hindúes, árabes y europeos. El matemático
árabe Al’Khwarizmi, alrededor del año 830 D.C., escribe un libro de Aritmética,
traducido al latín como “Algoritmi de numero Indorum”, donde introduce el sistema
numérico indio (sólo conocido por los árabes unos 50 años antes) y los métodos
para calcular con él. De esta versión latina proviene la palabra Algoritmo. La palabra
ha cambiado de forma que en su definición se incluye a todos los procedimientos
finitos para resolver problemas.
62
Hamilton Omar Pérez N. / José Luis Cazarez V.
Características
Aunque por ser amplios no se definen como reglas podemos señalar las
características fundamentales de un algoritmo:
• Carácter Finito, tiene un número determinado de pasos; sin que por ello sean
necesariamente redundantes. Un algoritmo siempre debe terminar después
de un número finito de pasos.
63
INTRODUCCIÓN A LA PROGRAMACIÓN
programa así como para formular pseudocódigos. Así tenemos que dependiendo
del tipo de ejercicio se debrán tomar en cuenta puntos como: estructura de datos,
variables, constantes (cómo se revisará) con ejemplos para su mejor compresión.
64
Hamilton Omar Pérez N. / José Luis Cazarez V.
Análisis de algoritmos
Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos
(memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha
desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la
evolución del gasto de tiempo y memoria en función del tamaño de los valores de
entrada.
En este último caso, la finalización con éxito del algoritmo no se podría definir como
la terminación de éste con una salida satisfactoria, sino que el éxito estaría definido
en función de las secuencias de salidas dadas durante un periodo de vida de la
ejecución del algoritmo. Por ejemplo, un algoritmo que verifica que hay más ceros
que unos en una secuencia binaria infinita debe ejecutarse siempre para que pueda
devolver un valor útil.
• Con los datos que posee aplica creatividad para solucionar lo pedido
mediante procesos claros (procesamiento).
65
INTRODUCCIÓN A LA PROGRAMACIÓN
Proceso en algoritmo
• Para encontrar el elemento máximo, se asume que el primer elemento (c0) es
el máximo.
• Extraigo el cd de ella.
66
Hamilton Omar Pérez N. / José Luis Cazarez V.
Flujogramas
En la representación de procedimientos administrativos y secuenciales como es el
caso de un programa, frecuentemente se precisa contar con una herramienta para
representar la lógica y la secuencia de los procesos. Revisemos definiciones sobre
este tema:
La utilidad de los flujogramas radica en que estos nos prestan diferentes servicios,
como son:
67
INTRODUCCIÓN A LA PROGRAMACIÓN
Las líneas de dirección o flechas que comunica los bloques y determinan el orden
secuencial en que deben ser considerados. A continuación se muestra la Tabla 2
que contiene la simbología de flujogramas:
68
Hamilton Omar Pérez N. / José Luis Cazarez V.
69
INTRODUCCIÓN A LA PROGRAMACIÓN
3. Cada símbolo tiene una tarea y no puede ser utilizada en otra distinta
7. Para unirlos debemos utilizar las líneas llamadas de flujo que poseen una
flecha que indica su orientación.
10. Es conveniente evitar procesos que sean innecesarios o puedan ser incluidos
dentro de otros.
12. Para movernos de una página a otra debemos utilizar los conectores de
página.
Pseudocódigo
Corresponde a un conjunto de procesos que describen la ejecución de un
programa, es decir un programa escrito en un lenguaje compresible casi técnico a
fin de ser traducido a cualquier lenguaje de programación. Otra definición tomada
del NOMBRE Cazar en su obra Compendio de Computación Siglo XXI dice:
“Constituye el procedimiento natural para elaborar un programa de computación,
que posteriormente con la guía y ayuda de un lenguaje de programación, será
llevado a la computadora, para solucionar un determinado problema.” (Cazar, 2009)
70
Hamilton Omar Pérez N. / José Luis Cazarez V.
Queda claro entonces que los seudocódigos son generales y nos sirven de base para
elaborar los programas en el lenguaje que deseemos; en la actualidad se orienta
con mayor fuerza su utilización por considerarlos más sencillos de elaborar que los
flujogramas. Revisemos otras definiciones que ayudarán a nuestra comprensión:
Según José Ñacato afirma que “Es una técnica para describir algoritmos que busca
simplificar de una manera más entendible la acción de ejecutar o indicar los pasos
para solucionar un problema con palabras comunes de un idioma cualquiera, utiliza
frase imperativa que muestran la lógica y estructura del mismo, la naturaleza de los
datos de fácil lectura e interpretación” (Ñacato, 2010).
Constantes
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de la compilación y este permanece
inalterado durante todo el programa. Las constantes se declaran en una sección
que comienza con la palabra reservada const. Después de declarar una constante
se puede usar en el cuerpo principal del programa. Tienen varios usos como ser
miembro en una expresión, en una comparación, asignar su valor a una variable, etc.
En el siguiente ejemplo se contemplan varios casos:
const
Min =0;
Max= 100;
Sep =10;
71
INTRODUCCIÓN A LA PROGRAMACIÓN
• Constantes expresión.
Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se declaran ya que
no tienen nombre.
Constantes declaradas
También llamadas constantes con nombre, son las que se declaran en la sección
Const asignándoles un valor directamente. Por ejemplo:
const
Pi = 3.141592; (* valor real *)
Min = 0; (* entero *)
Max = 99; (* entero *)
Saludo = ‘Hola’; (* cadena caract. *)
Constantes expresión
También se declaran en la sección Const pero a estas no se les asigna un valor
directamente, sino que se les asigna una expresión.
Variables
Una variable es un nombre asociado a un elemento de datos que está situado en
posiciones contiguas de la memoria principal, y su valor puede cambiar durante
la ejecución de un programa. Toda variable pertenece a un tipo de dato concreto.
En la declaración de una variable se debe indicar el tipo al que pertenece. Así
tendremos variables enteras, reales, booleanas, etc. Por otro lado, distinguimos
tres partes fundamentales en la vida de una variable:
72
Hamilton Omar Pérez N. / José Luis Cazarez V.
Declaración de variables
Esta es la primera fase en la vida de cualquier variable. La forma de declarar
variables es muy sencilla. Esta sección debe comenzar con la palabra
reservada var, seguida de una lista de parejas lista_de_variables=tipo_
al_que_pertenecen. Cada par debe ir seguido por un punto y coma.
La lista_de_variables es uno o más nombres de variables separados por comas:
var
Una variable no representa más que una porción de memoria en donde guardamos
un dato que dependerá del tipo al que pertenezca la variable. A diferencia de una
constante, el valor de una variable puede cambiar durante la ejecución de un
programa. A una variable no basta con declararla sino que también es necesario
iniciarla. Esto se refiere a darle un valor inicial, y es importante porque obviar este
paso se traduce en errores cuando ejecutemos el programa.
En este ejemplo se declaran cinco variables. Las tres primeras son de tipo entero.
La cuarta es de tipo real, o sea, un número con parte decimal. Y la quinta es un
carácter, que no es lo mismo que una cadena de un carácter (Guzmán, 2004).
Iniciación de variables
Esto no es más que darle un valor inicial a una variable. Así como lo primero que
se hace con una variable es declararla, lo siguiente tiene que ser iniciarla. Esto se
hace para evitar posibles errores en tiempo de ejecución, pues una variable tiene
un valor indeterminado después de declararla. Principalmente, existen dos maneras
de otorgar valores iniciales a variables: mediante una sentencia de asignación o
73
INTRODUCCIÓN A LA PROGRAMACIÓN
i: = i + 1
Fin programa.
Utilización de variables
Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es la
parte que presenta un mayor abanico de posibilidades. A continuación, se presentan
unas cuantas:
Incrementar su valor:
i: = i + 1
Controlar un bucle:
Tipos de datos
El tipo de un dato es el conjunto de valores que puede tomar durante el programa.
Si se le intenta dar un valor fuera del conjunto se producirá un error. El tipo de dato
le indica al compilador del lenguaje de programación dos cosas: el número de bytes
requeridos para guardar el dato, y la manera en que se manipulara y operara el
dato.
La asignación de tipos a los datos tiene dos objetivos principales: detectar errores
en las operaciones y determinar cómo ejecutar estas operaciones. Cada lenguaje
de programación tiene sus propios tipos de datos, algunos de estos son comunes a
todos, entre los tipos de datos comunes están :
74
Hamilton Omar Pérez N. / José Luis Cazarez V.
• Entero (0),
• Real (0.0),
• Carácter (“ ”),
• Lógico,
El tipo entero
El tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al declarar
una variable de tipo entero, se está creando una variable numérica que puede
tomar valores positivos o negativos, y sin parte decimal. Este tipo de variables,
puede utilizarse en asignaciones, comparaciones, expresiones aritméticas, etc.
Algunos de los papeles más comunes que desarrollan son:
si/no
cierto/falso
funciona/no funciona
on/off
etc.
El tipo real
El tipo de datos real es el que se corresponde con los números reales. Este
es un tipo importante para los cálculos. Por ejemplo, en los estadísticos, ya
que se caracterizan por tratar fundamentalmente con valores decimales.
Los tipos carácter y cadena
Con el tipo carácter se pueden tener objetos que representen una letra, un número,
etc. Es decir, se usan variables o constantes que representen un valor alfanumérico.
Pero, cada variable sólo podrá almacenar un carácter. Sin embargo, con las cadenas
de caracteres (strings) se puede contener en una sola variable más de un carácter.
75
INTRODUCCIÓN A LA PROGRAMACIÓN
Ejercicios
1. Realizar un flujograma que permita ingresar por teclado dos números
sumarlos y realizar el resultado por pantalla.
INICIO PROGRAMA SUMA
Variables
S1 = 0;
S2 = 0;
ST = 0;
DESPLEGAR “Ingrese dos
números S1 y S2”
LEER O INGRESAR POR
TECLADO S1, S2
76
Hamilton Omar Pérez N. / José Luis Cazarez V.
Actividades
Realizar un flujo grama que permita ingresar por teclado la distancia y el tiempo
con estos datos calcular la velocidad y la aceleración desplegar los resultados.
INICIO
– PROGRAMA-
FISICA
Variables:
d = 0.0;
a = 0.0;
t = 0.0;
v = 0.0;
Desplegar:
“ingrese la distancia y el tiempo”
Ingrese por teclado: Distancia, tiempo
Calcular:
v = d/t
Calcular:
a = v/t
Desplegar:
“v, a” v, a
FIN - PROGRAMA - FISICA
Realizar un flujo grama que permita al usuario ingresar por teclado ángulo
m1; m2 con estos datos calcular el ángulo m3, imprimir el resultado.
INICIO – PROGRAMA- ANGULOS
Variables
m1= 0; m2 = 0; m3 = 0; SA =0;
Desplegar:
“ingresar los ángulos”
Ingresar por teclado:
Calcular:
m3 = 180 – m1 – m2
Imprimir m3
FIN - PROGRAMA- ANGULOS
77
INTRODUCCIÓN A LA PROGRAMACIÓN
Condiciones (IF).
Permite seleccionar opciones si una condición se cumple o no, es por esta razón
que se lo conoce como un si condicional porque no afirma sino pregunta. Explicare
brevemente que nos permite este símbolo: imagine que usted debe cobrar el
impuesto IVA que es del 12 % de la venta; lo primero que hará al crear un programa
para este propósito es ingresar por teclado el valor total de la venta; pero además
debe tomar en cuenta que solo a partir de 4 dólares se incrementa este impuesto.
Por lo tanto, es necesario incluir una pregunta para cerciorarnos del precio de venta,
es allí donde interviene esta sentencia y símbolo de flujograma para preguntar al
computador el valor también le daremos posibilidades de realizar acciones si este
es mayor o igual a 4 dólares, que sería multiplicar el precio de venta final por 0.12 y
desplegar el valor final que sería el precio total de venta más el valor calculado del
impuesto, o en el caso de ser menor no aumentar nada y simplemente desplegar
el precio como estaba.
78
Hamilton Omar Pérez N. / José Luis Cazarez V.
Desplegar “reprobado”
Fin del si
FIN – PROGRAMA - NOTA
Realizar un flujograma, pseudocódigo y prueba de escritorio
para un programa que permita ingresar 2 números y comparar
cual es el mayor de ellos, imprimir el número mayor y finalizar.
INICIO – PROGRAMA_ MAYOR
Variables:
N1 = 0; N2 = 0;
Desplegar:
Si N1 > N2 entonces
Imprimir
Imprimir “N2”
FIN DEL Si
Observación:
Mire en el flujograma como
ingresados los números
N1, N2 es entonces
cuando puedo utilizar la
condición para determinar
cuál es mayor y por ello
dentro del símbolo ubico la
comparación N1>N2
79
INTRODUCCIÓN A LA PROGRAMACIÓN
Inicio programa_número
variables num=0;
desplegar
“Digite un número: “
ingresar por teclado num
si(num=0) entonces
desplegar
fin del si
80
Hamilton Omar Pérez N. / José Luis Cazarez V.
Contador automático
Repite todos los procesos que se encuentren dentro de su lazo las veces que el
usuario determine terminándose de forma automática cuando se alcance su valor
final. Para utilizar esta opción debemos poseer una variable solo para contar los
proc:esos, un valor inicial, un valor final y un incremento o decremento, por ejemplo:
C = variable
V. inicial = valor inicial
C = V.inicial,V.final, aum/dism
V. final = valor final
Aum/dism = aumento o
disminución
El pseudocódigo de este
ejercicio corresponde a lo
siguiente:
INICIO_PROGRAMA_CURSO
Variables:
C= 0;
N= 0;
Repetir C desde 1 hasta 48
aumentar 1
Desplegar “Ingrese un número”
Ingresar por teclado N
Si N> 14 entonces
Imprimir “APROBADO”
Caso contrario
Imprimir “REPROBADO”
Fin del repetir C
FIN DEL PROGRAMA_CURSO.
81
INTRODUCCIÓN A LA PROGRAMACIÓN
Observación:
Note que cualquier tipo de acción puede ser ubicada dentro de este llamado bucle
o lazo de repetición, en este ejercicio está una condición que permite imprimir el
mensaje aprobado sólo en los mayores o iguales a 14 de los 48 estudiantes.
82
Hamilton Omar Pérez N. / José Luis Cazarez V.
83
INTRODUCCIÓN A LA PROGRAMACIÓN
Autoevaluación
1. Realizare el correspondiente flujograma de estos seudocódigos
PSEUDOCODIGO
INICIO_ PROGRAMA_FACTORIAL
Variables:
C = 0;
N = 0;
F = 1;
Calcular F = F * C
Fin de Repetir C
Imprimir F
FIN_PROGRAMA_ FACTORIAL
84
Hamilton Omar Pérez N. / José Luis Cazarez V.
Ingresar 80 nombres con sus sueldos, descuentos, calcular sueldo final. Preguntar
si el sueldo final es > 500 obtener el 15% del sueldo total, imprimir los resultados.
3. ¿Puede existir un contador automático donde el valor inicial sea mayor al valor
final? Mencione dos ejemplos prácticos.
85
INTRODUCCIÓN A LA PROGRAMACIÓN
86
Hamilton Omar Pérez N. / José Luis Cazarez V.
Pseudocódigo
Inicio
{cálculo salario neto}
leer nombre, horas, precio_hora
salario_bruto horas * precio
impuestos 0.20 * salario_bruto
salario_neto salario_bruto_impuestos
escribir nombre, salario_bruto, salario_neto_bruto, salario_neto
Fin
87
INTRODUCCIÓN A LA PROGRAMACIÓN
Suponga que un curso estaba compuesto de tres estudiantes. Cada uno de los
estudiantes cursó dos asignaturas. Se deben leer inicialmente los nombres de los
tres estudiantes, los nombres de las dos asignaturas y luego, las calificaciones
definitivas de cada una de las dos asignaturas para cada uno de los tres estudiantes.
Calcular:
INICIO
Est2Asig1, Est2Asig2,
Est3Asig1, Est3Asig2,
PromedioAsignatura1, PromedioAsignatura2,
Leer(Asignatura1)
Leer(Asignatura2)
Leer(Estudiante1)
Leer(Estudiante2)
88
Hamilton Omar Pérez N. / José Luis Cazarez V.
Leer(Estudiante3)
Leer(Est1Asig1)
Leer(Est1Asig2)
Leer(Est2Asig1)
Leer(Est2Asig2)
Leer(Est3Asig1)
Leer(Est3Asig2)
89
INTRODUCCIÓN A LA PROGRAMACIÓN
FIN.
INICIO
TotalVotosEleccion,
PorcentajeVotosEnBlanco,
PorcentajeCiudadanosResponsables,
PorcentajeCiudadanosInconcientes;
Leer(Candidato1)
Leer(Candidato2)
Leer(Candidato3)
Leer(VotosCandidato1)
90
Hamilton Omar Pérez N. / José Luis Cazarez V.
Leer(VotosCandidato2)
Leer(VotosCandidato3)
Leer(VotosEnBlanco)
VotosCandidato3 + VotosEnBlanco
PorcentajeCiudadanosResponsables=(TotalVotosEleccion/TotalCensoElectoral)
*100
FIN.
91
INTRODUCCIÓN A LA PROGRAMACIÓN
Estas también son sentencias de repetición, pero al contrario del bucle o contador
automático estás se ejecutarán un número indefinido de veces hasta que su
condición deje de cumplirse. En el apartado que corresponde a la programación en
C++ se ampliará esta información pero a fin de conocerlos mejor los llamaremos con
sus nombres en programación puesto que hay dos casos: uno donde la condición
que determina si el proceso se repite o no se evalúa al inicio y de ser verdadera se
ingresa al lazo sino se continua con lo que está bajo el; el otro realiza el proceso y
evalúa al final se llaman while y do while respectivamente.
do {
Sentencias
} while (condición)
La función while ejecuta los procesos, pero antes se cerciora que la condición se
esté cumpliendo, su sintaxis es:
while (condición)
sentencias
92
Hamilton Omar Pérez N. / José Luis Cazarez V.
Actividades
PSEUDOCODIGO
inicio programa nombre
Variables
x=0
Nombre=” “
hacer
x=x+1
Desplegar nombre
Fin programa_nombre
93
INTRODUCCIÓN A LA PROGRAMACIÓN
UNIDAD III
Introducción a Lenguaje C
“Sólo
alcanza la
grandeza quien
cuida de los
pequeños detalles” Objetivos:
94
Hamilton Omar Pérez N. / José Luis Cazarez V.
LENGUAJE C
Historia y diferencia entre C Y C++
Este fue creado por el año 1972, mientras se desarrollaba el sistema operativo
UNIX, debido a que aparecieron varias versiones con diferencias que no se lograron
ponerse de acuerdo, al Instituto de Estándares Nacional Americano (ANSI por sus
siglas en inglés) al finalizar 1990 establece una implementación como base. En
un principio fue utilizado para programar sistemas, pero gracias a su potencia,
portabilidad, eficiencia y flexibilidad pronto fue utilizado en cualquier tipo de tareas
como uno de los principales lenguajes de alto nivel.
95
INTRODUCCIÓN A LA PROGRAMACIÓN
El editor
El compilador en sí mismo sólo es un programa que traduce nuestro código fuente
y lo convierte en un ejecutable. Para escribir nuestros programas necesitamos un
editor. La mayoría de los compiladores al instalarse incorporan ya un editor; es el
caso de los conocidos Turbo C, Borland C, Visual C++. Pero otros, no lo traen por
defecto. No debemos confundir por tanto el editor con el compilador. Estos editores
suelen tener unas características que nos facilitan mucho el trabajo: permiten
compilar y ejecutar el programa directamente, depurarlo (corregir errores), gestionar
complejos proyectos.
Si nuestro compilador no trae editor la solución más simple usar el edit en MS-DOS o
notepad en Windows. Pero no son más que editores sin ninguna otra funcionalidad.
Otra posibilidad es un entorno de desarrollo llamado RHIDE, un programa muy útil
que automatiza muchas de las tareas del programador (del estilo del Turbo C y
Turbo Pascal). Si queremos una herramienta muy avanzada podemos usar Emacs,
que es un editor muy potente. Estos dos programas están disponibles tanto en
Linux como en MS-DOS.
Borland
En este compilador los archivos de cabecera deben estar ubicados en la misma
unidad lógica y directorio, su ventaja es compilar mucho más rápido C++. TURBO
C ++ 3.0 de BORLAND y el IDE TURBO C++ ofrece toda cosa que usted necesita
para escribir, editar, compilar, vincular, correr, manejar y depurar sus programas. En
la actualidad se dispone de una versión llamada BCW 5.0(Borland C for Windows)
que presenta un ambiente más amigable a las mencionadas.
96
Hamilton Omar Pérez N. / José Luis Cazarez V.
NO ESTÁ LA FIGURA
7. Una vez se hayan copiado todos los archivos, saldrá una un cuadro (como el
que se muestra bajo este párrafo) que nos informa de los últimos pasos de la
instalación. Pulsamos Intro para continuar.
8. Tras pulsar Intro nos aparece el contenido del fichero Léeme de Turbo C++:
La instalación ha concluido.
97
INTRODUCCIÓN A LA PROGRAMACIÓN
Ustedes pueden darse cuenta que cuando dos personas no conocen un mismo
idioma no se pueden comunicar correctamente, sin embargo, eso no quiere decir
que dos personas que no hablan el mismo idioma no se puedan entender, ¿verdad?
Entonces buscan algo (lenguaje alternativo o artificial) que los dos pudiesen
comprender. A ese alguien nosotros le llamamos traductor o intérprete y sirve como
intermediario en la comunicación entre dos o más personas que no conocen el
mismo lenguaje.
98
Hamilton Omar Pérez N. / José Luis Cazarez V.
Imagen #3: Se indica los elementos de ciertos elementos de la GUI de Borland C++
99
INTRODUCCIÓN A LA PROGRAMACIÓN
Imagen #4: Se muestra una acción (hacer clic en Text Edit) con el mouse
Una vez ejecutados los pasos de arriba se creará un archivo con un nombre
(NONAME00) temporal. En este archivo nosotros almacenaremos nuestro código
fuente. En Imagen 5 observamos el código fuente ya pegado en el archivo
recientemente creado con nuestros pasos anteriores.
100
Hamilton Omar Pérez N. / José Luis Cazarez V.
• Ahora sería bueno guardar el archivo fuente. Para hacer esto hacemos click
en el menú File. Luego sombreamos con el mouse la opción Save y hacemos
click en él. Al hacer esto nos aparecerá la ventana de guardado. Nosotros
escribiremos Programa 1 y presionaremos la tecla Enter. También podemos
presionar la combinación de teclas Ctrl + K + S para hacer que apareciese la
ventana de guardado y escribir directamente el nombre del archivo. En Imagen
6 se observa el cambio reflejado en el nombre del archivo fuente.
101
INTRODUCCIÓN A LA PROGRAMACIÓN
102
Hamilton Omar Pérez N. / José Luis Cazarez V.
Programa 2
Para tener el programa ejecutable tenemos que compilar. Para esto presionamos la
combinación de teclas: ALT + F9 o si no hacemos clic en el menú Project y hacemos
clic en la pestaña Compile. De las dos maneras no sale una ventana como la de
abajo:
103
INTRODUCCIÓN A LA PROGRAMACIÓN
Como podemos darnos cuenta el tiempo que tardó (Elapsed Time) el procesador
en compilar el código fuente es muy pequeño, para ser exactos, tardó 20 milésimas
(20/1000) de segundos. Este tiempo puede ser diferente para ustedes y depende
de la velocidad del procesador que tengamos en nuestra PC.
104
Hamilton Omar Pérez N. / José Luis Cazarez V.
Y por último nos muestra las líneas totales del código fuente, los avisos y él número
de errores encontrados en el archivo fuente.
Esta ventana será mostrada cada vez que compilemos nuestro código fuente.
Sentencias o instrucciones
En Borland C++ las sentencias o instrucciones se caracterizan por que siempre
terminan con el símbolo; Una instrucción o sentencia es una orden o actividad que
el procesador deberá realizar. Esta instrucción se cargará en la memoria.
105
INTRODUCCIÓN A LA PROGRAMACIÓN
Errores Avisos
Borland C++ no generará el programa Los avisos no son tan graves como para
ejecutable (aplicación) sí encuentra er- no generar la aplicación. Sin embargo, es
rores el código fuente. Y sí lo crease es bueno prestarle atención a los mismos.
de su supones que dicha aplicación es
inservible. Hay muchos tipos de errores
que podremos cometer al desarrollar
nuestro programa.
Nota: Hay más tipos de errores que aquí no se muestran y que se abordán páginas
adelante.
106
Hamilton Omar Pérez N. / José Luis Cazarez V.
Programa 5
Desarrollar un programa al gusto del usuario.
#include<iostream.h> #include<iostream.h>
#include<conio.h> #include<conio.h>
{ {
cout<<”Borland C++ tiene muchas liberta- cout<<”Borland C++ tiene muchas liberta-
des”; des”;
return 10; }
107
INTRODUCCIÓN A LA PROGRAMACIÓN
En la primera parte de la ventana aparece: Status: Failure, lo que quiere decir que
ha fallado al tratar de crear la aplicación. En la última parte se lee: Errors: 1, lo
que quiere decir que hay un error en el código. Cuando se compila y se encuentra
errores en el código hace su aparición explícita una ventana llamada Message
como la siguiente imagen:
108
Hamilton Omar Pérez N. / José Luis Cazarez V.
void main ()
Sentencia 1;
Sentencia 2;
109
INTRODUCCIÓN A LA PROGRAMACIÓN
• int: permite almacenar datos numéricos enteros cuyo valor va entre el rango
de -32768 y 32767.
• float: guarda valores flotantes es decir con decimales, el rango que almacena
es 3.4 x 10-38 y -3.4 x 10 -38.
Es necesario mencionar que existen otro tipo de variables más complejas como los
ya mencionados vectores y las matrices que no serán tratadas ahora.
Evite como nombre de variable los siguientes por ser palabras reservadas en C++
Las palabras reservadas más comunes del lenguaje son:
asm, auto, bool, break, case, char, class, const, continue, default, delete,
do, double, else, enum, explicit, extern, for, friend, goto, if, inline, int, long,
mutable, namespace, new, operador, private, public, register, return, short,
signed, sizeof, static, struct, switch, template, this, throw, typedef, union,
unsigned, virtual, void, volatile, while.
Tipos de datos
Ya anteriormente hemos explicado lo que es una variable. Hemos explicado también
como definir una variable. Ahora vamos a preguntarnos por la naturaleza del valor
almacenado en dicha variable. En efecto, podríamos desear definir una variable en
donde guardar solo números enteros, solo letras, etc., esto es; el tipo de dato que
la variable almacena. Los tipos de datos que Borland C++ reconoce se muestran a
continuación en 2 tablas.
110
Hamilton Omar Pérez N. / José Luis Cazarez V.
void main ()
printf (“hola”);
getch ();
printf(“mensaje”);
111
INTRODUCCIÓN A LA PROGRAMACIÓN
\t Tabulador
\b Retroceder un carácter
\f Salto de página
Para utilizar scanf se debe tener en cuenta el tipo de dato que ingresa a la variable y
utilizar el modificador correspondiente, pero también es necesario ubicar el puntero
y el nombre de la variable, por lo que su sintaxis general será:
main()
int x, y, z;
112
Hamilton Omar Pérez N. / José Luis Cazarez V.
clrscr ();
x = y + z;
getch ();
Constantes
Las constantes son aquellos datos que no pueden cambiar a lo largo de la ejecución
de un programa.
#include <stdio.h>
void main()
radio = 20;
Radio y perímetro son variables, su valor puede cambiar a lo largo del programa.
Sin embargo 20, 2 y 3.1416 son constantes, no hay manera de cambiarlas. El valor
3.1416 no cambia a lo largo del programa, ni entre ejecución y ejecución.
113
INTRODUCCIÓN A LA PROGRAMACIÓN
#include <stdio.h>
#define PI = “3.1416”
void main()
radio = 20;
perimetro = 20 * PI * radio;
De esta forma cada vez que el compilador encuentre el nombre PI lo sustituirá por
3.1416.
#define CONSTANTE 14
void main()
...
scanf(“%i”, CONSTANTE);
114
Hamilton Omar Pérez N. / José Luis Cazarez V.
...
scanf(“%i”, 14);
Esto es muy grave, estamos diciendo que el valor que escribamos en scanf se
almacene en la posición 14 de la memoria, lo que puede bloquear el ordenador.
Las constantes se suelen escribir en mayúsculas sólo se puede definir una constante
por fila. No se pone “;” al final.
Las constantes nos proporcionan una mejor comprensión del código fuente. Mira el
siguiente programa:
#include <stdio.h>
void main()
int precio;
#include <stdio.h>
#define CAJAS 4
#define UNIDADES_POR_CAJA 25
void main()
int precio;
115
INTRODUCCIÓN A LA PROGRAMACIÓN
También podemos definir una constante usando el valor de otras. Por supuesto
las otras tienen que estar definidas antes:
#include <stdio.h>
#define CAJAS 4
#define UNIDADES_POR_CAJA 25
void main()
int precio;
#define tiene más usos aparte de éste, pero no los abordaremos ahora.
Para evitar la confusión o dificultad que pueden presentar el trabajar con la cláusula
#define, es posible también trabajar de la siguiente forma, primero defino la variable
y el tipo al que corresponde y a continuación se puede ubicar el calor dentro de la
variable.
116
Hamilton Omar Pérez N. / José Luis Cazarez V.
#include<stdio.h>
#include<conio.h>
void main()
float C,pi,r;
pi=3.1416;
printf(“INGRESE EL RADIO:”);
scanf(“%f”,&r);
C=r*pi;
printf(“Círculo=%f”,C);
getch ();
Tipos de variables
Existen cuatro tipos básicos: int, float, bool y char. Podíamos definir funciones que
recibieran o devolvieran valores de dichos tipos, y además podíamos definir otros
tipos a partir de ellos. Es una costumbre muy arraigada entre los programadores de
utilizar constantes enteras para representar valores booleanos. Esta Convención
nos define que el valor O (cero) es equivalente a False y cualquier otro número
(generalmente —1) representa True.
<bibliotecas.h>
void main ()
117
INTRODUCCIÓN A LA PROGRAMACIÓN
int sum;
Sentencias;
Es posible declarar varias variables del mismo tipo por ejemplo si fueran flotantes y
cada una se llama x, y; se escribiría así:
int x, y;
Operaciones entre tipos básicos
Entre dos valores de tipos int y float podemos realizar las operaciones aritméticas
+ - * % (resto de la división entera) / (división). Además, podemos comparar dos
valores, obteniendo una expresión booleana (su resultado será un número distinto
de O, según la expresión sea falsa o verdadera, respectivamente):
< (Menor)
> (Mayor)
<= (menor o igual... les queda como ejercicio imaginarse el mayor o igual)
!=(distinto)
! (Not)
118
Hamilton Omar Pérez N. / José Luis Cazarez V.
%c %c un carácter
%d %d número entero
%u %u número entero sin signo
%x %x entero sin signo en base hexadecimal
%o %o número sin signo en base octal
%f %f número real con signo
%e %e en notación científica en e
%s %s cadena de caracteres
Secuencias de escape
Las secuencias de escape son órdenes que serán interpretados por la pantalla,
archivo o una impresora de alguna manera. Esas secuencias no vienen más que
hacer símbolos. En Borland C++ todas las secuencias empiezan con la barra
invertida \.
119
INTRODUCCIÓN A LA PROGRAMACIÓN
Ejercicios propuestos
Su sintaxis es:
if (condición)
Sentencias;
else
Sentencias;
Las llaves pueden ser omitidas si sólo vamos a ubicar una línea de programación
de lo contrario es obligación ponerlas.
120
Hamilton Omar Pérez N. / José Luis Cazarez V.
Al igual que observamos en los flujogramas existen casos en los cuales las salidas
por falso conducen al final del programa o a continuar con otros procesos, en cuyo
caso se omitirá en la programación al if teniendo algo así:
if (condición)
Sentencias;
Sentencias;
if (condición)
Grupo de Sentencias 1;
else if
Grupo de Sentencias 2;
else if
Grupo de Sentencias 3;
121
INTRODUCCIÓN A LA PROGRAMACIÓN
Crear un programa que permita ingresar una nota; si es mayor o igual 14 desplegar
“reprobado”, caso contrario “aprobado.
void main ()
clrscr ();
int N;
if (N <= 14)
printf (“Reprobado”);
else
printf (“Aprobado”);
Crear un programa que permita la suma o resta de dos números ingresados por
teclado.
void main ( )
122
Hamilton Omar Pérez N. / José Luis Cazarez V.
clrscr ();
flota A, B, X;
int op;
gotoxy (4,6);
gotoxy (4,8);
if (op== 1)
X = A + B;
getch ();
else
X = A - B;
getch ();
123
INTRODUCCIÓN A LA PROGRAMACIÓN
Escribir un programa que ingrese dos números a continuación desplegar los números
ingresados y el mayor seguidos por las palabras “es mayor”; si los números son
iguales que imprima el mensaje “estos números son iguales”. Utilizar el operador
condicional.
#include<stdio.h>
#include<conio.h>
void main()
int a,b;
scanf (“%i”,&a);
scanf (“%i”,&b);
if (a==b)
printf(“\n\nSon iguales”);
else
if(a>b)
getch();
124
Hamilton Omar Pérez N. / José Luis Cazarez V.
#include<stdio.h>
#include<conio.h>
void main()
int a, p;
p=a%2;
if (p==0)
else
125
INTRODUCCIÓN A LA PROGRAMACIÓN
a=2;
b=3
If(a ==b) …
If (O)…
If (1) …
If (-100) …
También podemos probar varias condiciones en una sola usando && (AND), ll (OR).
126
Hamilton Omar Pérez N. / José Luis Cazarez V.
If (a>10 && a<100 && b>200 && b<5009 /* Se deben cumplir las cuatro
Condiciones*/
127
INTRODUCCIÓN A LA PROGRAMACIÓN
Actividades
1. En los ejercicios anteriores construya el flujograma y el pseudocódigo
correspondiente.
2. Elabore un organizador gráfico para explicar la instrucción IF.
3. Qué valor se le asigna a la variable consumo en la sentencia f siguiente
si la:
• Variable velocidad vale 120? ¿Y si velocidad vale 110? Si quiere estar seguro de
• Que su respuesta está bien, codifique el ejemplo con C++.
4. Escribir un programa que lea una nota de un examen por teclado y
devuelva la:
Calificación que tiene.
La calificación podrá ser: Insuficiente (0-4.99), Regular (5-6.99), buena (7-8), Muy
buena (8.1-8.9) o sobresaliente (9.0-10); utilizando la sentencia de control if else-if.
Mejore el ejercicio anterior de modo que si el usuario introduce un valor menor
5. Que cero o un valor mayor que 10 se muestre por pantalla un mensaje de
error y finalice el programa.
6. Escribir un programa que lea dos números enteros por teclado y determine
cuál es el mayor y cuál es el menor. También deberá considerar el caso en el
que los dos números sean iguales.
7. Dadas las variables enteras: i = 10, j=5 y k -2, ¿y las variables de tipo carácter
c1=’w’ y c2 = ‘? ‘. Indique si las siguientes condiciones son ciertas o falsas.
a) (i< 10) && (j==5);
B) (i <= 10) && (j = = 5); e)! (k>3);
d) (¡k! =3) (el ==
e) (el == 119) && (¿c2==’?’);
f) ((i>10) lI (k<=0)) && ((c1 == ‘w’) && (c2==63))
g) ((i>9) && (k<=-1)) && ((c1==’t’) (c2==63))
h) ((i>9) && (k<=-1)) && (c1==’t’) H (c2==65)
I) (k==-2) ll (i>20) (j! =5) (c1 == ‘w’) ll (c2 ==63)
j) ((k +j) = = 3) && ((i + -2) = 17)
128
Hamilton Omar Pérez N. / José Luis Cazarez V.
SWITCH
El formato de la sentencia switch es:
switch (variable)
case opción 1:
Valor de la opción 2
break
default:
break;
Vamos a ver cómo funciona. La sentencia switch sirve para elegir una opción entre
varias disponibles. Aquí no tenemos una condición que se debe cumplir sino el
valor de una variable. Dependiendo del valor se cumplirá un caso u otro.
Vamos a ver un ejemplo dé múltiples casos con if-else y luego con switch:
int main ()
int num;
if (num==1)
129
INTRODUCCIÓN A LA PROGRAMACIÓN
else if (num==2)
else if (num==3)
else
#include<stdio.h>
int main ()
int num;
switch (num)
case 1:
break,
case 2:
break;
case 3:
break;
130
Hamilton Omar Pérez N. / José Luis Cazarez V.
default:
Como vemos el código con switch es más cómodo de leer. Sin embargo, switch
tiene algunas limitaciones, por ejemplo, no podemos usar condiciones en los case.
Actividades
#include <stdio.h>
void main ()
int num;
case 1:
çase 2:
break;
default:
131
INTRODUCCIÓN A LA PROGRAMACIÓN
# ínclude <stdio.h>
void main ()
línea3 */
resultado:
línea 1
línea 3
Como vemos no se ejecuta el printf de Línea 2 porque nos lo hemos saltado con el
goto. El goto sólo se puede usar dentro de funciones, y no se puede saltar desde
una función a otra, (las funciones las estudiamos más adelante).
132
Hamilton Omar Pérez N. / José Luis Cazarez V.
Actividades
FOR
sentencias;
Esta instrucción facilita muchas tareas cuando conocemos con exactitud cuántas
veces se desea ejecutar un proceso, puesto que basta con definir el inicio, el
final y el incremento o disminución de un contador. Pero esta ventaja también lo
imposibilita para resolver casos donde se requiere ejecutar un proceso de manera
indefinida previamente.
Escribir un programa que calcule los cuadrados y los cubos de los números del 1
al 10, utilizando tabuladores para imprimir la siguiente tabla de valores.
#include<stdio.h>
#include<conio.h>
void main ()
int a, b, c, d;
clrscr ();
133
INTRODUCCIÓN A LA PROGRAMACIÓN
gotoxy(23,7+a);
for (a=1;a<=10;a++)
gotoxy(8,7+a); printf(“%i”,a);
for (a=1;a<=10;a++)
gotoxy(23,7+a);
b=a*a;
printf(“%i”,b);
for (a=1;a<=10;a++)
gotoxy(36,7+a);
d=a*a*a;
printf(“%i”,d);
getch();
#include<stdio.h>
134
Hamilton Omar Pérez N. / José Luis Cazarez V.
#include<conio.h>
void main()
clrscr ();
for (i=1;i<=100;i++)
Cuadrado= j*j;
Cubo=i*i*i;
getch (),
Xmedia = [x1x2x3…xn]1/n
#include<stdio.h>
#include<conio.h>
void main()
float m,n,o,p,r;
clrscr();
gotoxy(26,5);
135
INTRODUCCIÓN A LA PROGRAMACIÓN
printf(“MEDIA GEOMETRICA”);
scanf(“%i”,&r);
for (m=1;m<=r;m++)
cprintf(“\n\r %i”,m);
} p=m^(1/r);
gotoxy(26,8);
getch();
19 o 20 “sobresaliente”
14 o 15 “buena”
#include<stdio.h>
#include<conio.h>
void main ()
clrscr ();
int nota 1;
136
Hamilton Omar Pérez N. / José Luis Cazarez V.
if (nota19||nota==20)
printf(“SOBRESALIENTE’);
if(notal 6llnota==17||nota==1 8)
if (nota==15||nota==14) {printf(“BUENA”);
if(nota<=11 )
printf (” INSUFICIENTE’);
}}
getch ();
#include<stdio.h>
#include<math.h>
void main ()
137
INTRODUCCIÓN A LA PROGRAMACIÓN
clrscr ();
Int num, i;
float p;
printf(“DIGITE UN NUMERO”);
scanf(”%i”, &num);
if (num>=O)
p=1;
p=p*j;
else
getch ();
138
Hamilton Omar Pérez N. / José Luis Cazarez V.
do {
Sentencias
while (condición)
La función while ejecuta los procesos, pero antes se cerciora que la condición se
esté cumpliendo, su sintaxis es:
while (condición)
Sentencias
Ejemplo:
El número 8351, debe imprimir 1538. Diseñar el algoritmo y lenguaje c++ respectivo
#include<stdio.h>
#include<conio.h>
void main ()
139
INTRODUCCIÓN A LA PROGRAMACIÓN
clrscr ();
num =0
while (cifra>O)
r= (cifra % 10);
num=num*10+r;
cifra=(cifra/1 O);
getch ();
PV = 0.37 (T + 460)
#include<stdio .h>
#include<conio .h>
void main()
char p,v,m,t;
op=´s´;
140
Hamilton Omar Pérez N. / José Luis Cazarez V.
while(op==´s´)
clrscr();
getch();
getch ();
3. Ingresar por teclado los siguientes datos horas, colas, cerveza, tabacos,
hamburguesas, hotdog esto se realizará las veces que el usuario crea al
momento que ya no desea ingresar desplegar por pantalla la caja diaria para
esto tendremos los siguientes datos: * cada hora =1.50, * cada cola=0.60, *
una cerveza=0.70, * cada tabaco= 0.10, * cada hamburguesa=1.20 y * cada
hotdog=0.90.
codificación
#include<stdio.h>
#include<conio.h>
void main()
int h,co,ce,ha,ho,t;
float th,tc,tco,tha,tho,tt,tf,tce;
char c;
do {
141
INTRODUCCIÓN A LA PROGRAMACIÓN
clrscr();
gotoxy(3,6);printf(“horas: “);scanf(“%f”,&r );
th=h*1.50;
gotoxy(17,6);printf(“%.2f”,th);
gotoxy(3,7);printf(“colas: “);scanf(“%d”,&co );
tco=co*0.60;
gotoxy(17,7);printf(“%.2f”,tco);
gotoxy(3,8);printf(“cerveza: “);scanf(“%d”,&ce );
tce=ce*0.70;
gotoxy(17,8);printf(“%.2f”,tce);
gotoxy(3,9);printf(“tabacos: “);scanf(“%d”,&t );
tt=t*0.10;
gotoxy(17,9);printf(“%.2f”,tt);
gotoxy(3,10);printf(“hamburgesas: “);scanf(“%d”,&ha );
tha=ha*1.20;
gotoxy(17,10);printf(“%.2f”,tha);
tho=ho*0.90;
gotoxy(17,11);printf(“%.2f”,tho);
tc=th+tco+tce+tt+tha+tho;
tf=tf+tc;
do {
gotoxy(17,15);printf(“ “);
142
Hamilton Omar Pérez N. / José Luis Cazarez V.
gotoxy(3,15);printf(“continuar s/n”);
gotoxy(17,15);scanf(“%s”,&c);
}while(c!=’s’&& c!=’n’);
}while(c==’s’|| c==’S’);
getch();
143
INTRODUCCIÓN A LA PROGRAMACIÓN
144
Hamilton Omar Pérez N. / José Luis Cazarez
Bibliografía
Netgrafía
Cazar, H. (2009). Compendio de computación Siglo XXI. Quito: Ed. Reivaj.
145
INTRODUCCIÓN A LA PROGRAMACIÓN
146