UNIVERSIDAD TECNOLOGICA DE
PUEBLA
ASIGNATURA: METODOLOGIA DE LA PROGRAMACION
DIVISION: MECATRONICA
AREA: AUTOMATIZACION
ALUMNA: YULI GAIDILIA GARCIA PONCE
MAESTRO: JOSE IGNACIO LOAIZA REYES
GRUPO: 1° E
PERIODO ESCOLAR: SEPTIEMBRE-DICIEMBRE 2024
PRODUCTO: REPORTE DE LENGUAJE DE PROGRAMACIóN
Realizar un reporte de los siguientes ejercicios del capitulo 2 del Libro Diseño
de Algoritmo y su codificación en Lenguaje C en la libreta y después de
revisada escanearla para subirla a Classroom.
• Ejercicio 2. Escriba válido o inválido en cada identificador para el
pseucodigo y responda ¿por qué?
IDENTIFICADOR VALIDO O INVALIDO ¿POR QUE?
area Valido Por que en algunos
casos los identificadores
pueden usar solo letras
y no deben comenzar
con un numero.
área Invalido Algunos lenguajes de
pseucodigo no permiten
caracteres como la tilde.
Dato 1 Invalido Los identificadores no
deben contener
espacios
Dato_1 Valido En este caso si esta
permitido el uso de
guiones bajos y letras.
1radio Invalido No debe comenzar con
un numero
Radio 1 Valido Empieza con una letra y
cumple con las reglas
de identificadores.
• Ejercicio 4. Escriba válido o inválido a cada declaración de constante en
pseudocódigo. Si la constante es válida, especifique el tipo respectivo.
DECLARACION DE VALIDO O INVALIDO TIPO DE CONSTANTE
CONSTANTE
constante MAX ← 20 Valido Entero
constante X ← 7.8E10.3 Invalido El exponente debe ser
un numero entero
constante C ← ‘x’ Valido Carácter
constante ← 3.1415 Invalido Falta un identificador
para la constante
constante N ← “Marco” Valido Cadena de texto
constante CAR ← c Invalido Debe de ser entre
comillas si es un
carácter
constante G ← 9.8 Valido Real
constante NOM ← Lucy Invalido Las cadenas deben ser
entre comillas
constante X ← 9.3e-2 Valido Real en notación
científica
constante W ← ‘abc’ Invalido No puede contener mas
de un carácter, debería
ser cadena.
• Ejercicio 5. Calcule las siguientes expresiones en pseudocódigo y escriba el
resultado respectivo.
1. 9+3*16/ 2**3-5/2 =12.5
Primero hacemos la potencia :2**3 = 8
Dividimos 16/8=2
Multiplicamos 3*2= 6
Realizamos suma 9+6= 15
Dividimos 5/2= 2.5
Restamos 15-2.5= 12.5
2. 15/3+4*3^2-5*6 = 13.5
Realizamos nuevamente potencia ( 3^2)=9
Multiplicamos 4*9= 36
Multiplicar 5*6= 30
Dividir 15/2= 7.5
Sumar 7.5+36= 43.5
Restar 43.5-30= 13.5
3. (6*3+8-9/3+2^4)/2 = 19.5
Realizar potencia 2^4= 16
Multiplicar 6*3= 18
Dividir 9/3= 3
Sumar 18+8= 26
Restar 26-3 =23
Sumar 23+16 =39
Dividir por ultimo 39/2=19.5
EJERCICIOS COMPLEMENTARIOS DE LOS DATOS Y OPERACIONES
BASICAS EN LENGUAJE C DE LAS SIGUIENTES SECCIONES
a) Responda las siguientes preguntas:
1. ¿Qué es un identificador?
Un identificador es una secuencia de caracteres alfabéticos, numéricos y el
guión bajo. Con ellos podemos
dar nombre a variables, constantes, tipos de dato, nombres de funciones o
procedimientos, etcétera.
2. ¿Cuáles son las reglas para nombrar un identificador?
1. Debe comenzar con una letra (A a Z) mayúscula o minúscula y no puede
contener espacios en blanco.
En lenguaje C, el carácter “_” (guión bajo) es considerado como letra, por lo
que se puede utilizar como
primer carácter.
2. El lenguaje C distingue mayúsculas de minúsculas porque tienen diferente
código ASCII.
3. Letras, dígitos y el carácter guión bajo están permitidos después del primer
carácter.
4. No pueden existir dos identificadores iguales, es decir, dos elementos de
un programa no pueden nom
brarse de la misma forma. Sin embargo, un identificador puede aparecer más
de una vez en un programa.
5. No se puede utilizar una palabra reservada como identificador, sin
embargo, los identificadores estándar
se pueden redefinir.
6. En lenguaje C existen identificadores que podrían tener uno o varios
puntos, tales como: persona.apellidoPaterno.
3.¿Qué es un tipo de dato? Mencione tres tipos de datos en el lenguaje
C y sus características.
es el conjunto (rango) de valores que puede tomar durante el programa. Por
ejemplo el tipo de un dato determina la naturaleza
del conjunto de valores que puede tomar una variable. En la tabla 2.1
apreciamos que cada tipo de dato en
lenguaje C está delimitado por un rango de valores.
Datos numéricos
Este tipo de datos se divide en enteros y reales.
Tipos enteros. Son aquellos números que no tienen fracciones o decimales.
Tipos reales o de coma flotante (float/double). Los tipos de datos flotantes
contienen una coma (un
punto) decimal, tal como 3.1416, pueden ser positivos y negativos formando
el subconjunto de los números
reales
Datos lógicos o booleanos
Hay lenguajes que sólo pueden tomar uno de dos valores: verdadero (true) o
falso ( false ). En lenguaje C no
existe el tipo lógico pero se puede implementar con un número entero, 0 es
falso y cualquier número diferente de cero es verdadero. Algunos
compiladores, como por ejemplo el DEV-C11 utilizan el bool.
Tipo void
Son datos vacíos o sin valor. Por ejemplo la función main no regresa valor
alguno (nada): void main() o void
main(void) porque tampoco tiene parámetros. Debemos tener cuidado, ya
que esta característica es propia
de algunos compiladores, pero por ejemplo en DEV-C11 el main tiene que
regresar un entero (int), por el
return 0, es decir int main(void) o int main(); pero las demás funciones
predefinidas sí pueden utilizar el tipo
void; esto lo analizaremos en detalle en el capítulo de funciones.
4. ¿Qué es una variable?
Una variable es un dato cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del progra
ma. Es decir, representará un valor almacenado en memoria que se puede
modificar en cualquier momento
o conservar para ser usado tantas veces como se desee.
Hay diferentes tipos de variables: enteras, reales, caracteres y cadenas. Una
variable que es de cierto
tipo sólo puede tomar valores que correspondan a ese tipo. Si se intenta
asignar un valor de tipo diferente se
producirá un error.
5. ¿Qué es una constante?
Una constante es un dato que permanece sin cambio durante el desarrollo del algoritmo o
durante la ejecución del programa, es decir valores fijos que no pueden ser alterados por el
usuario. La mayoría de los lenguajes de programación permiten el manejo de diferentes tipos
de constantes; éstas pueden ser enteras, reales, caracteres y cadenas.
6. ¿Qué es una expresión?
Una expresión es el resultado de unir operandos mediante operadores. Los
operandos pueden ser variables, constantes u otras expresiones; y los
operadores, aritméticos, lógicos o relacionales. El resultado de una expresión
es un dato numérico o un valor lógico. Para agrupar las expresiones
utilizamos los paréntesis.
7. ¿Qué es un operador?
Un operador es un símbolo que permite relacionar dos datos en una
expresión y evaluar el resultado de la
operación.
Los programas de las computadoras se apoyan esencialmente en la
realización de numerosas operaciones aritméticas y matemáticas de diferente
complejidad. Los operadores fundamentales son:
• Aritméticos.
• Relacionales.
• Lógicos.
• Asignación
8. Mencione tres tipos de operadores de lenguaje C.
Operadores relacionales
Describen una relación entre dos valores; por lo tanto, se usan para expresar
condiciones y comparar dos
valores. El resultado de una expresión relacional es un valor tipo lógico o
booleano, sólo puede ser verdadero
o falso.
Operadores lógicos
Las expresiones lógicas pueden combinarse para formar expresiones más
complejas utilizando los opera
dores lógicos. En la tabla 2.7 se muestran dichos operadores y en la tabla 2.8
ejemplos de los mismos. Estos
operadores trabajan con operandos que son expresiones lógicas.
Operadores aritméticos
Los operadores aritméticos de la tabla 2.3 (1, 2, *, /) pueden ser utilizados
con tipos enteros o reales y
sirven para realizar operaciones aritméticas básicas. Por ejemplo si a 5 15 y b
5 3, vemos los resultados con
los diferentes operadores aritméticos.
9. ¿Qué es el orden de prioridad?
Al orden en que la computadora realiza las diferentes operaciones le
llamamos orden de prioridad.
10. ¿Cuál es el orden de prioridad de los operadores aritméticos?
1. Paréntesis ( ). Todas las expresiones entre paréntesis se evalúan primero.
Las expresiones con paréntesis
anidados se evalúan de dentro hacia afuera.
2. Dentro de una misma expresión o subexpresión, se evalúan en el siguiente
orden:
Potencia (^ o **)
* , / ,mod
11. ¿Cuándo se deben utilizar los paréntesis en una expresión?
Mencione un ejemplo
Paréntesis ( ). Todas las expresiones entre paréntesis se evalúan primero.
Las expresiones con paréntesis
anidados se evalúan de dentro hacia afuera
12. ¿Qué diferencia existe entre los operadores = y == en lenguaje C?
= (Asignación)
- Se utiliza para asignar un valor a una variable.
- Ejemplo: x = 5; (asigna el valor 5 a la variable x)
== (Igualdad)
- Se utiliza para comparar si dos valores son iguales.
- Devuelve 1 (verdadero) si los valores son iguales y 0 (falso) si no lo son.
- Ejemplo: if (x == 5) { ... } (verifica si el valor de x es igual a 5)
13. ¿Qué es una palabra reservada?
Son palabras propias del lenguaje, ya que el creador del mismo les dio un
uso específico. No se pueden utilizar como identificadores. Las más utilizadas
en pseudocódigo y lenguaje C las vemos en la tabla 2.13. En la tabla 2.14
aparecen todas las palabras reservadas de lenguaje C.
14. ¿Qué es un comentario y cómo se representa en lenguaje C?
Los comentarios son útiles para identificar los elementos principales de un
programa o explicar la lógica derivada de éstos. Deben ser breves y se deben
evitar ambigüedades.
Los comentarios en cualquier lenguaje de programación sirven para que el
código fuente sea más entendible, aumentan la claridad de un programa,
ayudan a la documentación y bien utilizados nos pueden ahorrar mucho
tiempo.
b) Investigue:
1.Una breve reseña histórica del lenguaje C.
El lenguaje de programación C: Una historia de innovación y legado.En los
años 70, Dennis Ritchie, un ingeniero de Bell Labs, creó el lenguaje C.
Inspirado en BCPL y B, Ritchie buscaba desarrollar un lenguaje portable,
eficiente y flexible para sistemas operativos.
Entre 1971 y 1973, Ritchie y su equipo crearon el primer compilador de C.
Inicialmente llamado "NB", luego "C", este lenguaje se diseñó para la
arquitectura PDP-11 de Digital Equipment Corporation.En 1973, C se publicó
oficialmente y su primer compilador se llamó "cc". La estandarización
comenzó en 1978 y el estándar ANSI C se publicó en 1989.
Durante los 80 y 90, C se convirtió en popular para sistemas operativos,
aplicaciones y dispositivos embebidos. Variantes como C++, Objective-C y
C# surgieron.Hoy, C sigue siendo fundamental en la industria del software.
Su influencia se ve en lenguajes como Java, Python, Ruby, PHP y JavaScript.
Considerado uno de los lenguajes más influyentes, C ha impactado la forma
en que se desarrolla software. Su legado es innegable.
Características clave:
- Portable y eficiente
- Flexible y versátil
- Estándar ANSI
- Influencia en otros lenguajes
- Uso en sistemas operativos, navegadores, bases de datos y más
C es un lenguaje que ha dejado huella en la historia de la programación.
2. Cómo obtener los rangos de valores de cada tipo, auxilíese de las librerías:
limits.h, para los de tipo entero y float.h para los de tipo real.
Para obtener los rangos de valores de cada tipo en C, puedes utilizar las
librerías limits.h para los tipos enteros y float.h para los tipos reales. Aquí te
muestro cómo hacerlo:
Tipos enteros (limits.h)
#include <limits.h>
int main() {
printf("Rangos de valores para tipos enteros:\n");
printf("CHAR_MIN: %d\n", CHAR_MIN);
printf("CHAR_MAX: %d\n", CHAR_MAX);
printf("UCHAR_MAX: %u\n", UCHAR_MAX);
printf("SHRT_MIN: %d\n", SHRT_MIN);
printf("SHRT_MAX: %d\n", SHRT_MAX);
printf("USHRT_MAX: %u\n", USHRT_MAX);
printf("INT_MIN: %d\n", INT_MIN);
printf("INT_MAX: %d\n", INT_MAX);
printf("UINT_MAX: %u\n", UINT_MAX);
printf("LONG_MIN: %ld\n", LONG_MIN);
printf("LONG_MAX: %ld\n", LONG_MAX);
printf("ULONG_MAX: %lu\n", ULONG_MAX);
return 0;
}
Tipos reales (float.h)
#include <float.h>
int main() {
printf("Rangos de valores para tipos reales:\n");
printf("FLT_MIN: %e\n", FLT_MIN);
printf("FLT_MAX: %e\n", FLT_MAX);
printf("DBL_MIN: %e\n", DBL_MIN);
printf("DBL_MAX: %e\n", DBL_MAX);
printf("LDBL_MIN: %e\n", LDBL_MIN);
printf("LDBL_MAX: %e\n", LDBL_MAX);
printf("FLT_EPSILON: %e\n", FLT_EPSILON);
printf("DBL_EPSILON: %e\n", DBL_EPSILON);
printf("LDBL_EPSILON: %e\n", LDBL_EPSILON);
return 0;
}
Estos programas imprimirán los rangos de valores para cada tipo de dato.
Explicación
- limits.h proporciona constantes para los rangos de valores de los tipos
enteros.
- float.h proporciona constantes para los rangos de valores de los tipos reales.
- CHAR_MIN y CHAR_MAX representan el rango de valores para char.
- SHRT_MIN y SHRT_MAX representan el rango de valores para short.
- INT_MIN y INT_MAX representan el rango de valores para int.
- LONG_MIN y LONG_MAX representan el rango de valores para long.
- FLT_MIN y FLT_MAX representan el rango de valores para float.
- DBL_MIN y DBL_MAX representan el rango de valores para double.
- LDBL_MIN y LDBL_MAX representan el rango de valores para long double.
- FLT_EPSILON, DBL_EPSILON y LDBL_EPSILON representan el error
mínimo para cada tipo real.
Recuerda que los rangos de valores pueden variar dependiendo de la
plataforma y el compilador utilizado.
Ejercicio 1. Tache los identificadores que no son válidos para lenguaje C.
1. _numero 4. home 7. 2variables 10. end
2. número 5. dinero$ 8. el punto
3. año 6. base_1 9. scanf
Ejercicio 2. Escriba las siguientes expresiones matemáticas como
expresiones de C.
(x+y)/(x-3)+2*x;
( x+y) (x/5-3/y)+2*x;
(2+5*y)/(x-3)+(4*x-x*y)/ (sqrt (7-y)/(4+x));
(2*x*y+5*y)/(x-3)-(4*x-x*y)/(sqrt(7)-y/(4+x));
Ejercicio 4. Considerando las variables: int i57, j54, k; float f; char c, realice la
corrida a mano de las siguientes expresiones, escribiendo a la derecha los
valores (siga el orden establecido).
14 6
28 1
5 11
5
75
5 20
15
5
5
2
18
20 5
25
1. Corre el siguiente Código y observa cual es el resultado de la corrida
registrándolo en tu reporte, posteriormente cambia las variables del programa
de acuerdo a tu elección y vuélvelo a correr.
¿Qué ocurre al ejecutar el programa?
En este caso al correrlo primero te pedirá que ingreses un numero entero
como lo muestra la imagen anterior, después el programa lo que hará sera
convertir dicho numero en formato octal y por consiguiente no los mostrara en
la pantalla.
SENTENCIA HACER-MIENTRAS DO-WHILE
Características:
I. Siempre entra por lo menos una vez al ciclo, ya que la condición está
después del ciclo.
II. Si la condición es verdadera entra de nuevo al ciclo y regresa a revisar la
condición, hasta que ésta sea falsa se sale del bucle.
III. Debe existir una instrucción dentro del ciclo que modifique la condición, de
lo contrario se hace infinita.
IV. Si tiene más de una instrucción, necesita obligadamente del inicio-fin ({-}).
V. Ejemplo: Introducir un número entero y contar cuántos dígitos tiene.
2. Diseñar un programa en C para determinar el Área (A) y Volumen (Vol), de
una esfera. Dadas las siguientes fórmulas:
Agregar la Estructura DO-WHILE mediante una pregunta, si el usuario desear
ejecutar un nuevo cálculo.
SENTENCIA DE CONTROL (IF – ELSE IF – ELSE) EN C
Es usada para ejecutar una instrucción o bloque de instrucciones solo si una
condición es cumplida. Su forma es:
If
(condición) {extracto; }
Elseif
(condición) {extracto; }
else{ extracto; }
Donde la condición es la expresión que será evaluada. Si esta condición es
true (verdadera), el extracto es ejecutado. Si esta es falsa (false), el extracto
es ignorado
(no ejecutado) y el programa continuo en la siguiente instrucción después de
la estructura condicional.
3. Al siguiente Código que se muestra en la imagen córrelo en el compilador
y designa las variables a tu elección para volverlo a correr nuevamente. Y
captura la pantalla de salida y la corrida del mismo en tu reporte.
¿Qué ocurre al ejecutar el programa? En este programa nos da la opción de
presionar cualquier tecla y directamente este te identifica si es un carácter
especial, es una letra mayúscula, minúscula o incluso si es un dígito.
4. Diseñar un programa que solicite un valor de tipo real (float) y muestre un
mensaje de acuerdo a la Tabla de la Escala Richter.
5. Diseña un programa en C, que calcule las opciones que se describen a
continuación de un número entero, con la Estructura Case-break, a elección
del usuario y se ejecute nuevamente mediante una pregunta para ejecutarse
si se desea nuevamente.
(1) EL TRIPLE
(2) EL CUADRADO
(3) LOGARITMO NATURAL
(4) LOGARITMO DECIMAL
(5) SENO
(6) COSENO
(7) TANGENTE
SENTENCIA REPETITIVA FOR
Características:
I. Se debe conocer por anticipado el valor de la variable inicial y final antes de
entrar al ciclo.
II. La condición se evalúa antes del bloque de instrucciones. Si la condición
es verdadera se ejecuta el bloque, y si es falsa se sale y pasa el control a la
instrucción siguiente al bloque.
III. No se debe cambiar el valor de la(s) variable(s) de control, del valor inicial
ni del valor final dentro del ciclo.
IV. Se puede incrementar o decrementar la variable de control según se
requiera.
V. El incremento o decremento de la variable de control es automático.
VI. Sólo si existe más de una instrucción dentro del ciclo desde se necesita el
inicio-fin ({-}).
VII. Puede tener una o varias expresiones de inicialización, de condición y de
incremento; estas expresiones se separan mediante comas en pseudocódigo
y con puntos y comas en lenguaje C.
VIII. Puede tener alguna o todas las expresiones vacías: desde (, ,)-for ( ; ; ).
IX. Si la condición está vacía, tenemos un bucle infinito.
6. Corre el siguiente Código y observa cual es el resultado de la corrida
registrándolo en tu reporte, posteriormente cambia las variables del programa
de acuerdo a tu criterio personal y vuélvelo a correr.
¿Qué ocurre al ejecutar el programa? Podemos observar que el programa
solicitara una palabra con 6 letras y de acuerdo a esa palabra te imprimirá
cada una de las letras en una nueva linea.
7. De la siguiente hoja tendrás que completarlas para que dicho código corra
correctamente.
8. Desarrolla un código que ejecute todos los programas anteriores, en este
caso son los siguientes:
*Calcular esfera
*Suma de números
*Terremoto
*Calcular el triple, doble, tangente, seno, coseno, logaritmo natural y
logaritmo decimal.
*Tabla de farenheit
Con dicho programa uniremos todos lo demás códigos que se nos mostraron
anteriormente.
EJERCICIOS QUE NO SE ENCUENTRAN EN EL CUADERNILLO
1. SUMA DE NUMEROS
2. CODIGO QUE TE PIDE ESTATURA, EDAD, EMAIL Y CELULAR
3.RADIO Y AREA DE UN CIRCULO
* TABLA DE CONVERSION
* ECUACION DE PRIMER GRADO
*TABLA DEL 5