Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TALLER 1
TIPOS DE DATOS
Las computadoras son fundamentalmente máquinas para almacenar y procesar
datos usando órdenes o comandos. Los lenguajes de programación los organizan
en tipos diferentes según sus características, las características del lenguaje, la
arquitectura del computador, los diferentes elementos o valores que pueden tener
y las operaciones que se pueden realizar sobre ellos
Enteros
Los tipos de datos de números enteros son unos de los más comunes en los
lenguajes de programación y corresponden a un conjunto finito de los números
enteros, incluyendo los números positivos, los negativos y el cero. En el código
fuente de los programas se representan directamente con los dígitos del 0 al 9,
precedidos de un guion para representar a los números negativos. Algunos
ejemplos de valores válidos de este tipo de datos son:
123; -123; 0; 500; 045; -045
a) C++
b) Python
Reales
El tipo de datos de los números reales se usa para representar números con partes
decimales o números muy grandes o muy pequeños. A diferencia de los números
reales en matemáticas, en los ordenadores los números reales están muy
restringidos por las capacidades de las máquinas. Actualmente la técnica más
extendida para representarlos utiliza el estándar IEEE 754 para aritmética en punto
flotante. Esta norma establece los mecanismos para representar los números
reales, comúnmente llamados números de punto flotante, y para realizar
operaciones aritméticas sobre ellos.
b) Python
c) Matlab
Caracteres
Las computadoras trabajan con números y para procesar texto es necesario que
representen de alguna manera los diferentes caracteres que componen un texto.
El tipo de datos de carácter le permite a los programadores procesar letras,
números, símbolos e ideogramas (como los usados en el chino, japonés y coreano)
al asociar un código numérico a cada carácter que se desea representar. Existen
muchas asignaciones de códigos para representar caracteres, pero los más
comunes son el código ASCII, frecuentemente soportado de forma directa por los
circuitos físicos de la máquina, y el código Unicode, diseñado específicamente para
soportar los caracteres usados en una gran variedad de idiomas, no solamente los
de la lengua inglesa.
a) C++
b) Python
Lógicos
El tipo de datos lógico, también llamado booleano es un tipo que solo tiene dos
valores posibles: verdadero y falso. Este tipo de dato se usa para realizar
operaciones lógicas sobre los datos, tomar decisiones y controlar la ejecución de
los programas. Su funcionamiento es equivalente a los valores verdadero y falso de
la lógica proposicional. Los lenguajes de programación representan los valores de
este tipo de datos de diferentes maneras (true y false, #t y #f, 1 y 0, etc.) y algunos
carecen de él completamente y usan valores numéricos en su lugar. Por ejemplo,
tratan al número 0 como si fuera el valor falso y a cualquier otro número entero
como si fuera verdadero.
Condicionales o bifurcaciones:
permiten que se ejecuten conjuntos distintos de instrucciones, en
función de que se verifique o no determinada condición.
Bucles o repeticiones:
permiten que se ejecute repetidamente un conjunto de instrucciones, bien
un número pre-determinado de veces, o bien hasta que se verifique una
determinada condición.
En términos de un lenguaje de programación, que se verifique o no una condición
se traduce en que una (adecuada) expresión lógica tome el valor
VERDADERO(TRUE) o tome el valor FALSO(FALSE).
En los casos más sencillos y habituales la condición suele ser una comparación
entre dos datos, como por ejemplo:
si
a<b
hacer una cosa
y en caso contrario hacer otra distinta
Inicio
LEER x
HACER f=0
Si x>0
Hacer f = x2
Fin si
IMPRIMIR ‘El Valor de la función es: ‘, f
Fin
a) C++
b) Python
Estructura condicional doble: IF - ELSE
Este tipo de estructura permite implementar condicionales en los que hay dos
acciones alternativas:
En otras palabras, en este tipo de estructuras hay una alternativa: se hace una
cosa o se hace la otra. En ambos casos, se sigue por la instrucción siguiente a la
estructura IF - ELSE.
EJEMPLO
Inicio
LEER A,B y C
CALCULAR D=B-4*A*C
CALCULAR AA=2*A
Si D≥0
CALCULAR DD=√D
x1=(-B+DD)/AA
x2=(-B-DD)/AA
IMPRIMIR ’La ecuación tiene raíces reales:’,x1, x2
Si no
CALCULAR DD=√-D
Re=-B/AA
Im=DD/A2
IMPRIMIR ’La ecuación tiene raíces complejas conjugadas:’
IMPRIMIR ’Parte real:’, Re
IMPRIMIR ’Parte imaginaria:’, Im
Fin Si
Fin
a) C++
b) Python
Inicio
LEER X
Si X > 0
IMPRIMIR ’El número tiene signo positivo’
Si no, si X < 0
IMPRIMIR ’El número tiene signo negativo’
Si no
IMPRIMIR ’El número es nulo’
Fin
a) C++
b) Python
Estructura de repetición indexada: FOR
Para ello se utiliza una variable de control del bucle, llamada también índice, que
va recorriendo un conjunto pre-fijado de valores en un orden determinado. Para
cada valor del índice en dicho conjunto, se ejecuta una vez el mismo conjunto de
instrucciones.
Ejemplo:
Dado un entero n, calcular la suma de los n primeros números impares.
Inicio
LEER n
HACER suma=0
Para i= 1, 3, 5, ..., 2*n-1
HACER suma=suma+i
Fin Para
IMPRIMIR ’La suma vale : ’, suma
Fin
1. C++
2. Python
EJERCICIOS
Nota: como los años bisiestos, febrero tiene 29 días, modifique el programa de
modo que advierta al usuario si introduce un día de mes que no existe (por
ejemplo, 30 o 31). Considere también el hecho de que hay meses de 30 días y
otros meses de 31 días, de modo que nunca se produzca error de introducción de
datos o que en su defecto se visualice un mensaje al usuario advirtiéndole del
error cometido.
b) Hasta que N sea tal que xn/n < E (por ejemplo, E = 10–4).
22. Desarrolle un programa que sea capaz de sumar sólo los números pares que
se encuentran entre 1 y 50.
23. Desarrolle un programa que sea capaz de sumar sólo los números impares
que se encuentran entre 1 y 80.
24. Desarrolle un programa que sea capaz de leer N números e indique cuál de
ellos es mayor.
25. Desarrolle un programa que sea capaz de calcular y mostrar la cantidad de
múltiplos de un valor M para una cantidad N de números entre 1 y N. Pruebe
por ejemplo M=5 y N = 1000.
26. Desarrolle un programa que lea de teclado dos números enteros y los
almacene en dos variables de tipo int. Posteriormente deberá intercambiar
los valores almacenados en dichas variables, y finalmente deberá escribir el
valor almacenado en cada una de ellas.
27. Desarrolle un programa que lea del teclado una cierta cantidad de segundos
y retorne su equivalente en semanas, días, horas, minutos y segundos.
28. Diseñe un programa que lea un número entero de teclado y escribe un
triángulo rectángulo(relleno) con tantos asteriscos (*) de base y altura como
indique el número leído.
29. Diseñe un programa que lea un número entero de teclado y escribe un
triángulo rectángulo(hueco) con tantos asteriscos (*) de base y altura como
indique el número leído.