Anda di halaman 1dari 12

Universidad de la Fuerzas Armadas

ESPE
Fundamentos de programación

Nombre: Tomás Boada

NRC: 3986

Fecha de entrega: 8 de Noviembre del 2018

Pregrado SII Octubre 18- Febrero 19

1
2
Universidad de las Fuerzas Armadas: ESPE
Fundamentos de programación

Nombre: Tomás Boada Fecha de entrega: 8/11/2018


NRC: 3986

Deber.
Unidad 1
1,5 Los programas traductores tales como ensambladores y compiladores convierten los
programas de un lenguaje (llamado código fuente) a otro lenguaje (llamado código objeto)
Determinar cuál de las siguientes frases es verdadera y cual es falsa
a) Un compilador traduce programas en un lenguaje de alto nivel a código objeto
b) Un ensamblador traduce programas en código fuente a programas en lenguaje máquina
c) Un compilador convierte programas en código fuente a programas en código objeto
d) Por lo general los lenguajes de alto nivel son dependientes de la máquina
e) Un programa en lenguaje máquina requiere traducción entes de poderlo ejecutar en una
computadora
1,6 complete los espacios en blanco:
a) Por lo general, a los dispositivos desde los cuales los usuarios acceden a sistemas de
cómputo de tiempo compartido se les llama mainframes y minicomputadores
b) A un programa de computo que convierte programas en lenguaje ensamblador a
programas en lenguaje maquina se llama ensamblador
c) A la unidad lógica de la computadora que recibe información desde fuera para que
utilice se le llama interpretes
d) Al proceso de instruir a la computadora para resolver un problema específico se le llama
resolución de problema en programación
e) ¿Qué tipo de lenguaje de cómputo utiliza abreviaturas parecidas al inglés para
instrucciones en lenguaje máquina? Lenguajes ensambladores
f) ¿Qué unidad lógica de la computadora envía la información procesada por la
computadora hacia varios dispositivos de manera que la información se pueda utilizar
fuera de ella? Unidad de salida
g) El nombre general para un programa que convierte programas escritos en cierto
lenguaje de computadora a lenguaje máquina es compilador
h) ¿Cuál unidad lógica de la computadora retiene la información? Unidad de memoria
i) ¿Cuál unidad lógica de la computadora realiza los cálculos? Unidad aritmética y lógica
j) ¿Cuál unidad lógica de la computadora toma decisiones lógicas? Unidad aritmética y
lógica
k) La abreviatura común utilizada para la unidad de control de la computadora es CPU
l) El nivel más conveniente de un lenguaje de computadora para que un programador
escriba programas rápida y fácilmente es Lenguaje de alto nivel
m) Al único lenguaje que una computadora puede comprender directamente se le llama
Lenguaje maquina
n) ¿Cuál unidad lógica de la computadora coordina las actividades de las otras unidades
lógicas? Unidad central de procesamiento

3
Unidad 2
2,10 indique cuales de las siguientes oraciones son verdaderas y cuales son falsas, si son falsas,
explique su respuesta.
a) Los operadores de C se evalúan de izquierda a derecha.
(V)
b) Los siguientes son nombres de variables válidos: _guion_bajo_, m928134, t5, j7,
sus_ventas, su_cuenta_total. a, b, c; z, z2
(V)
c) La instrucción printf(“a=5;”); es un típico ejemplo de una instrucción de asignación.
(F)
La función printf suele utilizarse para imprimir un texto mas no ser una instrucción de
asignación
d) Una expresión aritmética válida que no contiene paréntesis se evalúa de izquierda a
derecha
(V)
e) Los siguientes son nombres no validos de variables: 3g, 87, 67h2, h22, 2h.
(V)
Porque las variables solo pueden ser números
2,30 escriba un programa que introduzca un número de cinco dígitos que separe el número en
sus dígitos individuales que despliegue los dígitos separados entre sí mediante tres espacios
cada uno(pista utilice combinaciones de la división entera y el operador módulo por ejemplo si
el usuario escribe 4 2 1 3 9 el programa debe imprimir
/* ENUNCIADO:
escriba un programa que introduzca un número de cinco dígitos que separe el
número
en sus dígitos individuales que despliegue los dígitos separados entre sí
mediante tres
espacios cada uno(pista utilice combinaciones de la división entera y el
operador módulo por ejemplo
si el usuario escribe 4 2 1 3 9 el programa debe imprimir

*/

// Archivo.cpp
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <string>
#include <iomanip>

using namespace std;

#define MIN 1
#define MAX 100
#define VACIA "\0"
#define TOPE 12
#define TRUE 1
#define FALSE 0
#define CANTIDAD 106

4
void main()
{
int numero, num1, num2, num3, num4, num5;

cout << "escribe un numero entero con 5 digitos" << endl;


cin >> numero;

if (numero >= 10000){


if (numero <= 99999){
num1 = numero / 10000;
num2 = (numero % 10000) / 1000;
num3 = (numero % 10000) % 1000 / 100;
num4 = ((numero % 10000) % 1000) % 100 / 10;
num5 = (((numero % 10000) % 1000) % 100) % 10;

cout << num1 << " " << num2 << " " << num3 << " " <<
num4 << " " << num5 << endl;
}

}
else
cout << "DATO MAL INGRESADO" << endl;

system("pause");
}

5
Unidad 3
3,22 escriba un programa que demuestre la diferencia entre el pre decremento y el pos
decremento mediante el uso del operador - -
/* ENUNCIADO:
Escriba un programa que demuestre la diferencia entre el pre decremento y el pos
decremento mediante el uso del operador –

*/

// Archivo.cpp
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <string>
#include <iomanip>

using namespace std;

#define MIN 1
#define MAX 100
#define VACIA "\0"
#define TOPE 12
#define TRUE 1
#define FALSE 0
#define CANTIDAD 106

void main()
{
int numero, predec, postdec;
int a, b;

cout << "escribe un numero entero" << endl;


cin >> numero;

a = numero;
cout << " Pre- decremento " << endl;

predec = --a;

cout << " Con pre-decremento " << predec << " con el numero
valiendo " << a << endl;

b = numero;

cout << " Post-decremento" << endl;

postdec = b--;

cout << " Con post-decremento " << postdec << " con el numero valiendo "
<< b << endl;

system("pause");
}

6
3,36 Introduzca un número entero que contenga solo unos y ceros es decir un entero binario y
que despliegue su equivalente decimal. [pista : utilice los operadores de división y residuo para
separar los dígitos del número “binario” uno por uno, de derecha a izquierda así como en el
sistema de numeración decimal, el digito más a la derecha tiene un valor de posición de 1, y el
siguiente digito a la izquierda tiene un valor por posición de 10, después de 100, después de 100
y así sucesivamente en el sistema binario e numeración, el digito que se encuentra a la derecha
tiene un valor por posición de 1 el siguiente digito a la izquierda tiene un valor por posición de 2
después de 4 de 8, y así sucesivamente Así el número 234 se puede interpretar como 4*1 + 3*10
+ 2*100. El equivalente decimal del número binario 1101 es 1 * 1 + 0 * 2 + 1 * 4 +1 * 8 o 1 +
0 + 4 + 8 o 13]
/* ENUNCIADO:
Introduzca un número entero que contenga solo
unos y ceros es decir un entero binario y que
despliegue su equivalente decimal. [pista :
utilice los operadores de división y residuo
para separar los dígitos del número “binario”
uno por uno, de derecha a izquierda así como
en el sistema de numeración decimal, el i
más a la derecha tiene un valor de posición de
1, y el siguiente digito a la izquierda tiene un
valor por posición de 10, después de 100, después
de 100 y así sucesivamente en el sistema binario
e numeración, el digito que se encuentra a la
derecha tiene un valor por posición de 1 el
siguiente digito a la izquierda tiene un valor
por posición de 2 después de 4 de 8, y así
sucesivamente Así el número 234 se puede
interpretar como 4*1 + 3*10 + 2*100.
El equivalente decimal del número
binario 1101
es 1 * 1 + 0 * 2 + 1 * 4 +1 * 8 o 1 + 0 + 4 + 8 o 13]

*/

// Archivo.cpp
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <string>
#include <iomanip>

using namespace std;

#define MIN 1
#define MAX 100
#define VACIA "\0"
#define TOPE 12
#define TRUE 1
#define FALSE 0
#define CANTIDAD 106

7
void main()
{
int num, i, posicion = 0, resultado = 0;
int vector[] = { 1, 2, 4, 8, 16, 32, 64, 128, 256 };

cout << "INGRESE EL num" << endl;


cin >> num;

while (num > 0){

i = num % 10;
if (i == 1){
resultado = resultado + vector[posicion];
}
posicion++;
num = num / 10;
}
cout << "EL RESULTADO ES X1: \n"; resultado;

system("pause");
}

8
Unidad 4
4,26 calcule el valor de pi a partir de la serie infinita
Pi = 4 – (4/3)+(4/5)-(4/7)+(4/9)-(4/11)+…..

/* ENUNCIADO:
Calcule el valor de pi a partir de la serie infinita
Pi = 4 – (4/3)+(4/5)-(4/7)+(4/9)-(4/11)+…..

*/

// Archivo.cpp
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <string>
#include <iomanip>

using namespace std;

#define MIN 1
#define MAX 100
#define VACIA "\0"
#define TOPE 12
#define TRUE 1
#define FALSE 0
#define CANTIDAD 106

void main()
{
float dx, CA, SA, y, pi, SsA = 0, r, cx;
int x, n;
cout << "calculo de pi" << endl;
cout << "valor del radio del circulo" << endl;
cin >> r;
cout << "numero de intervalos" << endl;
cin >> n;
dx = r / n;
for (x = 1; x < n; x++); {
y = sqrt(pow(r, 2) - pow(x*dx, 2));
cx = x % 2;
if (cx == 0){
SsA = SsA + 2 * y;
}
else{
SsA = SsA + 4 * y;
}
}
SA = r + SsA;
CA = (dx / 3)*SA;
pi = (4 * CA) / pow(r, 2);
cout << " Valor aproximado de pi " << pi << endl;

9
system("pause");
}

4,29 (leyes de De Morgan) en este capítulo explicamos los operadores lógicos && || y ¡.
Algunas veces las leyes de De Morgan hacen más conveniente para nosotros el uso de
expresiones lógicas. Estas leyes establecen que la expresión ¡ condición && condición 2) es
lógicamente equivalente a la expresión (¡ condición || ¡ condición 2) utilice las leyes de De
Morgan para escribir expresiones equivalentes para cada una de las siguientes expresiones
lógicas y después escriba un programa que muestre que en cada caso, tanto la expresión original
como la nueva expresión son equivalentes
a) !( x < 5 ) && !( y>= 7 )
b) !( a = = b) || !(g ! = 5)
c) !( ( x <= 8) && !( y >4))
d) ! ( ( i > 4 ) || (j <= 6)

/* ENUNCIADO:
int x,y;
cout<<"ingrese x e y:";
cin>>x>>y;
if (!(x<5) && !(y>=7)) cout<<"primer if es verdad"<<endl;
else cout<<"primer if es falso"<<endl;
if ((x>=5) && (y<7)) cout<<"segundo if es verdad"<<endl;
else cout<<"segundo if es falso"<<endl;

*/

// Archivo.cpp
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <string>
#include <iomanip>

using namespace std;

#define MIN 1
#define MAX 100
#define VACIA "\0"
#define TOPE 12
#define TRUE 1
#define FALSE 0
#define CANTIDAD 106

void main()
{
int x, y;
cout << "ingrese x e y:";
cin >> x >> y;
if (!(x<5) && !(y >= 7)) cout << "primer if es verdad" << endl;
else cout << "primer if es falso" << endl;

10
if ((x >= 5) && (y<7)) cout << "segundo if es verdad" << endl;
else cout << "segundo if es falso" << endl;
system("pause");
}

11
Índice.

Unidad
1……………………………………………………3

Unidad
2……………………………………………………4

Unidad
3……………………………………………………6

Unidad
4…………………………………………………….9

12