Está en la página 1de 43

República Bolivariana de Venezuela

Ministerio del Poder Popular Universitaria

Instituto Universitario de tecnología Venezuela

II semestre – Noche

Taller de programación

Autor(es):

Colmenares Yonar CI: COD:1038246

Marín Tomas CI: 16.598.289 COD:1038264

Torres Carbelis CI: 25.482.106 COD: 1038297

Caracas, junio del 2020


INDICE

Parte I ________________________________________________ Pág. 3 - 9

Parte II ________________________________________________ Pág. 10 – 14

Parte III ________________________________________________ Pág. 15 – 21

Parte IV ________________________________________________ Pág. 22 – 24

Parte V _________________________________________________ Pág. 25 – 30

Parte VI ________________________________________________ Pág. 31 – 39

Referencias ______________________________________________ Pág. 40

Anexos _________________________________________________ Pág. 41 - 42


PARTE I

Introducción a los lenguajes de programación

Charles Babbage, profesor de matemáticas en la universidad de Cambridge en los

años de 1828 a 1839. Puede ser considerado como el padre de los computadores,

entre 1833 y 1842 Babbage intento construir una máquina que fuese programable,

esta máquina lleva por nombre la maquina Analítica. El diseño se basaba en una

máquina calculadora, controlada por una secuencia de instrucciones, con una unidad

de proceso, una memoria central, facilidades de entrada y salida de datos, y

posibilidades de control paso a paso, la secuencia de instrucciones usaba tarjetas

perforadas Ada Augusta Byron (Lady Ada Lovelace), Condesa de Lovelace,

matemática; colaboro con Babbage económicamente y promovió activamente la

maquina analítica de Babbage. Lady Ada Lovelace escribió programas para la

maquina analítica, estas primeras instrucciones hacen de Ada Lovelace la primera

programadora de computadoras en el mundo.

Al principio de la historia no existían los lenguajes de programación, los

computadores se programaban en el lenguaje que entendía la unidad de

procesamiento, es decir el código maquina (es un conjunto de instrucciones

3
entendibles directamente por el ordenador, puesto que se componen de unos y

ceros).

El UNIVAC fue el primer computador comercial (1951), se vendieron varias

decenas de instalaciones en organismos oficiales, ejército y empresas importantes. Se

impartían cursos de programación y apareció la figura del programador (manual de

programación del UNIVAC 1959). Los primeros lenguajes de programación

aparecieron a finales de la década de los 50.

El FORTRAN fue el primero de ellos. Lo desarrolló un equipo de IBM dirigido

por John W. Backus. A finales de 1953, Backus lanzó la propuesta de desarrollar una

alternativa más productiva al lenguaje de programación ensamblador: escribir los

programas en un lenguaje más expresivo y traducirlos a ensamblador (FORmula

TRANslating system). El primer manual de FORTRAN apareció en octubre de 1956

y el primer compilador se terminó en abril de 1956.

Desde 1954 hasta la actualidad se han documentado más de 2.500 lenguajes de

programación. Entre 1952 y 1972, la primera época de los lenguajes de

programación, se desarrollaron alrededor de 200 lenguajes, de los que una decena

fueron realmente significativos y tuvieron influencia en el desarrollo de lenguajes

posteriores.

Al principio, los lenguajes se diseñaban únicamente para poder ejecutar los

programas eficientemente. Los ordenadores, carísimos, eran el recurso crítico, y los

programadores eran bastante baratos. Un lenguaje de alto nivel tenía que ser

4
competitivo con la ejecución de un código en ensamblador. A mediados de los años

60, cuando se habían diseñado FORTRAN, COBOL, LISP y ALGOL, John Backus

(creador de FORTRAN) se dio cuenta que la programación estaba cambiando. Las

máquinas eran menos caras, el coste de la programación estaba aumentando, aparecía

la necesidad de mover o migrar los programas de unas estaciones a otras, y surgía la

necesidad de llevar un buen mantenimiento de los programas resultantes. El objetivo

de un lenguaje de alto nivel se transformó no sólo en en ejecutar los programas

eficientemente, sino también en facilitar el desarrollo de programas para resolver

problemas en determinadas áreas de aplicación. La tecnología de los ordenadores

maduró entre 1960 y 1970 y los lenguajes se centraron en resolver problemas

específicos de un dominio. Los programas científicos generalmente se

implementaban en FORTRAN, las aplicaciones para los negocios en COBOL, las

aplicaciones militares en JOVIAL, las de inteligencia artificial en LISP y las militares

internas en Ada. Al igual que sucede con los lenguajes naturales, los lenguajes de

programación a veces dejan de usarse. ALGOL no se utiliza desde los años 60, se

reemplazó por Pascal, el cual se reemplazó a su vez por C++ y Java. COBOL, que se

utilizaba para las aplicaciones mercantiles, se sustituyó también por C++.

5
¿Qué es un lenguaje de programación?

Se entiende como lenguaje de programación a un programa destinado a la

construcción de otros programas informáticos. Su nombre se debe a que comprende

un lenguaje formal que está diseñado para organizar algoritmos y procesos lógicos

que serán luego llevados a cabo por un ordenador o sistema informático, permitiendo

controlar así su comportamiento físico, lógico y su comunicación con el usuario

humano.

Dicho lenguaje está compuesto por símbolos y reglas sintácticas y semánticas,

expresadas en forma de instrucciones y relaciones lógicas, mediante las cuales se

construye el código fuente de una aplicación o pieza de software determinado. Así,

puede llamarse también lenguaje de programación al resultado final de estos procesos

creativos. La implementación de lenguajes de programación permite el trabajo

conjunto y coordinado, a través de un conjunto afín y finito de instrucciones posibles,

de diversos programadores o arquitectos de software, para lo cual estos lenguajes

imitan, al menos formalmente, la lógica de los lenguajes humanos o naturales.

Tipos de lenguaje de programación

 Lenguajes de bajo nivel: Se trata de lenguajes de programación que están


diseñados para hardware especifico y que por lo tanto no pueden migrar o
exportarse a otros computadores, sacan el mayor provecho posible al sistema
para el que fueron diseñados, pero no aplican para ningún otro.

 Lenguajes de alto nivel: Se trata de lenguajes de programación que


aspiran ser un lenguaje más universal, por lo que pueden emplearse
indistintamente de la arquitectura del hardware, es decir, en diversos tipos de
sistemas, los hay de arquitectura del hardware, es decir, en diversos tipos de
sistemas, y los hay de propósito general y de propósito específico.

6
 Lenguajes de nivel medio: Este término no siempre es aceptado, que
propone lenguajes de programación que se ubican en un punto medio entre los
dos anteriores: pues permite operaciones de alto nivel y a la vez la gestión
local de la arquitectura del sistema.

 Lenguajes imperativos: Son menos flexibles, dada la secuencialidad en


que construyen sus instrucciones, estos lenguajes programan mediante
ordenes condicionales y un bloque de comandos al que retornan una vez
llevada a cabo la función.

 Lenguajes funcionales: También llamados procedimentales, estos


lenguajes programan mediante funciones que son invocadas conforme a la
entrada recibida, que a su vez son resultado de otras funciones.

La evolución de los lenguajes de programación se puede dividir en 5 etapas o


generaciones:

 Primera generación: Lenguaje máquina

 Segunda generación: Se crearon los primeros lenguajes ensambladores

 Tercera generación: Se crean los primeros lenguajes de alto nivel, como

por ejemplo C, Pascal, Cobol.

 Cuarta generación: Son los lenguajes capaces de generar código por si

solos, son los llamados RAD, con los cuales se pueden realizar aplicaciones

sin ser experto en el lenguaje, también se pueden encontrar los lenguajes

orientados a objetos, haciendo posible la reutilización de partes del código

para otros programas, como por ejemplo visual.

 Quinta generación: Se encuentran los lenguajes orientados a la

inteligencia artificial, cabe destacar que estos lenguajes están en pleno

desarrollo, como por ejemplo drones, chatbots

7
Paradigma de Programación

Esto consiste en un método para llevar a cabo cómputos (cuenta o calculo) y la

forma en la que deben estructurarse y organizarse las tareas que debe realizar un

programa, se trata de una propuesta tecnológica adoptada por una comunidad de

programadores y desarrolladores cuyo núcleo central es incuestionable en cuanto que

únicamente trata de resolver uno o varios problemas claramente delimitados; la

resolución de estos problemas debe suponer consecuentemente un avance

significativo en al menos un parámetro que afecte a la ingeniería de software,

representa un enfoque particular o filosofía para diseñar soluciones, los paradigmas

difieren unos de otros, en los conceptos y la forma de abstraer los elementos

involucrados en un problema , así como en los pasos que integran su solución del

problema, en otras palabras, el computo, tiene una estrecha relación con la

formalización de determinados lenguajes en su momento de definición, es un estilo de

programación empleado.

Un paradigma de programación está delimitado en el tiempo en cuanto

aceptación y uso, porque nuevos paradigmas aportan nuevas o mejores

soluciones que lo sustituyen parcial o totalmente.

8
Tipos de paradigma de programación

 Programación Imperativa
 Programación funcional
 Programación lógica
 Declarativo
 POO Orientado a Objetos
 Por procedimientos

9
PARTE II

Algoritmos

Es una secuencia de instrucciones secuenciales, en la cual se pueden llevar a cabo

ciertos procesos y darse respuesta a determinadas necesidades o decisiones, se trata

de conjuntos ordenados y finitos de pasos, que nos permiten resolver un problema o

tomar decisión.

Los algoritmos no tienen que ver con los lenguajes de programación, dado que un

mismo algoritmo o diafragma de flujo puede representarse en diversos lenguajes de

programación, es decir, se trata de un ordenamiento previo a la programación.

Diseño de algoritmos

El diseño de algoritmos es un método específico para poder crear un modelo

matemático ajustado a un problema específico para resolverlo, el diseño de

algoritmos o algorítmica es un área central de las ciencias de la computación, también

muy importante para la investigación de operaciones (también conocida como

investigación operativa), en ingeniería del software.

Características de los algoritmos

Las características fundamentales que debe cumplir todo algoritmo son:

10
 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

 Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe

obtener el mismo resultado cada vez.

 Un algoritmo debe ser finito. el algoritmo se debe terminar en algún

momento; o sea, debe tener un número finito de pasos. 

 Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que

permita entenderlo y leerlo fácilmente.

Pseudocodigo

Es una forma de expresar los distintos pasos que va a realizar un programa, de la

forma más parecida a un lenguaje de programación, su principal función es la de

representar por pasos la solución a un problema o algoritmo, de la forma más

detallada posible, utilizando un lenguaje cercano al de programación, el seudocódigo

no puede ejecutarse en un ordenador ya que entonces dejaría de ser seudocódigo, se

trata de un código falso (pseudo=falso), es un código escrito para que lo entienda el

ser humano y no la máquina.

Diagrama de flujo

Es un diagrama que describe un proceso, sistema o algoritmo informático, se usan

ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y

comunicar procesos que suelen ser complejos en diagramas claros y fáciles de

comprender, los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras

numerosas figuras para definir el tipo de paso, junto con flechas conectoras que

11
establecen el flujo y la secuencia. Los diagramas de flujo pueden ser simples y

dibujados a mano hasta diagramas exhaustivos creados por computadora que

describen múltiples pasos y rutas.

Resolución del problema

Consiste en el proceso a partir de la descripción de un problema, expresado

habitualmente en lenguaje natural y en términos propios del dominio del problema,

permite desarrollar un programa que resuelva dicho problema.

Análisis del problema

Se entiende como análisis del problema cuando un usuario plantea un problema

que resolver de su ordenador, por lo general ese usuario tendrá conocimientos más o

menos amplios sobre el dominio del problema, pero no es habitual que tenga

conocimientos de informática. Del mismo el informático que va a resolver un

problema puede ser un experto programador, pero en principio no tiene por qué

conocer el dominio del problema.

Pasos para la solución del problema

1. Análisis previo del problema: En esta etapa se debe definir y tener claro

lo que el programa tiene que hacer junto con las tareas que debe realizar para

llevar a cabo la solución, que datos se necesitan para realizar las tareas, que

formato deben tener los datos de entrada, de donde provienen los datos de

entrada, de donde provienen los datos de entrada, como se obtienen los datos,

como interactúan los datos entre sí para obtener el resultado, se debe tener

12
claro cuál será el resultado que se desea obtener, tampoco dejar de lado las

restricciones que puede haber al momento de procesar los datos.

2. Diseño del algoritmo: El algoritmo se puede realizar de cualquier forma

sea seudocódigo o un diagrama de flujo, la idea principal es que sea

entendible, no solo por el que lo diseño sino por cualquier persona, en pocas

palabras se define qué es lo que hará el programa, y se define como lo hará.

3. Configuración del entorno de desarrollo y codificación: Consiste en

transcribir o adaptar el algoritmo aun lenguaje de programación, se tendrá que

adaptar todos los pasos diseñados en el algoritmo con sentencias y sintaxis

propias del lenguaje, verificar errores, organizar el código y comentarlo, son

buenas practicas que hacen más legibles y facilitan la depuración.

4. Compilación y pruebas: Esta fase permite detectar errores en tiempo de

compilación, ejecución y lógicos, en el casi de java se generara uno o varios

archivos bytecode que serán ejecutados por la computadoras, también es

necesario realizar pruebas con una gran cantidad de datos para encontrar

posibles errores y corregirlos.

5. Documentación y mantenimiento: Se debe tener una documentación de

todos los pasos hasta llegar a la solución del problema, a veces es un poco

tedioso esta fase pero también es muy importante ya que muchas veces

13
suceden modificaciones con el pasar del tiempo y estas se hacen en algunos

casos por otros programadores diferentes a los que lo crearon.

14
PARTE III

Herramientas de programación

Son aquellas que permiten realizar aplicativos, programas, rutinas, utilitarios y

sistemas para que la parte física del computador u ordenador, funcione y pueda

producir resultados.

Concepto de programa

Es un conjunto de pasos lógicos escritos en un lenguaje de programación que nos

permite realizar una tarea específica, el programa suele contar con una interfaz de

usuario, es decir, un medio visual mediante el cual interactuamos con la aplicación,

algunos de ellos son la calculadora, el navegador de internet, un teclado en pantalla

para el celular, etc.

Codificación de programas

La codificación de programas o también llamada la programación del software,

consiste en transformar en código fuente el lenguaje de programación escogido, los

requerimientos y el diseño funcional planteado

Compilación y ejecución de programas

La compilación es el proceso de traducción de programas fuente a programas

objeto. El programa objeto obtenido de la compilación ha sido traducido

normalmente al código común del lenguaje de máquina.

15
Para conseguir el programa máquina real se debe utilizar un programa llamado

montador o enlazador (linker). El proceso de montaje conduce a un programa en

lenguaje máquina directamente ejecutable.

El proceso de ejecución de un programa escrito en un lenguaje de programación y

mediante un compilador tiene los siguientes pasos:

1. Escritura del programa fuente con un editor (programa que permite a una

computadora actuar de modo similar a una máquina de escribir electrónica) y

guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).

2. Introducir el programa fuente en memoria.

3. Compilar el programa con el compilador.

4. Verificar y corregir errores de compilación (listado de errores).

5. Obtención del programa objeto.

6. El enlazador (linker) obtiene el programa ejecutable.

7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del

programa.

16
Verificación y depuración de programas

La verificación o depuración de un programa es el proceso de ejecución del

programa con una amplia variedad de datos de entrada, llamados datos de test o

prueba, que determinarán si el programa tiene o no errores (“bugs”). Para realizar la

verificación se debe desarrollar una amplia gama de datos de test: valores normales

de entrada, valores extremos de entrada que comprueben los límites del programa y

valores de entrada que comprueben aspectos especiales del programa.

Errores de compilación. Se producen normalmente por un uso incorrecto de las

reglas del lenguaje de programación y suelen ser errores de sintaxis. Si existe un error

de sintaxis, la computadora no puede comprender la instrucción, no se obtendrá el

programa objeto y el compilador imprimirá una lista de todos los errores encontrados

durante la compilación.

Errores de ejecución. Estos errores se producen por instrucciones que la

computadora puede comprender, pero no ejecutar. Ejemplos típicos son: división

entre cero y raíces cuadradas de números negativos. En estos casos se detiene la

ejecución del programa y se imprime un mensaje de error.

17
Errores lógicos. Se producen en la lógica del programa y la fuente del error suele

ser el diseño del algoritmo. Estos errores son los más difíciles de detectar, ya que el

programa puede funcionar y no producir errores de compilación ni de ejecución, y

sólo puede advertirse el error por la obtención de resultados incorrectos. En este caso

se debe volver a la fase de diseño del algoritmo, modificar el algoritmo, cambiar el

programa fuente y compilar y ejecutar una vez más.

IDE para programación

 Eclipse: Es un entorno de programación de código abierto y multiplataforma,

esta soportado por una comunidad de usuarios que lo hace con muchos plugin

de modo que sirva para cualquier lenguaje, sirve para Java, C++, Php, Perl,

etc.

 NetBeans: Se trata de entorno multilenguaje y multiplataforma en el cual se

puede desarrollar un software de calidad, con él se puede crear aplicaciones

web y de escritorio, además cuenta con plugin para trabajar Android.

 Visual Studio: Fue diseñado por Microsoft, antiguamente tenían una versión

de pago que incluía todos los lenguajes y versiones express que eran gratuitas

para un lenguaje en concreto.

 JetBrain: No es un entorno concreto, es una compañía que crea entornos de

programación, es libre y crean entornos para multitud de lenguajes como son

Java, Ruby, Python, PHP, SQL, Objetive-C, C++ Y JavaScript.

18
 QtCreator: Es un entorno de programación para C++ usan el framework

deQT, es un entorno amigable, es un entorno multiplataforma programado en

C++,JavaScript y QML, este IDE está diseñado específicamente para utilizar

el framework de QT.

 CodeLite: Es un IDE de código abierto y libre bajo la licencia GNU (General

Public License) para diversos sistemas operativos, el entorno de desarrollo

integrado usa wxWidgets para su interfaz gráfica, ya que al cumplir con la

filosofía de código abierto usa herramientas completamente libres, al día de

hoy soporta los lenguajes C/C++, PHP y Node.js

Partes de un programa

 Entrada de datos: la constituyen todas aquellas instrucciones que toman

datos de un dispositivo externo, almacenándolos en la memoria central para

que puedan ser procesados.

 Proceso o algoritmo: está formado por las instrucciones que modifican los

objetos a partir de su estado inicial hasta el estado final, dejando éstos

disponibles en la memoria central.

 Salida de resultados: conjunto de instrucciones que toman los datos finales

de la memoria central y los envían a los dispositivos externos.

Instrucciones y tipos de instrucciones

19
Son acciones básicas que se pueden implementar de modo general en un algoritmo

y que esencialmente soportan todos los lenguajes, las instrucciones básicas son

independientes del lenguaje.

 Instrucciones de transferencia de datos: en este tipo de instrucciones, se

transfieren datos desde una localización a otra. Los pasos que se siguen para

realizarlo son:

1. Determinación de las direcciones de origen y destino de memoria.

2. Realización de la transformación de memoria virtual a memoria real.

3. Comprobación de la cache.

4. Inicio del proceso de lectura/escritura en la memoria.

 Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o

después. Realizan operaciones aritméticas de las que se encarga la ALU. Se

pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos

(suma, resta).

 Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de

realizar estas operaciones, que en este caso son de tipo lógico.

 Instrucciones de conversión: similares a las aritméticas y lógicas. Pueden

implicar lógica especial para realizar la conversión.

 Instrucciones de transferencia de control: actualizan el contador de

programa (PC). Administran las llamadas/retornos a las subrutinas, el paso

de parámetros y el enlazado.

20
 Instrucciones de E/S (entrada/salida): administran los comandos de

entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la

dirección de este mapa.

Instrucciones de asignación

Consisten en tomar el valor de la derecha del operador de asignación (=) y

almacenarlo en el elemento de la izquierda. En pocas palabras una instrucción de

asignación es asignar el resultado de la evaluación de expresión a una variable.

Instrucciones de lectura de datos (entrada)

Esta instrucción lee datos de un dispositivo de entrada.

Instrucciones de escritura de resultados (salida)

Estas instrucciones se escriben en un dispositivo de salida.

Instrucciones de bifurcación

En desarrollo lineal de un programa se interrumpe cuando se ejecuta una

bifurcación, las bifurcaciones pueden ser, según el punto del programa donde se

bifurca, hacia adelante o hacia atrás.

Instrucciones de repetición

La estructura de repetición o bucle hace posible la ejecución repetida de una o más

instrucciones, estas instrucciones describen procesos que se repiten varias veces en la

21
solución del problema, se utiliza para repetir una sentencia o grupo de un número fijo

de veces.

PARTE IV

Elementos básicos de un programa

 Palabras reservadas: son palabras especiales utilizadas solo por el

lenguaje para ejecutar una función específica y que no podemos

utilizar en el desarrollo del programa para un fin distinto, por ejemplo,

inicio, fin, escribir, leer, si-entonces, etc.

 Identificadores: son los nombres que les damos a las variables,

funciones, programa, etc., para identificarlos

 Caracteres especiales: son elementos como comas, comillas, punto y

coma, paréntesis, que son partes del lenguaje algorítmico o de

programación

 Constantes: son datos que no van a modificarse en la ejecución de

programa

 Variables: datos cuyo valor se puede modificar en la ejecución del

programa

22
 Expresiones: son las sentencias o pasos que se ejecutan en un

programa

También se pueden mencionar los siguientes elementos

 Bucles

 Contadores

 Acumuladores

 Interruptores

 Estructuras

 Secuenciales

 Selectivas

 Repetitivas

Datos, tipos de datos y operaciones primitivas

Datos: es un objeto o elemento que tratamos a lo largo de diversas operaciones

Tipos de datos:

1. Datos numéricos

 Real

 Entero

2. Datos enteros

3. Datos lógicos o booleanos

23
4. Datos de carácter

Operaciones primitivas: estas pueden ser una constante o variable sobre la

cual se realiza una determinada operación u acción

Datos numéricos

Se pueden caracterizar en datos continuos o discretos, los datos continuos pueden

asumir cualquier valor dentro de un rango mientras que los datos discretos tienen

valores distintos

Datos lógicos o booleanos

Aquel que solo puede tomar uno de los dos valores, verdadero o falso (1/0)

Datos de carácter y tipo cadena

Abarca el conjunto finito y ordenado de caracteres que reconoce la computadora

(letras, dígitos, caracteres especiales, ASCII)

Tipo de cadena o String: conjunto de caracteres, que van a estar entre comillas

(“”).

24
PARTE V

Estructura básica de un programa C++

Directivas de preprocesador

Declaraciones globales (variables globales, funciones,…)

Función main()

Secuencia de declaraciones e instrucciones

función1 ()

Secuencia de declaraciones e instrucciones

25
...

Función ()

Secuencia de declaraciones e instrucciones

Tipos de datos en C++

Entrada y salida en C++

dispone de una librería para entrada salida: Standard Input-Output Library que

permite ejecutar operaciones básicas de E/S. Las declaraciones requeridas por esta

librería están contenidas en el archivo de encabezado “stdio.h”, que debe incluírse

con la directiva correspondiente:

26
Modificadores de Formato

Algunos de los códigos superiores pueden aceptar caracteres modificadores de

formato para ajustar aún mejor la entrada o salida de datos de maneras específicas:

Ancho Mínimo

Un número entero colocado entre un signo de% y el comando de formato actúa

como un especificador de ancho de campo mínimo y rellena la salida con espacios o

ceros para que sea lo suficientemente larga. Si desea rellenar con ceros, coloque un

cero antes del especificador de ancho de campo mínimo:

% 012d

También puede especificar el ancho mínimo del campo en una variable int si en

lugar de un número coloca el signo *:

ancho int = 12 ;

int edad = 100 ;

printf ( "% * d" , ancho, edad ) ;

Precisión

También puede incluir un modificador de precisión, en forma de .N donde N es

algún número, antes del comando de formato:

% 012.4d

27
El modificador de precisión tiene diferentes significados según el comando de

formato utilizado:

Con % e , % E y % f , el modificador de precisión le permite especificar el

número de lugares decimales deseados. Por ejemplo, % 12.6f mostrará un

número flotante de al menos 12 dígitos de ancho, con seis decimales.

Con % g y % G , la precisión modificador determina el número máximo de

dígitos significativos representada.

Con % s , el modificador de precisión simplemente actúa como una longitud de

campo máxima, para complementar la longitud de campo mínima que precede al

período.

Al igual que con el especificador de ancho de campo, puede usar una variable int

para especificar el modificador de precisión usando el signo *:

const char * msg = "Hola printf" ;

int string_size = strlen ( msg ) ;

printf ( "mensaje:%. * s" , tamaño_cadena, mensaje ) ;

Justificación

Toda la salida de printf está justificada a la derecha, a menos que coloque un signo

menos justo después del signo%. Por ejemplo,

% - 12.4f

28
mostrará un número de coma flotante con un mínimo de 12 caracteres, 4 lugares

decimales y se justificará a la izquierda.

Estructura de control

Las estructuras de control permiten modificar el flujo de ejecución de las

instrucciones de un programa.

Con las estructuras de control se puede:

 De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-

Then-Else)

 De acuerdo con el valor de una variable, ejecutar un grupo u otro de

sentencias (Switch-Case)

 Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-

While)

 Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-

Until)

 Ejecutar un grupo de sentencias un número determinado de veces (For-Next)

IF

Un if en programación se utiliza para evaluar una expresión condicional: si se

cumple la condición (es verdadera), ejecutará un bloque de código. Si es falsa, es

posible ejecutar otras sentencias.

29
?:

Es un condicional que cumple con una instrucción o grupo de instrucciones que se

pueden ejecutar o no en función del valor de una condición.

Switch

El switch o conmutador es el dispositivo digital lógico de interconexión de equipos

que trabaja en la capa de enlace de datos del modelo OSI.

WHILE

Bucle mientras es un ciclo repetitivo basado en los resultados de una expresión

lógica; se encuentra en la mayoría de los lenguajes de programación estructurados. El

propósito es repetir un bloque de código mientras una condición se mantenga

verdadera.

DO WHILE

Son una estructura de control cíclica, los cuales nos permiten ejecutar una o varias

líneas de código de forma repetitiva sin necesidad de tener un valor inicial e incluso a

veces sin siquiera conocer cuándo se va a dar el valor final, hasta aquí son similares a

los ciclos while, sin embargo el ciclo do-while nos permite añadir cierta ventaja

adicional y esta consiste que nos da la posibilidad de ejecutar primero el bloque de

instrucciones antes de evaluar la condición necesaria.

30
FOR

Son lo que se conoce como estructuras de control de flujo cíclicas o simplemente

estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar

una o varias líneas de código de forma iterativa, conociendo un valor especifico

inicial y otro valor final, además nos permiten determinar el tamaño del paso entre

cada "giro" o iteración del ciclo.

PARTE VI

Funciones

Es un bloque de código que realiza alguna operación. Una función puede definir

opcionalmente parámetros de entrada que permiten a los llamadores pasar

argumentos a la función. Una función también puede devolver un valor como salida.

Prototipos

 Es un modelo limitado de una entidad más completa que vendrá luego.  En este

caso, la función “relleno” es la entidad completa que vendrá luego y el prototipo se

ilustra en la línea.

Paso de argumentos

31
Existen cinco formas de pasar un argumento a una función (subrutina)

o procedimiento, por valor, por referencia, por resultado, por valor-resultado y por

nombre.

 Paso por valor: El paso de parámetros por valor consiste en copiar el

contenido de la variable que queremos pasar en otra dentro del ámbito local de

la subrutina, consiste pues en copiar el contenido de la memoria del

argumento que se quiere pasar a otra dirección de memoria, correspondiente

al argumento dentro del ámbito de dicha subrutina.

 Paso por referencia: El paso de parámetros por referencia consiste en

proporcionar a la subrutina a la que se le quiere pasar el argumento

la dirección de memoria del dato. En este caso se tiene un único valor

referenciado (o apuntado) desde dos puntos diferentes, el programa principal y

la subrutina a la que se le pasa el argumento, por lo que cualquier acción sobre

el parámetro se realiza sobre la misma posición de memoria.

Valores de retorno

Son módulos de programa que pueden recibir datos de entrada por medio de

variables locales (parámetros) y posteriormente retorna un resultado al punto donde

es llamado. Este tipo de métodos se utiliza para operar cualquier tipo de proceso que

produzca un resultado.

32
Macro

Es una serie de instrucciones que se almacenan para que se puedan ejecutar de

manera secuencial mediante una sola llamada u orden de ejecución.

Recursividad

Se llama recursividad a un proceso mediante el que una función se llama a sí

misma de forma repetida, hasta que se satisface alguna determinada condición. El

proceso se utiliza para computaciones repetidas en las que cada acción se determina

mediante un resultado anterior. Se pueden escribir de esta forma muchos problemas

iterativos.

Arrays y Cadenas

Un array es un conjunto de datos del mismo tipo ordenados de forma líneal uno

después del otro. Los componentes de un array se han de referenciar por medio del

nombre del array y un índice de desplazamiento para indicar el componente deseado.

Cadenas de un texto no son mas que arrayas de caracteres, salvo que a este tipo de

arrayas el compilador les da un tratamiento especial. Usted puede manipular las

cadenas de caracteres de la misma manera en que manipula cualquier otro tipo de

array, sin embargo, es preferible hacer uso de una librería estándar especialmente

escrita para manipulación de cadenas de caracteres.

Declaración

Es una lista de nombres (identificadores) que comienzan con un especificador de

tipo de almacenamiento (que es opcional), seguido de especificadores de tipo y otros

33
modificadores. Los identificadores están separados por comas y toda la lista

terminada en punto y coma 

Asignación de Variables

  Para asignar valores a una variable en una gran variedad de lenguajes que

incluye a C++ se usa el operador "=" seguido del valor que se le dará a la variable.

Arreglos multidimensionales

Arreglos multidimensionales pueden ser descritos como arreglos de arreglos. Por

ejemplo, un arreglo bidimensional se puede imaginar como una tabla bidimensional

de un tipo de dato concreto y uniforme.

Declaraciones de arrays

Ejemplo

// ambas son declaraciones válidas

int intArray[];

int[] intArray;

//Tipo de datos primitivos

byte byteArray[];

short shortArray[];

34
boolean booleanArray[];

long longArray[];

float floatArray[];

double doubleArray[];

char charArray[];

//Tipos de datos definidos por el usuario

// una serie de referencias a objetos de

// la clase MyClass (una clase creada por

// el usuario)

MyClass myClassArray[];

Object[] ao, // array de Object

Collection[] ca; // array de Collection

Declaraciones de arreglos multidimensionales

35
Estructura

Ejemplo

Un vector es una serie de elementos en un orden específico, por lo general todos

del mismo tipo (si bien los elementos pueden ser de casi cualquier tipo). Se accede a

los elementos utilizando un entero como índice para especificar el elemento que se

requiere. Las implementaciones típicas asignan palabras de memoria contiguas a los

elementos de los arreglos (aunque no siempre es el caso). Los arreglos pueden

cambiar de tamaño o tener una longitud fija.

Enumeraciones

Ejemplo

Uniones

Ejemplo

36
Entrada y salida de datos archivo

Se trata de archivos ubicados en la memoria interna del dispositivo y con acceso

de lectura y escritura. Para lo cual se propone obtener los datos de un control

EditText para ser grabados en el archivo y un control TextView para visualizar

los datos desde el archivo.

Memoria dinámica

Se refiere a aquella memoria que no puede ser definida ya que no se conoce o no

se tiene idea del número de la variable a considerarse, la solución a este problema es

la memoria dinámica que permite solicitar memoria en tiempo de ejecución.

Archivos

Ejemplo

Para declarar una variable de tipo apuntador a archivo:

#include <stdlib.h>

FILE *fp;

Ejemplo de apertura de un archivo:

37
fp = fopen("datos.txt","w");

La funcion fflush se usa para fÍsicamente escribir (bajar) en el archivo cualquier data

almacenada en el "buffer" intermedio. Para hacer los programas mas eficientes y

reducir las llamadas aL sistema, los archivos mantienen un buffer (memoria)

intermedia, una vez que el buffer esta lleno, los datos se escriben en el archivo. La

rutina fflush fuerza a que el buffer sea escrito en el archivo asociado. Su prototipo es:

int fflush(FILE *fp).

Biblioteca estandar de C++

 Fstream: Flujos hacia/desde ficheros. Permite la manipulación de

archivos desde el programar, tanto leer como escribir en ellos.

 Iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y

sus typedefs estándar. Por ejemplo ostream

 Iostream: Parte del a STL que contiene los algoritmos estándar, es quizá la

más usada e importante (aunque no indispensable).

 La biblioteca list: Parte de la STL relativa a contenedores tipo list; listas

doblemente enlazadas

 Math: Contiene los prototipos de las funciones y otras definiciones para el

uso y manipulación de funciones matemáticas.

 Memory: Utilidades relativas a la gestión de memoria, incluyendo

asignadores y punteros inteligentes (auto_ptr).

 "Auto_ptr": es una clase que conforma la librería memory y permite un fácil

manejo de punteros y su destrucción automaticamente.

38
 Biblioteca new: Manejo de memoria dinámica

 Numeric: Parte de la librería numérica de la STL relativa a operaciones

numéricas.

 Ostream: Algoritmos estándar para los flujos de salida.

 Queue: Parte de la STL relativa a contenedores tipo queue (colas de objetos).

 Librería stdio: Contiene los prototipos de las funciones, macros, y tipos

para manipular datos de entrada y salida.

 Librería stdlib: Contiene los prototipos de las funciones, macros, y tipos

para utilidades de uso general.

 String: Parte de la STL relativa a contenedores tipo string; una

generalización de las cadenas alfanuméricas para albergar cadenas de objetos.

Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas d

elas dificultades que generan los char

 Typeinfo: Mecanismo de identificación de tipos en tiempo de ejecución

 Vector: Parte de la STL relativa a los contenedores tipo vector; una

generalización de las matrices unidimensionales C/C++

 Forward_list Esta librería es útil para implementar con gran facilidad listas

enlazadas simples.

 List Permite implementar listas doblemente enlzadas (listas enlazadas dobles)

facilmente.

 Iterator Proporciona un conjunto de clases para iterar elementos.

39
 Regex Proporciona fácil acceso al uso de expresiones regulares para la

comparación de patrones.

 Thread Útil para trabajar programación multihilos y crear múltiples hilos en

nuestra aplicación.

Referencias Bibliográficas

 http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-

2011/teoria/tema1#sec-2

 http://aprendeenlinea.udea.edu.co/lms/moodle/file.php/561/Modulos/M

odulo_1_Introduccion_a_los_lenguajes_de_programacion.pdf

 https://concepto.de/algoritmo-en-informatica/

40
 https://www.monografias.com/trabajos94/diseno-algoritmos-

programacion-computadoras/diseno-algoritmos-programacion-

computadoras.shtml#algoritmoa

 https://www.lenguajes-de-programacion.com/herramientas-de-

programacion.shtml#:~:text=Las%20herramientas%20de

%20programaci%C3%B3n%2C%20son,funcione%20y%20pueda

%20producir%20resultados.

 https://www.programarya.com/Cursos/C++/Bibliotecas-o-Librerias

41
ANEXOS

(Imagen tomada de http://www.computer-

history.info/Page4.dir/pages/Univac.dir/index.html)

42
Lista de algunos lenguajes de programación

43

También podría gustarte