Está en la página 1de 30

Representación Interna de la Información

Se utiliza el sistema binario (0,1)


0 1
bit

1 0 0 1 1 0 0 1
bayte

L U I S campo

L U I S A N G E L

CODIGO NOM EP EF PP PL PY
registro
.

A CODIGO NOM EP EF PP PL PY
.
R
.
C
.
H
CODIGO NOM EP EF PP PL PY
I

V
Ejemplo
O
CODIGO NOM EP EF PP PL PY
R
E 0100 Juan 12 10 14 12 16
G
0200 Miguel 14 09 |5 11 15
I
S
0300 Pedro 10 11 12 14 16
T 0400 Luis 11 13 16 13 13
R
O
CAMPOS

Bit.- Es la unidad más pequeña de la información que puede tomar dos valores o estados.

0 : off (apagado) 1 : on ( prendido)

Byte.- Está formado por un conjunto consecutivo de 8 bits, un byte representa un carácter, lo
mínimo que se puede leer y gravar es un byte.
Campo. - Conjunto consecutivo de bytes, un campo siembre tiene un nombre y tamaño para poder
identificarlo, en ellos se almacenan los datos propiamente dichos.

Ejemplo:

Codigo
9 9 8 2 5 6
Nombres L u i s A n g e l
Registro. – Viene a ser un conjunto de campos relacionados entre sí por la naturaleza de la
información que ellos contienen.

Los registros deben tener un nombre y longitud para poder identificarlo.

Lr = ∑ Lc

Archivo. - Conjunto de registros relacionados entre sí por el tipo de información que contienen.

PROCESO DE DATOS

Es un conjunto de tareas que transforman los datos (Input) en información (Output), de


manera que un usuario de esta pueda tomar decisiones adecuadas.

ETAPAS DE UN PROCESO DE DATOS

El esquema básico de un proceso de datos comprende tres etapas:

1. ENTRADA DE DATOS (Input)


 Esta etapa consiste en la captura de los datos necesarios para el proceso sea en forma
indirecta o directa, por ejemplo, en forma indirecta captura de los resultados de un censo
en las respectivas cartillas. En forma directa captura de datos con el uso de una lectora de
código de barras.
2. PROCESO DE DATOS.
 Conjunto de operaciones necesarias para transformar los datos en Información, útil y
coherente para que los usuarios puedan tomar decisiones adecuadas.
3. SALIDA (Output)
 Es la información obtenida a partir de los datos procesados

El siguiente cuadro es el esquema grafico de un proceso de datos:

Entrada de Proceso de Salida de


datos datos Informacion

SISTEMA DE PROCESAMIENTO DE DATOS


Es la unión del HARDWARE, SOFTWARE y DATO, incluyendo el factor humano es decir:

SISTEMA = HARDWARE + SOFTWARE + DATO


HARDWARE.- Son las componentes materiales de un sistema, cada una de las partes físicas
incluyendo los periféricos

SOFTWARE. - Es la parte lógica del sistema, en forma general es el conjunto de programas,


métodos y procedimientos para hacer más eficiente el funcionamiento y explotación de un
sistema de procesamiento de datos.

TIPOS

 Software de aplicación
 Sistemas Operativos
 Compiladores
 Interpretes
 Lenguajes de Programación.

Software de aplicación

//Inclusión de librerías del lenguaje C


#include <iostream> // para cin>> y cout<<
#include <conio.h>
#include <stdlib.h>
#include <math.h> // para el manejo de las funciones matemáticas
using namespace std;
//Definición de las constantes

#define pi 3.1416 programa fuente (p1.cpp)


//Programa Principal
int main()
{//Declaración de variables de E/S
float r,area,lc;
//Ingreso de datos
cout<<"Ingrese el radio del circulo : "<<endl; //endl: cambio de linea
cin>>r;
// Proceso
area=pi *r*r;
lc=2*pi*r;
// Salida
cout<<"Area del circulo : "<<area<<" metros cuadrados "<<endl;
cout<<"Longitud de la Circunferencia es : "<<lc<<" metros"<<endl;

cout<<"************* FIN PROCESO ***************"<<endl;


return(0);
getche();
}
Proceso de Compilación y Ejecución de un Programa
LENGUAJES DE PROGRAMACIÓN.

Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un


programador escribir un conjunto de órdenes, acciones consecutivas, datos
y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y
lógico de una máquina.

Mediante este lenguaje se comunican el programador y la máquina, permitiendo


especificar, de forma precisa, aspectos como:

 cuáles datos debe operar un software específico;


 cómo deben ser almacenados o transmitidos esos datos;
 las acciones que debe tomar el software dependiendo de las circunstancias variables.
El ordenador ejecuta las instrucciones que le hemos suministrado previamente en forma de
programa. Pero este programa escrito en un lenguaje determinado necesita ser traducido a
lenguaje de máquina que es comprensible directamente por el ordenador.
.Los Lenguajes de Programación pueden clasificarse de varias maneras las principales son
las siguientes:
 Por su Nivel.
 Por sus Aplicaciones principales.
CLASIFICACIÓN DE LOS LENGUAJES DE ACUERDO A SU NIVEL:
Esta clasificación se refiere a qué tan cercanos están los lenguajes a las características
físicas de la computadora o qué tan próximos están a las necesidades del programador.
LENGUAJE MAQUINA.
Primer Lenguaje de Programación, el único que entiende directamente la computadora:
utiliza el alfabeto binario formado por los símbolos 0 y 1 (apagado / encendido). Son
realmente difíciles de aprender y de manejar, ya que no resultan nada cercanos al ser
humano, pero son muy rápidos, ya que se ahorra mucho tiempo en la respuesta, puesto que
se evitan las traducciones intermedias. A este lenguaje también se le considera un Lenguaje
de Bajo nivel.
Una serie de lenguaje maquina son:
0010 0000 0000 1001
1001 0001 1001 1110
como se puede observar, estas instrucciones serán fáciles de leer por la computadora y
difíciles por un programador, y viceversa. Esta razón hace difícil de escribir programas en
código o lenguaje máquina y requiere buscar otro lenguaje para comunicarse con la
computadora, pero que sea más fácil de escribir y leer por el programador.
Para evitar la tediosa tarea de escribir programas en lenguaje máquina se han diseñado otros
lenguajes de programación que facilitan la escritura y posterior ejecución de los programas.
LENGUAJE DE BAJO NIVEL (ENSAMBLADOR).
Surge con la evolución del Lenguaje Maquina, sustituye las cadenas de símbolos binarios
por nemotécnicos: ADD, SUB, DIV.
Dependen de las características de cada máquina y sólo son comprensibles por
especialistas. Aparecieron durante la primera generación de computadoras.
0110 1001 1010 1011
ADD M, N, P
ADD suma DIV dividir
SUB resta LDA cargar acumulador
MPY multiplicar STO. Almacenar
Una instrucción típica en ensamblador puede ser:
ADD x, y, z
Esta instrucción significa que se debe sumar los números almacenados en las direcciones x,
y, y almacenar el resultado en la dirección z.
Después que un programa ha sido escrito en lenguaje ensamblador se necesita un programa
-llamado ensamblador- que lo traduzca a código máquina.
LENGUAJE DE ALTO NIVEL.
Son desarrollados para el usuario de la computadora, permiten que los procedimientos se
expresen con un estilo comprensible; sin embargo, la computadora no los entiende
directamente. Algunos de estos lenguajes fueron desarrollados durante la Segunda
Generación de computadoras y la mayoría durante la Tercera Generación, por ejemplo:
Pascal, BASIC, Ada, FORTRAN, etc.
Usan traductores (compiladores o interpretes), son independientes de la máquina, las
instrucciones no dependen del diseño de la máquina, los programas son portables o
transportables, pueden ejecutarse en diferentes máquinas.
Por ejemplo, las líneas siguientes son: una línea de un programa en Turbo Pascal y su línea
equivalente en pseudo código.
IF (x=y) AND (z=w) THEN WRITE (`esto es una prueba');
si (x=y) y (z=w) entonces ESCRIBIR (`esto es una prueba');
Estas líneas se pueden comprender fácilmente conociendo la traducción de las palabras
inglesas IF(si), THEN (entonces), WRITE(escribir / imprimir), AND(y) y sin necesidad de
mucha explicación.
Es posible escribir también operaciones como:
Z := x + y la suma x + y se asigna a la variable z.
COMPILADORES E INTERPRETES.
El código generado a través de los Lenguajes de Programación (Código Fuente) debe ser
convertido en una aplicación que pueda ser ejecutada y utilizada. Los compiladores e
intérpretes son una especie de traductores o conversores del lenguaje de programación
(comprensible para el ser humano) a un lenguaje comprensible por la computadora (cercano
a la maquina).
TIPOS DE PROGRAMA:
Una vez escrito un programa éste puede estar en código fuente, código objeto o código
ejecutable.
 Código Fuente: recibe este nombre el conjunto de instrucciones tal y como fueron escritos
por el programador en el lenguaje de alto nivel (también se le conoce como programa
fuente).
 Código Objeto: son las instrucciones de un programa cuando ya han sido traducidas al
lenguaje máquina (también se le conoce como programa objeto).
 Código Ejecutable: es un código objeto que puede ser ejecutado por la computadora de
inmediato (no todos los códigos objeto son ejecutables).
LOS INTERPRETES.
Traduce a lenguaje máquina, cada línea del programa fuente y la ejecuta de inmediato.
Traducen en Lenguaje de Alto Nivel a Lenguaje Maquina, se encargan de traducir cada
instrucción, una por una (o cada línea de instrucciones) contenida en un programa escrito
en cualquier lenguaje de alto nivel a instrucciones en código binario, comprensible por las
computadoras.
Los interpretes no producen código objeto, por ello la ejecución de un programa requiere
forzosamente del código fuente. Además, los programas en lenguaje interpretado se
ejecutan con mas lentitud que aquellos en lenguaje compilado.
LOS COMPILADORES.
A diferencia de los intérpretes que traducen instrucción por instrucción o línea por línea, los
compiladores traducen todo el programa entero y luego lo integran generando un
programa ejecutable por si solo. Con esto se consigue mas eficacia e independencia , ya que
una vez compilado el programa, el compilador no tiene por qué estar presente, pudiendo ser
transportado el programa ejecutable a cualquier computadora, sin ver el listado de ordenes,
ni manejar el compilador.
El compilador es un lenguaje especial que traduce a un programa fuente (escrito en
lenguaje de alto nivel) a un código objeto.
El código o programa fuente es el conjunto de instrucciones en lenguaje de alto nivel.
Un compilador analiza las líneas del programa e identifica ciertas estructuras para
traducirlas adecuadamente a lenguaje maquina. Una vez que se ha efectuado la compilación
puede prescindirse del programa fuente.
El proceso de compilación del Programa Fuente se verifica en cuatro etapas:
 Análisis de léxico: durante esta etapa se verifica que las palabras utilizadas en el programa
fuente pertenezcan al lenguaje.
 Análisis de sintaxis: esta parte de la compilación examina cada instrucción del programa
fuente para que las instrucciones estén organizadas correctamente.
 Generación de código intermedio: este produce un código simbólico que permitirá
efectuar la equivalencia con el lenguaje máquina.
 Generación de código maquina: en esta última etapa se elabora el programa objeto.
El código o programa objeto son las instrucciones de un programa que ya han sido
traducidas a lenguaje máquina.
El código ejecutable es un código objeto que puede ser ejecutado por la computadora de
inmediato.
A modo de resumen podemos decir que los compiladores producen programas que, una vez
depurados y puestos a punto, son ejecutables directamente y los intérpretes, aunque tienen
unas necesidades menores de memoria a la hora de traducir los programas fuente, nos
hipotecan para siempre en cuanto al tiempo de ejecución de los programas.
Existen en el mercado compiladores para todos los lenguajes de alto nivel; los intérpretes
en cambio sólo se han desarrollado para algunos lenguajes de programación siendo los más
conocidos los de BASIC.
CLASIFICACIÓN DE LOS LENGUAJES DE ACUERDO A SUS APLICACIONES
PRINCIPALES:
Esta clasificación se refiere a las ventajas que tienen los lenguajes para resolver ciertos
problemas específicos.
Los principales lenguajes pueden clasificarse de la siguiente manera:
 Lenguajes Clásicos o Tradicionales.
 Lenguajes Visuales (orientados a objetos).
 Lenguajes de Internet.
LENGUAJES CLÁSICOS:
Estos lenguajes están basados en un lenguaje cercano al ser humano en el que se escribe el
código necesario para realizar las operaciones que se requieren (miles y miles de líneas
generalmente), que posteriormente es traducido o compilado generando un programa
ejecutable. Los más conocidos son: el PASCAL, el BASIC, el C, el COBOL, y el
CLIPPER. Dependiendo del programa que se requiera realizar pueden ser mejores unos u
otros.
LENGUAJES VISUALES:
Son lenguajes más avanzadas que los lenguajes clásicos y están basados en objetos. Cada
entidad del programa (eventos, acciones, datos, etc.), es un objeto sobre el que se definen
operaciones. Esto permite almacenar los objetos (con todo su código de programa), en una
serie de librerías y utilizarlos cuando sea necesario, ahorrando al programador el trabajo de
tener que volver a programarlos. Son lenguajes muy intuitivos y fáciles de utilizar, y
sustituyen las tediosas líneas de código, por sencillas y directas representaciones gráficas.
LENGUAJES DE INTERNET:
Son los lenguajes específicos para la creación de páginas Web de Internet, y realizar su
programación (motores de búsqueda, seguridad, establecimiento de comunicaciones, etc.).
Son la última generación de lenguajes. Existen distintos tipos, dependiendo del grado de
especialización, aunque algunos, como el HTML, son lenguajes basados en sencillas
marcas o TAG.
La siguiente tabla muestra los principales lenguajes de programación y su utilidad.
Lenguajes. Utilidad.

BASIC, PASCAL, Aprendizaje de programación.


Ada, C y C++ Programación de sistemas.
Logo Lenguaje didáctico.
COBOL, RPG, Natural, SQL Gestión de empresas.
Algol, FORTRAN, APL Calculo numérico.
CLIPPER, ACCESS, dBASE, Delphi, SQL Bases de datos.
Smalltalk, Actor, C++, Eiffel Programación orientada a objetos (OOP).
Visual Basic, Visual C Programación Windows.
HTML, JAVA, PERL Internet (páginas WEB).
Lingo Programas multimedia.
Prolog, Lisp Inteligencia artificial.
VRLM Realidad virtual.
Mapper, Cogen, Linc Lenguajes de cuarta generación 4GL.

ALGORITMOS

Definición.- Es un conjunto de pasos, procedimientos o acciones que nos permite


alcanzar un resultado o resolver un problema.

Para realizar un programa es conveniente el diseño o definición previa del


algoritmo. El diseño de algoritmos requiere creatividad y conocimientos
profundos de la técnica de programación.

Los algoritmos son más importantes que los lenguajes de programación o las
computadoras. Un lenguaje de programación es sólo un medio para expresar
un algoritmo y una computadora es sólo un procesador para ejecutarlo”.

Los algoritmos son independientes de los lenguajes de programación. En cada


problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje
diferente de programación. El algoritmo es la infraestructura de cualquier
solución, escrita luego en cualquier lenguaje de programación.

Características de los algoritmos

 Preciso. Los pasos o procesos a seguir deben ser precisados claramente e indicar
el orden de realización de las mismas, sin ambigüedades.
 Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado
cada vez.

 Finito. Si se ejecuta un algoritmo, se deba terminar en algún momento, ósea


debe tener un numero finito de pasos.

Entre dos algoritmos que lleven a un mismo objetivo, siempre será


preferible el más corto (se deberá analizar la optimización de tiempos y / o
recursos).

Partes de un Algoritmo

Todo algoritmo debe tener las siguientes partes:


 Entrada
 Proceso
 Salida

Entrada. - Son los datos necesarios que el algoritmo necesita para ser
ejecutado.

Proceso. - Conjunto de operaciones a realizar para dar solución al


problema.

Salida. - Son los resultados obtenidos a través del proceso.

Estructuras Algorítmicas

Estas estructuras se clasifican mediante su complejidad en:


 Secuencial
- Entrada
- Proceso
- Salida
 Condicionales
- Simple
- Dobles
- Anidadas
- Múltiples
 Cíclicas o Repetitivas
- Hacer Mientras que.
- Repetir Hasta que.
- Desde o Para

Estructura Secuencial

Es aquella en que las instrucciones de un programa se ejecutan uno tras otro,


en el mismo orden que aparece dentro del programa, no habiendo ninguna
condición que haga variar la secuencia.
Una estructura secuencial se representa de la siguiente manera

Diagrama de Flujo Pseudocódigo

Inicio
INICIO Acción 1

Acción 2
acción 1
Acción 3
…………..
Acción 2 …………..
Acción n
Fin
Acción 3
Operaciones
Entrada
Leer (a,b)
Proceso
Acción n
A<-3*b
Salida
FIN Mostra(a,b) o
Escribir(a,b)

ETAPAS PARA LA SOLUCION DE UN PROBLEMA

Las etapas que debemos considerar para la solución de un problema son


básicamente 3

1. Análisis del problema


2. Construcción o diseño del algoritmo
 Diagrama de Flujo (DF)
 Pseudocódigo (PS)
3. Verificación del Algoritmo
Después de construir el algoritmo se debe pasar a las siguientes etapas

4. Codificación.
5. Compilación y ejecución.
6. Documentación
 Interna
 Externa
GRAFICAMENTE

1.- Análisis del Problema

 Esta fase se inicia con la definición del problema, el cual requiere una definición clara y
precisa, en la cual se contempla lo que debe hacer el programa y el resultado o solución
deseada.
 Definición de Entrada/Salida (tipo, cantidad)
Se debe responder a las siguientes preguntas:
¿Qué datos se requiere (tipo, cantidad)?
¿Cuál es la salida deseada (tipo , cantidad)
Es decir:
ENTRADA SALIDA
--------- --------
---------- --------
 Consideraciones
Que métodos, procedimientos, acciones o fórmulas matemáticas son necesarios parar
obtener la solución deseada.
Ejemplo.

Un padre repartirá una cantidad de dinero entre sus 5 hijos, cada uno recibirá una cantidad
equivalente a:
 Luis 85% del monto recibido por José
 José 27% de la cantidad a repartir
 Carlos 23% del monto total recibido entre Jose y Daniel
 Daniel 25% de la cantidad a repartir
 David lo que queda del dinero
Datos
Entrada
Monto a repartir monto: v.real.
Salida
Monto para Luis: mlo: v.real.
Monto para José: mjo: v.real.
Monto para Carlos: mca: v.real.
Monto para Daniel: mda: v.real.
Monto para David: mdv: v.real.
Constantes
p85 = 0.85 // 85%
p27 = 0.27 // 27%
p25 = 0.25 // 25%
p23 = 0.23 // 23%

Consideraciones
mjo = p27*monto
mda = p25*monto
mlu = p85*mjo
mca = p23*(mjo + mda)
mdv = monto – (mda + mlu + mjo + mca)

2.- Construcción o Diseño del Algoritmo


 Diagrama de Flujo (DF)
Es la representación gráfica de un algoritmo, muestra con símbolos los pasos o
procesos a seguir para alcanzar la solución de un problema.

Los Símbolos Utilizados en Forma Universal son los siguientes:

SIMBOLOGIA NOMBRE FUNCION


Permite dar a conocer el inicio y fin de
Inicio / fin un diagrama de flujo.
Permite realizar todas las
operaciones ya sea matemáticas, de
asignación, de intercambio.
Ejemplos.
Operaciones:
Proceso X= Y+30
Asignación:
X=100;
intercambio:
a=b
b=c
c=a
Permite mostrar la trayectoria del flujo
Dirección de datos, por lo tanto es de suma
importancia
poner en sus esquinas la flecha.
Es la manera de representar la entrada
Entrada de de datos a través del teclado.
datos
Es la manera de representar la salida
Salida de datos de datos a través del monitor
Permite evaluar una alternativa y tomar
Condicional una decisión según sea el caso.
Existen condicionales simples,
anidadas, compuestas.

Permite continuar un diagrama de


Conector en la flujo en la misma página.
misma pagina
Permite continuar el diagrama de
Conector en flujo en otra pagina diferente.
otra pagina

Diagrama de Flujo del ejemplo

INICIO

p85 = 0.85,p27=0.27
p25 = 0.25,p23=0.23

Declaración de
variables de E/s

Leer monto

mjo = p27*monto
mda= p25*monto
mlu = p85*mjo
mca = p23*(mjo + mda)
mdv = monto – (mda + mlu + mjo +
mca)

Escribir
Monto,mjo,mda,
mlu,mca,mdv

FIN

 Pseudocódigo (PS)
El pseudocódigo 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 pseudocódigo no puede ejecutarse en un ordenador ya que entonces
dejaría de ser pseudocódigo, como su propio nombre indica, 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.

Podemos considerar al pseudocódigo como un lenguaje intermedio, que se encuentra en medio de


nuestro propio lenguaje y el lenguaje de programación que entiende el ordenador.

Principales características del pseudocódigo

Para comprender qué es el pseudocódigo podemos utilizar un símil: los planos de una casa sería el
pseudocódigo y la casa en sí el programa.

Su principal característica es la de representar un método que facilita la programación y solución del


algoritmo del programa. También se caracteriza por ser una forma de representación, fácil de utilizar y
de manipular, que simplifica el paso del programa, al lenguaje de programación.

Otra característica que tiene el pseudocódigo es su independencia al código en el que se va a escribir


el programa, proporcionando un método que facilita la posterior programación y la resolución del
algoritmo del programa.

Estructura de un Pseudocódigo

Todo pseudocódigo esta formado por 3 secciones

 Cabecera
 Declaraciones
 Cuerpo

ALGORITMO <nombre-de-algoritmo>

Constantes:

<nombre-de-constante> <- valor

------------

Variables:

<tipo-de-dato>:<lista de variables>

--------------

Inicio

Acción 1
Acción 2

----------

Acción n

fin

 Pseudocódigo del ejemplo

Algoritmo <repetición de un monto>


Constantes:

p85 <- 0.85 // 85%


p27 <- 0.27 // 27%
p25 <- 0.25 // 25%
p23 <- 0.23 // 23%
Variables:
real: monto, mlo,mjo,mca,mda,mdv
Inicio
// Ingreso de datos
Escribir (“Ingrese el monto a repartir :”)
Leer(monto)
// Proceso
mjo <- p27*monto
mda <- p25*monto
mlu <- p85*mjo
mca <- p23*(mjo + mda)
mdv <- monto – (mda + mlu + mjo + mca)
// Salida
Escribir (“El monto a repartir es:”,monto,”soles”)
Escribir (“El monto para Jose es:”,mjo,”soles”)
Escribir (“El monto para Daniel es:”,mda,”soles”)
Escribir (“El monto para Luis es:”,mlu,”soles”)
Escribir (“El monto para Carlos es:”,mca,”soles”)
Escribir (“El monto para David es:”,mdv,”soles”)
// Fin

3.- Verificación del Algoritmo o Prueba de Escritorio (PE)

Por verificación del algoritmo, entendemos el seguimiento del mismo con datos
que serán representativos del problema que deseamos resolver.
Cosiste en generar una tabla con tantas columnas como variables tenga el
algoritmo y seguir las instrucciones poniendo los valores correspondientes.
En el ejemplo tenemos la siguiente tabla:

ENTRADA SALIDA
monto mjo mda mlu mca mdv
270 250 229.5 119.6 130.9
1000 0 0 0

Una vez diseñado el algoritmo en pseudocódigo o diagrama de flujo, se procede a


codificar en un lenguaje de programación, en nuestro caso en el lenguaje Dev C+
+, para lo cual es necesario conocer la estructura general del lenguaje C y las
reglas de sintaxis.

Estructura genérica de un programa en C++ / Dev C++

//Inclusión de librerías estándar del lenguaje C

//se deben incluir las librerías necesarias, bajo la directiva, #include <nombrelib.h>
# include <iostream> // cin>>,cout<<
# include <conio.h> // getchar()
# include <math.h> // funciones matemáticas
………
………
// Declaración de las constantes

# define identificador valor


#define pi 3.1416
………….
using namespace std;

//Declaraciones de variables globales


………..
………..
//Declaraciones de funciones como prototipos
int funcio1();
float funcio2();
void funcion();
……….,
/Programa principal
int main( )

{ // Declaraciones de variables de entrada/salida


<tipo_de_dato> <lista-de-variables>;
-----------
-----------
//Datos de entrada
-----------
-----------
//Proceso
instrucciones ;
------------
------------
// Salida
------------
------------
return 0;
}

//Desarrollo de las funciones declaradas

Int funcion 1 ( )
{
//declaraciones locales;

instrucciones ;
------------
-----------
}
-------
Funcionn( )
{
// declaraciones locales ;
Instrucciones
------------
-----------
}

Codificación en el lenguaje Dev C++ del ejemplo


//Inclusión de librerías del lenguaje C

#include <iostream> // para cin>> y cout<<

#include <conio.h>

#include <stdlib.h>

#include <math.h> // para el manejo de las funciones matemáticas

using namespace std;

//Definición de las constantes


#define p85 0.85 // 85%
#define p27 0.27 // 27%
#define p25 0.25 // 25%
#define p23 0.23 // 23%
#define pi 3.1416
//Programa Principal
int main()

{//Declaración de variables de E/S

float monto, mlu,mjo,mca,mda,mdv;

//Ingreso de datos

cout<<"Ingrese el monto a repartir : "<<endl; //endl: cambio de línea

cin>>monto;

// Proceso

mjo =p27*monto;

mda =p25*monto;

mlu = p85*mjo;

mca =p23*(mjo + mda);

mdv = monto - (mda + mlu + mjo + mca);

// Salida

cout<<"El monto a repartir es: "<<monto<<" soles"<<endl;

cout<<"El monto para Jose es: "<<mjo<<" soles"<<endl;

cout<<"El monto para Daniel es:"<<mda<<" soles"<<endl;

cout<<"El monto para Luis es: "<<mlu<<" soles"<<endl;

cout<<"El monto para Carlos es: "<<mca<<" soles"<<endl;

cout<<"El monto para David es "<<mdv<<" soles"<<endl;

cout<<"************* FIN PROCESO ***************"<<endl;

return(0);

getche();

Una vez codificado en Dev C++, realizar las siguientes operaciones:

1. Compilación o interpretación del programa. El software elegido convierte las


instrucciones escritas en el lenguaje a las comprendidas por el computador.
2. Ejecución. El programa es ejecutado por la máquina para llegar a los
resultados esperados.
3. Depuración (debug). Operación de detectar, localizar y eliminar errores de mal
funcionamiento del programa.
4. Evaluación de resultados. Obtenidos los resultados se los evalúa para verificar
si son correctos. (Un programa puede arrojar resultados incorrectos aún
cuando su ejecución no muestra errores).
5. Compilación o interpretación del programa. El software elegido convierte las
instrucciones escritas en el lenguaje a las comprendidas por el computador.
6. Ejecución. El programa es ejecutado por la máquina para llegar a los
resultados esperados.
7. Depuración (debug). Operación de detectar, localizar y eliminar errores de mal
funcionamiento del programa.
8. Evaluación de resultados. Obtenidos los resultados se los evalúa para verificar
si son correctos. (Un programa puede arrojar resultados incorrectos aún
cuando su ejecución no muestra errores).

TIPOS DE DATOS PREDEFINIDOS

Existen dos tipos de datos:

 Simples
 Compuestos
- La principal característica de los datos simples es que ocupan solo una casilla de
memoria, por lo tanto, una variable simple hace referencia a un único valor a la
vez, dentro de este grupo de datos se encuentran:
o Enteros
o Reales
o Carácter
o Booleanos.
- Los datos compuestos se caracterizan por el hecho de que con un nombre
(identificador), se hace referencia a un grupo de casillas de memoria, dentro de
este grupo se encuentran:
o Arreglos
o Cadena de Caracteres
o Registros

Los tipos de datos simples más usados son:

o Enteros
o Reales
o Carácter

En el siguiente cuadro se muestran el rango y el tamaño en byte de estos tipos de datos

Tipo Rango Tamaño en


Bytes
ps C++
Entero int -32,768 a 32,767 2
Entero long -2147483648 a 2147483647 4
Entero Unsigned int 0 a 65535 2
Real float -3.402823E+38 a 3.402823E+83 4
double -1.79763134862316E+308 a 8
1.79763134862316E+308
Long double 10
Caracter char -128 a 127 1
boolean bool 0 o 1 (True o False) 1

Los tipos de datos se utilizan para declarar variables, constantes, funciones, etiquetas,
clases, ctc.

a) char (carácter – 1 byte) Ocupa 1 byte


Es un tipo que puede almacenar un solo carácter, correspondiente al código ASCII.
También puede almacenar un No. entero en el rango: - 128 a 127. De forma similar con el
modificador unsigned (sin signo) puede almacenar valores en el rango de 0 a 255

Ej.
Char op;
char letra;
op = ‘A’
letra = 164;  letra = ñ;
Ej.
char op, op2
op = 65 ; ~ op = ‘A’ ;
op = 65 +1 ; ~ op = ‘B’ ;
= 65 + 100 =
op = 165 ~ op = ‘Ñ’ ;
op = ‘A’ + 1 ; ~ op = ‘B’
op = 165 ; ~ op = ‘Ñ’ ;
Nota :
Si se quiere visualizar 165 = op2 como N° no deja visualizar es un error; pero si se
define.
unsigned char op2 ;
char op2 ;
op2 = 165 ;~op = ‘Ñ’ ;
** se podra visualizar op2 (como numérico)
b) int, short (enter – 2 bytes) “ocupa 2 bytes de memoria”
Almacena la parte entera de un N° en el rango de –32768 y 32767 de forma similar con el
modificador unsigned puede almacenar valores en el rango: 0 a 65535
Ejs: unsigned int num3;
int num1, num2 ;
Num1 = 10;
Num1 = 10.9; (no considera como error pero solo asume 10)
Num1 = 100 + 500;
Num2 = 40 000; (error) (sobrepasa desbordamiento)
Num3 = 40 000;
c) long (enter – 4 bytes) (entero largo ocupa 4 bytes de memoria)
Almacena la parte entera de un N° en el rango: -2147483648 y 2147483647. De forma similar el
tipo unsigned puede almacenar valores en el rango: Ø y 4294.967.295

d) float (reales en simple presicion – 4 bytes) (ocupa 4 bytes de memoria)


Almacena al Cjto de los # reales, es decir aquellos que poseen parte decimal o fraccionario. Su
rango de funcionamiento va desde.

Rango : - 3.402823E+38 a 3.402823E+83 ~+ 10-37 a + 10+38

No existe el modificador unsigned para float.

Ejs:
float nota ;
float pi ;
Pi = 3.1416;
Nota = 10.5;
e) double (reales en doble precisión – 8 bytes)
Al igual que el tipo float almacena al conjunto de los N° reales, pero su rango de
almacenamiento es mucho mayor.
Puede almacenar valores en el rango de:

Rango: -1.79763134862316E+308 y 1.79763134862316E+308


~+ 10-307 a + 10-308

Ej:

Double monto = Ø ;

Double cuenta ;

Caracteres en C

Los caracteres que se pueden utilizar para construir elementos del lenguaje de
programación son: Letras, dígitos y el carácter del subrayado (_).

1. Letras mayúsculas del alfabeto inglés : A - Z.


2. Letras minúsculas del alfabeto inglés : a – z.
3. Dígitos : 0 – 9.
4. Carácter del subrayado : _
Identificadores

Es una secuencia de caracteres letras, dígitos y el carácter del subrayado _, que sirven
para dar nombre a las variables, constantes, funciones, etiquetas, clases ctc.

Las reglas para formar un identificador son:

1. El primer carácter debe ser una letra o el carácter del subrayado (_).
2. Los caracteres restantes pueden ser letras, dígitos o el carácter del subrayado (_).
3. Deben ser distintos de las palabras reservadas por el lenguaje.
4. Debe ser una unidad sin espacios.
En el lenguaje C las mayúsculas y minúsculas son diferentes.

Constantes

Son datos que no cambian su valor durante la ejecución del programa, existen tantos
tipos de constantes como tipos de datos existen.

En el lenguaje C una constante se declara en su respectiva sección bajo el siguiente


formato.

Formato:

#define identificador valor


Ejemplo:

#define pi 3.1416 #define eap “FISI” #define condición ‘S’ #define N 10

Variables.

El valor de una variable, puede cambiar su valor a lo largo de la ejecución del programa.

En los lenguajes de programación hay que declarar la variable antes de ser usadas, de
acuerdo a los tipos de datos que van a almacenar, bajo el siguiente formato.

<tipo-de-dato><lista-de-variables>;
Dónde:

<tipo-de-dato>: Debe ser un tipo de dato valido el lenguaje de programación.

<lista-de-variables>: Puede consistir de una o mas identificadoras separadas por comas.

Ejemplos.

Algorítmica C/C++
Tipo-de-dato Variables Tipo-de-dato Variables
Entero edad Int edad;
Entero nper Int nper;
Entero i,j,k Int i,j,k;
Real acum,suma Float acum,suma;
Carácter condición Char condición;
Carácter nom[20 Char nom[20];
]

Asignación de Valores a las Variables

1. Durante la definición de las constantes. Ejemplo.


#define pi 3.1416 #define eap “FISI”

2. Asignación directa en el programa con el signo =, bajo el siguiente formato:


Formato.

Variable = Expresión;
Dónde:
Variable debe ser un identificador valido
Expresión: puede ser una constante, variable o expresión
Formato Corto.

Variable operador = valor;

Ejemplo.
A+=5 es equivalente a A=A+5, B%=3 es equivalente a B=B%3
3. Durante la corrida del programa mediante una función de entrada de datos
Scanf() o cin>>

Función scanf()
Cin>>
Es un comando de propósito general, para ingresar datos de todo tipo, el
comando cin combinado con el operador de extracción >>, permite el ingreso de
datos desde el teclado, bajo el siguiente formato:
Formato:

Cin>>lista-de-variables;
Ejemplo:
Cin>>a; cin>>x1; cin>>ep;
Para ingresar argumentos múltiples, sepárese cada variable con un operador de
extracción.
Ejemplo:
cin>>a>>x1>>ep;
Función gets().- Nos permite ingresar cadenas
Función getchar().- nos permite ingresar solo un carácter.

Salida estándar en C++


Printf()
Esta función nos permite visualizar mensajes o el contenido de variables a través
del monitor bajo el siguiente formato:
Formato:

Printf(“cadena de formato”,<lista-de-variables>;
Dónde:

 La cadena de formato puede ser una secuencia simple de caracteres,


secuencia de escape y/o especificador de formato.
 <lista-de-variables>, contiene una o más constantes o variables cuyo
contenido se desea visualizar.

Debe Haber un argumento por cada especificador de formato.

Ejemplo.

Printf(“Ingrese el radio del círculo :”);

Printf(“El resultado de la ecuación es : %f\n”,x);

result = nun1 + num2 ; Cambio de línea

printf(“La suma de %f y %f es %f\n”,num1,num2,result);

Especificador de formato

Especificador Tipo
%d int
%i int
%ld long
%f float
%lf double
%c caracter (char)
%s cadena (char*)
%p direcciones de memoria
%u enteros sin signos (unsigned)

Secuencia de escape Significado


\a Alarma
\b Retroceso de espacio
\f Avance de pagina
\n Retorno de carro y avance de línea
\r Retorno de carro
\t Tabulación
\v Tabulacion vertical

Ejemplo.

#include<cstdio>
usingnamespacestd;

intmain() {
int i = 123;
int j = -124;
float x = 123.456;
float y = -321.12;
char Saludo[5] = "hola";

printf("|%6d|\n", i); // | 123|


printf("|%-6d|\n", i); // |123 |
printf("|%06d|\n", i); // |000123|
printf("|%+6d|\n", i); // | +123|
printf("|%+6d|\n", j); // | -124|
printf("|%+06d|\n", i); // |+00123|
printf("|% 06d|\n", i); // | 00123|
printf("|%10.2f|\n", x); // | 123.46|
printf("|%10.4f|\n", x); // | 123.4560|
printf("|%010.2f|\n", x); // |0000123.46|
printf("|%-10.2f|\n", x); // |123.46 |
printf("|%10.2e|\n", x); // | 1.23e+02|
printf("|%-+10.2e|\n", y);// |-3.21e+02 |
printf("|%*.*f|\n", 14, 4, x); // | 123.4560|
printf("%.2f es el 10%% de %.2f\n", .10*x, x); // 12.35 es el 10% de 123.46
printf("%s es un saludo y %c una letra\n", Saludo, Saludo[2]); // hola es un saludo y l una
letra
printf("%.2s es parte de un saludo\n", Saludo); // ho es parte de un saludo
}

Observa el funcionamiento de este ejemplo, modifícalo y experimenta. Intenta predecir los


resultados.
cout<<

Visualiza datos en el monitor combinando con el operador <<, denominado operador de


inserción. Cout<<puede visualizar mensajes y los valores de constantes o variables sin la
necesidad de los especificadores de formato, bajo el siguiente formato.

Cout<< <lista de variable o mensajes>


Expresiones.
Una expresión es un conjunto de operando, de un mismo tipo unidas por los operadores
que especifican una operación determinada.
Clasificación de los operadores.
 Aritméticos
 Relacionales
 Lógicos
Operadores Aritméticos
operación algorítmica C/C++ ejemplo resultado prioridad
Potencia **,^ Pow(x,n) Pow(3,2) 9 ↓
Multiplicación * * 3*2 6 ↓
División / / 5/2. 2.5 ↓
Div. Entera Div No existe 5/2 2 ↓
Modulo Mod % 5%2 1 ↓
Suma + + 5+2 7 ↓
Resta - - 5-2 3 ↓
El operador %, devuelve el residuo de una división entera, ambos operandos
deben ser de tipo entero.
Los paréntesis se pueden utilizar para cambiar el orden usual de evaluación de
una expresión determinada por su prioridad.
Si existen paréntesis anidados, se evalúa primero la expresión en el paréntesis
más interno.
Si varios operadores están en el mismo nivel de prioridad, la evaluación será de
izquierda a derecha.
Ejemplos.
a) ¿Cuál es el resultado de evaluación de la expresión: 5 * (10 – 2 * 4 + 2 ) – 2?
5 * (10 – 2 * 4 + 2) -2
5 * (10 – 8 + 2) -2
5 * 4 -2
20- 2
18
b) ¿Cuál es el resultado de la expresión: 7 * 5 – 6 % 4 * 4 + 9?
7*5-6%4*4+9
35-6%4*4+9
35-2*4+9
35-8+9
27+9
36
c) ¿Cuál es el resultado de la siguiente expresión 15 * 14 – 3 * 7?
15*14-3*7
210-3*7
210-21
189
d) ¿Cuál es el resultado de la siguiente expresión 3 + 4 *(8 *(4-(9+3)/6))?
3+4*(8*(4-(9+2)/6))
3+4*(8*(4-11/6))
3+4*(8*(4-1))
3+4*(8*3)
3+4*24
3+96
99

Escritura de Formulas Matemáticas en C++

Las fórmulas matemáticas en C++, se deben escribir en formato lineal, esto obliga
el uso frecuente de los paréntesis para indicar el orden correcto de los operadores.

Ejemplos.

Formula Matemática Expresión C/C++

y 2− y 1
m= m=(y2-y1)/(x2-x1);
x 2−x 1

F(x)=raíz quinta ((X7+ 5)5+ X5)

−b ± √ b2−4 ac
x=
2a

w2
1 −
2
z= e
√2 ∏
2
( 4 x 2 y 2 √ 2 zw )
F= 1
2
4x
3
4
b

√ b2−4 ac
x2 + y 2
2
z

x+ y 3 x

x 5
2 2
( x 2−x 1 ) + ( y 2− y 1 )
2
4 x −2 x+ 8
c−d
a
bc
3
( √d )
b +1 f
a+ b −1+
( c −d ) √ a + b2 2 −2
g

1+ f −3 ( c+f g )
m
3+
n

1 3
o− +b √ c+1
m
1+
mn+ 1
1
b+2
+ ( b−5 )5 x −c f −
a
z ( )
Funciones Matemáticas.

Los compiladores contienen funciones matemáticas para ser usados directamente por los
usuarios, a tales funciones se accesa escribiendo previamente una directiva de inclusión
como #include<math.h>. Algunas de estas funciones se muestra en el siguiente cuadro:

C++ Argumento (x) Descripción


Abs (x) Real o entero Devuelve el valor absoluto de (x)
Exp (x) Real o entero Devuelve el exponencial de (x), ex (e=2.78)
Sqrt (x) Real o entero Devuelve la raíz cuadrada de (x), x>=0
Pow(x,n) Real o entero Devuelve la potencia de xn, xn=pow(x,n)
Sqr(x) Real o entero Devuelve el cuadrado de (x)
Ceil (x) Real Redondea hacia arriba, ceil(3.2)=4.0
Floor (x) Real Redondea hacia abajo, floor(3.6)=3.0
Sin (x) Radian Devuelve Sen(x)
Cos (x) Radian Devuelve cos(x)
Tan(x) Radian Devuelve tg(x)
Asin (x) Radian Devuelve el arco sen (x)
Acos (x) Radian Devuelve el arco cos (x)
Atan (x) Radian Devuelve el arco tg (x)
Entero Entero aleatorio entre 0 y x-1
Lon(x) Real o entero Logaritmo Natural de X

Operadores Relacionales

Los operadores relacionales se usan para realizar comparaciones del contenido de dos o
más celdas de memoria, dando como resultado dos posibles valores de verdad.
Falso = 0 y Verdadero ≠ 0
Los operadores relacionales sirven para expresar condiciones en los algoritmos y
programas.

Los operadores relacionales se muestran en el siguiente cuadro. Para X=5 y=10


Operación Algorit C/C++ Ejemplo Resultado
mo
Igual que =, == X==Y F
Diferente <> != X!=Y V
Menor que < < X<Y V
Menor o igual <= <= X<=Y V
Mayor que > > X>Y F
Mayor o igual >= >= X>=Y F

Operadores Logicos

Operación Algorítmica C/C++ Ejemplo Resultado


Negación No, ! !(1>6) V
Conjunción Y,and,& && (1>6)&&(2>10) F
Disyunción O,or,v,| || (1>6)||(2>10) F

Sentencia. - Es la unidad ejecutable más pequeña del programa.

Sentencia Simple. - Es una sentencia que termina con ;

Sentencia Compuesta. - Conjunto de dos o más sentencias simples encerrado entre


llaves.

También podría gustarte