Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NÚCLEO DE MONAGAS
INGENIERIA DE SISTEMAS
PROGRAMACIÓN ORIENTADA A OBJETOS
SECCION 01
Profesor: Estudiante:
Marcano Yunelkis, C.I: 19.603.291
Mientras que el recablear al computador establecía una clara distinción entre los datos
(representados por los estados o señales eléctricas que serín mantenidas por los relevadores
o a través de los bulbos que conformaban al computador) y el programa (las conexiones
que serían establecidas entre estos componentes del hardware) la labor de "programación"
requería sino del propio creador del computador si a un verdadero experto y conocedor de
electrónica, principios de lógica digital y del problema mismo. En 1944, J. von Neumann se
unió al proyecto ENIAC y propuso codificar las instrucciones como números y
almacenarlos en la memoria de la maquina. La primera computadora en usar el citado
concepto fue la famosa EDVAC (Electronic Discrete-Variable Automatic Computer, es
decir “computadora automática electrónica de variable discreta, desarrollada por Von
Neumann, Eckert y Mauchly. Los programas almacenados dieron a las computadoras
flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los
programas mecánicos.
Esto vino a cambiar con el concepto del programa almacenado, un concepto teórico muy
importante que fue establecido por el matemático John von Neumann el 30 de junio de
1945 en un borrador sobre el diseño de la EDVAC. A diferencia de los primeros
computadores, von Neumann proponía que tanto el programa como sus datos fueran
almacenados en la memoria del computador. Esto no solo simplificaba la labor de
programación al no tener que llevar a cabo el recableado del computador sino que además
libraba y generalizaba el diseño del hardware para hacerlo independiente de cualquier
problema y enfocado al control y ejecución del programa. Este concepto fue tan importante
y decisivo que dio lugar al concepto de la arquitectura de von Neumann, aún presente en
nuestros días.
Una vez seleccionada una celda mediante su correspondiente dirección, se pueden hacer
dos operaciones:
V. Buses.
a. Bus de datos: se utiliza para mover datos entre el procesador y la memoria, entre el
procesador y los dispositivos de entrada-salida (puertos) o entre la memoria y los
dispositivos de entrada-salida.
b. Bus de direcciones: para indicar la dirección de memoria o puerto sobre la que
quiere leer o escribir.
c. Bus de control: se utiliza para habilitar el dispositivo sobre el que se va a leer o
escribir e indicar cuál de estas operaciones se va a realizar
La Unidad Central de Proceso (U.C.P.) Es el conjunto formado por la U.C., los registros (es
una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que
permite guardar transitoriamente y acceder a valores muy usados, generalmente en
operaciones matemáticas) y la U.A.L., es decir es el bloque encargado de ejecutar las
instrucciones.
Con la aparición de los circuitos integrados, y en concreto a partir de los años 70, cuando la
tecnología alcanzó el nivel de integración adecuado, se integró en una sola pástilla la
U.C.P. A este circuito integrado se le denomina Microprocesador.
Una computadora con esta arquitectura realiza o emula los siguientes pasos
secuencialmente:
El término arquitectura de von Neumann se acuñó a partir del memorando First Draft of a
Report on the EDVAC (1945) escrito por el conocido matemático John von Neumann en el
que se proponía el concepto de programa almacenado. Dicho documento fue redactado en
vistas a la construcción del sucesor de la computadora ENIAC y su contenido fue
desarrollado por John Presper Eckert, John William Mauchly, Arthur Burks y otros durante
varios meses antes de que von Neumann redactara el borrador del informe. Es por ello que
otros tecnólogos como David A. Patterson y John L. Hennessy promueven la sustitución de
este término por el de arquitectura Eckert-Mauchly.
REFERENCIAS BIBLIOGRAFICAS
FUNDAMENTOSDE PROGRAMACIÓN
UNIDAD 7
Unidad 7 2
Ingeniería Informática
–
UNIDAD 7
Resumen de Conceptos
Introducci
ón
tmico.Ya conocemos entonces para que sirve cada una de estas estructuras(secuenciales,
condicionales y repetitivas) y que tipo de problemas algor
ítmicos
podemos resolver con ellas. En esta unidad nos proponemos desarrollar en queforma se
implementan las estructuras de control en el lenguaje C++.B
ón entre el
castellano (pseudoc
conocemos como
Mientras
hacer
se traducir
á en
while
ón que programando!
Unidad 7 3
Ingeniería Informática
Expresiones
Toda expresi
ón consiste en
álculos,
relaciones, asignaciones, etc.Para plantear expresiones en C++ debemos conocer los
numerosos operadoresque posee este lenguaje.
Operadores
Operadores Aritméticos
álculos aritméticos. La
jerarquía o precedencia
de estos operadores es id
éntica
a la que empleamos en el
empleando par
éntesis.
ímbolo + unario
ímbolo + unario
ímbolo
unario s
ímbolo
–
unario
suma suma
resta resta
producto producto
divisi
ón entera
divisi
ón en punto flotante
resto de la divisi
ón entera
NA (no aplicable)
++
incremento NA
--
decremento NASe debe tener en cuenta que las operaciones algebraicas tienen
asociatividad deizquierda a derecha pero respetando la precedencia de los operadoresaritm
éticos.
Ejemplos:
10 + 7
–
4
13
. Se
resuelve:
( 10 + 7 )
6+2*9
24
. Se resuelve:
6+(2*9)
21 / 4
arroja
(entero)
20.0 / 4.0
arroja
5.0
(punto flotante)
21 % 4
arroja
1
(entero)
++x
incrementa en
el valor de
xx++
toma el valor de
y luego lo incrementa a en
1
Unidad 7 4
Ingeniería Informática
–
--x
decrementa en
el valor de
xx--
pos
decrementa en
el valor de
xNota
: obs
/*
*/
n
y luego muestra el nuevo valor de
*/
Operadores de asignación
El operador
ón de la derecha a la
variable de la izquierda.
x = 130 ;
Debemos observar que este operador es asociativo por la derecha, por lo cualpodemos
hacer asignaciones m
últiples o simultáneas.
a = b = c = 30 ;
án
a = (b = (c = 30))
ón
c = 30
resi
cout << ( n = 5 ) ;
ás eficiente el código
ón
x+=yx=x+y
-=
x-=yx=x-y
*=
x*=yx=x*y
/=
x/=yx=x/y
%=
x%=yx=x%y
Unidad 7 5
Ingeniería Informática
Operadores Relacionales
éntico al que
poseen en el
de los operadores
igual que
distinto que
ón.
án plantear e
án un valor de verdad:
verdadero
falso
int
falso
y de un valor
int
verdadero
Igual que a == b
!=
Distinto que a != b
<
>
<=
>=
a +b < 10 * c
equivale a
(a + b) < (10 * c)
int m = 12 + 3 <= 10
// asigna cero
(falso)
a la variable entera
Operadores Lógicos
Los operadores l
&&
), la disyunci
ón u or (
||
) y la negaci
ón o not (
ógica algebraica.
ón (
&&
uno
ón (
||
) solo es falsa si ambosoperandos son falsos; y la negaci
ón (
Ingeniería Informática
ón ( no )
! a <= b
&&
Conjunci
ón ( y )
||
Disyunci
ón ( o )
x == 10 || a != c
Evaluación en cortocircuito
ón de una expres
el operando
z == 4
no llegar
á a evaluarse pues
6<3
ya decidi
ó el
resultado
cero
ón.
úmeros
de punto flotante (reales). Suelen emplearse en el acceso a los bits individualesde los datos
en memoria o para operar sobre la memoria de video en ciertasrepresentaciones gr
áficas.
Y (and)1110 0011
&
O (or)1110 0011
~
No (not)
>>
<<
ón al lenguaje ensamblador.
Otros Operadores
ás adelante conforme
ámbito de
resoluci
ón de
operadores seg
ún orden de prioridad.
Unidad 7 7
Ingeniería Informática
1.
(Prioridad m
ás
alta)
( )[ ]
::.
Llamada a funci
ón
Sub
índice de arreglos
ámbito de
resoluci
ón
!~+-++--&*sizeof newdelete
Negaci
ón lógica
ás (unario)
Menos (unario)IncrementoDecrementoDirecci
ón
Indirecci
ón
Tama
Alocaci
ón dinámica en memoria
Eliminaci
ón dinámica
D-I3.Acceso amiembros
* /%
Multiplicaci
ón
Divisi
ón entera o flotante
Resto de la divisi
ón entera
(m
ódulo)
I-D5.Aditivos
+-
ás binario
Menos binarioI-D6.Desplazamiento
>><<
<<=>>=
&
And (manipulaci
ón de bits)
I-D10.
Xor (manipulaci
ón de bits)
I-D11.
Or (manipulaci
ón de bits)
I-D12.
&&
Conjunci
ón lógica
and I-D13.
||
Disyunci
ón lógica or
I-D14.Condicional
?:
ón
=*= /=%=+=
D-I
Unidad 7 8
Ingeniería Informática
-=&=^=| =<<=>>=
16. Coma
(prioridad m
ás baja)
Evaluaci
ón múltiple
Si en una expresi
aritm
- ), los cualestienen igual prioridad, C++ asocia de izquierda a derecha como corresponde al
a+b-c
se resuelve:
(a+b)-c
Estructuras de Control
Repetitiva
whiledo-whilefor
Condicional o selectiva
if-elseswitch
ón
breakcontinue
Unidad 7 9
Ingeniería Informática
while
Las acciones abarcadas por esta estructura se ejecutan repetidamente mientrasla expresi
Sintaxis Ejemplo
\n
”
;a++;}
do-while
Las acciones abarcadas por esta estructura se ejecutan repetidamente hastaque la expresi
Sintaxis Ejemplo
\n
;} while ( b<100 )
Sentencia for
Las acciones abarcadas por esta estructura se ejecutan repetidamente hastaque la exp2
arroje cero (falso); exp1 hace de expresi
ón de inicialización y se
ejecutan una
Sintaxis Ejemplo
for (exp1; exp2; exp3){acciones}int a=0;for ( a=0 ; a<100 ; a++ )cout << a<<
\n
ás de
una inicializaci
ón.
Unidad 7 10
Ingeniería Informática
Ejemplo
“
“
If-else
Se eval
ón; si la
expresi
ón del else.
En esta estructura la salida por cero (falso) puede obviarse; en tal caso, si laexpresi
Sintaxis Ejemplo
switch
al valor de una variable de control que nos permite gobernar la estructura. Essimilar a la
sentencia case o select de otros lenguajes o el seg
ún que
empleamos en pseudoc
ódigo.
Sintaxis Ejemplo
: m++break;case
: m=2*m;break;case
La acci
expresi
lista. La opci
ón será ejecutada.
break y continue
ón,
break
, contin
úa con la sentencia que sigue a la
iteraci
continue
en cambio, salta al
Unidad 7 11
Ingeniería Informática
óxima iteración.
Ejemplo de
break
Ejemplo de
continue
int a = 0;while ( a < 5 ){a++;if a == 4 break;cout << a;}int a = 0;while ( a < 5 ){a++;if
a == 4 continue;cout << a;}
Salida: 1 2 3 Salida: 1 2 3 5
exit( )
Esta funci
stdlib.h
por lo cual se debe incluir a este archivo en lacabecera del programa y devuelve el valor de
su argumento:
ha debido a un error.
Ejemplo
cout<<
”
;cin >> resp ;resp = toupper( resp ); //
pasa a mayúsculas
if (resp==´S´) exit(0);
álculos.
ón donde se halla el
prototipo de la funci
ón p
include
correspondiente.M
Ejemplo
cout <<
“
<< sin(angr);return 0; }
Unidad 7 12
Ingeniería Informática
aacbb
24
2
3)12ln(
52
ax xe x
ax
Actividades
Ejercicios
Ejercicio 7.1
Utilice la notaci
áticas que
provee
C++ para escribir las siguientes expresiones. Si le facilita la tarea, puedeutilizar variables
auxiliares.
a)
b)
c)
Ejercicio 7.2
éticos de C++
para plantear las expresiones que seproponen coloquialmente. Si es posible exprese tambi
én la forma abreviada
ón entera entre p y q.
c) Incrementar x en 1.d) Incrementar x sumando a x el contenido de c.e) Modificar z, asign
Ejercicio 7.3
x, y, z, u
ógicas:
a)
x<y
f)
(z>x)&&(letra<'m')||(letra=='h')
b)
g)
c)
h)
i)
sin(y-x) <= 1
e)
j)
touper(letra) ==
Ejercicio 7.4
x, y, z, u
áticas
a)
++u / 2
f)
2*--u+x/3
b)
letra + 2
g)
letra += 1
c)
(x-y)/2+abs(u-y)
h)
pow( z,3)
d)
3+u%3
i)
x = (x+1 ) / 2
e)
u++ / 2
j)
u += (z<100)
2)sen(
)(
x z aa
e xaeae
Unidad 7 13
Ingeniería Informática
Ejercicio 7.5
la informaci
a)
b)
<< y;
c)
<< y;
Ejercicio 7.6
A continuaci
enumerado
, y un grupo deexpresiones l
cada expresi
ón.
enum lenguajes=(fort,cob,bas,pas,ada,cpp,sql)
expresi
ón
resultado------------------ -------------------
En todos los casos en que el problema proponga escribir un programa, Ud.debe además
salvar en diskette, compilar, --si es necesario-- depurar, y ejecutar (probar) el programa
propuesto.
Ejercicio 7.7
Ingrese un n
úmer
últiplo
de 5 y 3 a la vez.
Ejercicio 7.8
Ingrese tres n
Ejercicio 7.9
ño
Ejercicio 7.10
Resolver una ecuaci
ómica (ej:
-2+3i)
Ejercicio 7.11
Unidad 7 14
Ingeniería Informática
–
Fundamentos de Programación 2008
Escriba un programa C++ que permita ingresar natural N como dato. Obtenertodos los
pares menores a N. Tener en cuenta que el dato puede ser tanto parcomo impar. Debe dar al
usuario la posibilidad de seleccionar por un men
ú la
opci
ón de visualizar el listado:
Ejercicio 7.12
Leer un n
Ejercicio 7.13
Ejercicio 7.14
érminos
ámetro x.
la funci
C++.
Ejercicio 7.15
ú.
Adem
error si corresponde.Si el usuario intenta elegir las opciones B,C,D o E sin haber pasado
antes por A,indicar dicha situaci
Ejercicio 7.16
en may
ús
úsculas.
Ejercicio 7.17
Complete el programa C++ cuyo cuerpo de sentencias es el siguiente, siendo zuna variable
del tipo enumerado LENGUAJES. El tipo LENGUAJES se hadefinido en el ejercicio 6.
Pruebe el programa en su computadora.
;
xxxx
357
357!!!...............
Unidad 7 15
Ingeniería Informática
return 0;} //
Ejercicio 7.18
Una Empresa paga a sus 100 operarios semanalmente de acuerdo con lacantidad de horas
trabajadas, a raz
ás por todas las horas que pasan de 40. Informar el total de salario a cobrar
por cada trabajador.
Ejercicio 7.19
Cuestionario
7.1
éti
ía o prioridad y la
C++?.
7.5
¿E
ón a una variable
de tipo diferente? Explique.7.6
x = 23
7.5
¿E
ón a una variable
x = 23
cout<<(x=23)
7.7
control: a)
while
b)
do
while
c)
for
?.7.8
¿Es posible en una estructura
for
efectuar m
ás de una inicialización en la
primer expresi
rcer expresi
ón?
if
ón
else
¿a
cu
ál
if
pertenece?7.10
switch
en lugar de varios
if
anidados?
OTRA GUIA
trackback
La Estructura de Selección if
#include <iostream.h>
void main()
{
cout<<"¿Qué edad tienes? \n";
cin>>edad
if ( edad > 20 )
cout<<"Eres mayor de edad" ;
}
#include <iostream.h>void main()
{
cout<<"¿Qué edad tienes? \n";
cin>>edad
if ( edad > 20 )
{ cout<<"Eres mayor de edad";
cout<<"Te estas volviendo viejo ";
}
}
Inicio
Mostrar “¿Qué edad tienes?”
Leer edad
Si Edad > 20 Entonces
Mostrar “Eres mayor de Edad”
Fin Si
Fin
Existe el caso de estructuras if, if/else anidadas, que no es más que una estructura if
o if/else dentro de otra.Por ejemplo se desea conocer cuál es el mayor de tres
números A, B ,C.
1: #include <iostream.h>
2: void main()
3: {
4: int A=0, B=0, C=0;
5: cout<<"Ingrese 3 números";
6: cin>>A>>B>>C; //Lectura de valores por teclado
7: if ( A > B )
8: { if (A > C )
9: cout<<"A es el número mayor";
10: else
11: cout<<"C es el número mayor";
12: }
13: else
14: { if ( B > C )
15: cout<<"B es el número mayor";
16: else
17: cout<<"C es el número mayor";
18: }
19: }
Para explicar el funcionamiento del problema anterior se han enumerado todas las
líneas de tal programa.
Suponiendo que los valores ingresados por teclado fueran: A=2, B=1, C=5. El
programa actuaría de la siguiente manera.
El programa se ejecuta secuencialmente hasta la línea 7 donde encuentra una
expresión. Cuando se evalúe la expresión (A > B) línea 7, el resultado es verdadero
(2 > 1), por lo tanto el programa ejecuta la línea 8, en dicha línea encuentra otra
expresión (A > C) y el resultado de evaluar dicha expresión es falso (2 > 5) por lo que
el programa salta hasta la línea 11 y muestra “C es el número mayor”. Luego va a la
línea 12 y verifica el cierre de llaves y finalmente salta hasta la línea 19 siendo la
última línea de ejecución.
La condición de inicio quiere decir que podemos inicializar una variable que vayamos a
utilizar dentro el cuerpo de la estructura for.
La expresión nos indica que se seguirá iterando mientras la condición sea verdadera.
La acción después de cada iteración viene a ser lo que queremos hacer variar después
de cada iteración, esta variación podría ser un incremento en la variable definida en la
condición de inicio.Al igual que las demás estructuras de control el cuerpo de la
estructura for lleva llaves si este contiene más de una sentencia o instrucción.Ejemplo
Un ejemplo sencillo puede ser que quiero cantar 10 veces la canción del elefante, el
código sería algo así:
#include <iostream.h>
void main()
{
int i;
for( i = 1 ; i<=10 ; i++)
{
cout<<i<<" elefante(s) se balanceaba sobre la tela de una
araña\n”;
cout<<”como veía(n) que resistía fueron a llamar a otro elefante\n ";
}}
El código anterior emitirá por pantalla 10 veces el mensaje de 1 elefante ……. hasta 10
elefantes……
El ejemplo anterior es muy sencillo pero nos muestra el funcionamiento de la
estructura for.
Ejemplo
ocasional un algoritmo contendría una serie de decisiones, en las cuales una variable o expresión se
probara por separado contra cada uno de los valores constantes enteros que puede asumir, y se
tomaran diferentes acciones, para esta forma de toma de decisiones se proporciona una estructura
La estructura switch esta formada de una serie de etiquetas case y de un caso opcional default, el
siguiente programa utiliza un switch para contar el numero de cada distinta letra de calificacion que
En el programa, el usuario escribe las calificaciones, en letras, correspondiente es a una clase dentro
getchar (proviene de la biblioteca estándar de entrada y salida) lee un carácter del teclado y
almacena este carácter en la variable entera nota. Los caracteres se almacenan por lo regular en
variables de tipo char, sin embargo una característica importante de C es que los caracteres pueden
ser almacenados en cualquier tipo de dato entero, porque en la computadora son representados
como enteros de un bate, por lo tanto podemos tratar a un carácter como si fuera ya sea o un entero
o un carácter dependiendo su uso, en el siguiente programa podemos ver una estructura Switch