




















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Actividad fundamental 2 de programación estructurada
Tipo: Ejercicios
1 / 28
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





















Teoría .................................................................................................................................................. 1 Librerías ........................................................................................................................................... 1 Tipos de datos ................................................................................................................................. 4 Tipos de errores .............................................................................................................................. 7 Tipos de toma de decisiones ......................................................................................................... 15 Tipos de Ciclos ............................................................................................................................... 17 Programas en C ................................................................................................................................. 19 Programa que realiza la suma de 2 números ................................................................................ 19 ....................................................................................................................................................... 19 Área del círculo.............................................................................................................................. 20 Promedio ....................................................................................................................................... 21 Raíz cuadrada ................................................................................................................................ 22 Potencia......................................................................................................................................... 23 Programas en Raptor y C (Selección)1 .............................................................................................. 24 Programas en Raptor y C (selección y ciclos) .................................................................................... 26 Bibliografía ........................................................................................................................................ 28
<iostream.h> Contiene las funciones de ingresar y mostrar datos.
<time.h> Contiene las funciones para tratamiento y conversión entre formatos de fecha y hora.
<iostream.h> Tenemos que, las funciones más comunes que vamos a usar son de entrada / salida de datos. Y las operaciones más comunes como suma/resta/multiplicación/división.
<math.h> Tenemos que, las funciones más comunes que vamos a usar son de cálculos matemáticos y conversiones. Y posee operaciones como hallar coseno/hallar raíz cuadrada/hallar la potencia/etc.
<stdio.h> Tenemos una biblioteca estándar del lenguaje de programación C, en esencia es el archivo de cabecera que contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definición de tipos usados por varias operaciones estándar de entrada y salida.
<auto_ptr> Es una clase que conforma la librería memory y permite un fácil manejo de punteros y su destrucción automaticamente.
Biblioteca new: Manejo de memoria dinámica
<system_error> Gestión de errores del sistema
Tipo entero : representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.
Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;
No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor.
Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;”
Tipos de datos C++ numéricos enteros
El tipo de dato numérico entero es un subconjunto finito de los números enteros del mundo real. Pueden ser positivos o negativos.
En C++ los tipos de datos numéricos enteros son los siguientes:
Tipo de Dato Descripción (^) bytes típicoNúmero de Rango short Entero corto 2 - 32768 a 32767 int Entero (^4) a - +2147483647^2147483648 long Entero largo (^4) a - +2147483647^2147483648
char Carácter 1 - 128 a 127 Con los tipos enteros pueden utilizarse los calificadores signed y unsigned. Estos calificadores indican si el número tiene signo o no. Si se usan solos, sin indicar el tipo de dato se asume int.
Tipo real: Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador de la variable.
float identificador = valor;
Por ejemplo: float numero1, numero2;
float numero3 = 123.43;
float numero3;
Tipos de datos numéricos reales
El tipo de dato numérico real es un subconjunto finito de los números reales. Pueden ser positivos o negativos.
En C++ los tipos de datos numéricos reales son los siguientes:
Tipo de Dato
Descripción
Número de bytes típico
Rango
float Real (Número en coma flotante) 4 Negativos:Positivos: 3.4E - 3.4E--38 a 3.4E3838 a - 3.4E
double
Real doble(Número en coma flotante de doble precisión)
Positivos: 1.7E-308 a 1.7E Negativos: - 1.7E-308 a - 1.7E long double Real doble largo^10
Positivos: 3.4E-4932 a 1.1E Negativos: - 3.4E-4932 a - 1.1E
Tipo booleano : Un método que es un estándar y que fue introducido en el C99 es el de usar la librería stdbool.h. Esa librería o encabezado define los tipos true y false; que al final son enteros disfrazados representando el 1 y el 0 respectivamente.
Tipo lógico
Los datos de este tipo sólo pueden contener dos valores: true ó false (verdadero ó falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
Tipo de Dato Descripción^
Número de bytes típico Rango bool Dato de tipo lógico 1 0, 1
1. Al escribir identificadores, la diferencia entre letras mayúsculas y minúsculas se ignora
main(){ int a= 5 ; printf("%d",A);}
El compilador considera que ay A son dos nombres de variables diferentes, y muestra un mensaje de error.
C piensa que las letras mayúsculas y minúsculas son dos caracteres diferentes.
Tradicionalmente, los nombres simbólicos constantes se escriben en mayúsculas y los nombres de las variables se escriben en minúsculas para aumentar la legibilidad
2. Ignora el tipo de la variable y realiza una operación ilegal
El código se muestra a continuación:
main(){ float a,b; printf("%d",a%b);}
% Es la operación restante para obtener el resto entero de a / b.
Las variables enteras ayb pueden realizar operaciones con el resto, mientras que las variables reales no pueden realizar operaciones con el resto.
**3. Confusas constantes de caracteres con constantes de cadena
C estipula que "" se usa como el final de la cadena, el sistema lo agrega automáticamente, por lo que la cadena "a" en realidad contiene dos caracteres: 'a' y ``, y no está bien asignarla a una variable de caracteres de.
4. Ignora la diferencia entre "=" y "=="
En muchos lenguajes de alto nivel, el símbolo "=" se utiliza como operador relacional "igual a". Si puedes escribir en el programa BASIC if (a= 3 ) then …
Pero en lenguaje C, "=" es el operador de asignación y "==" es el operador relacional. Como: if (a== 3 ) a=b;
El primero es comparar si a es igual a 3, y el segundo significa que si a es igual a 3, asigne el valor de b a a. Debido a los hábitos, los principiantes a menudo cometen tales errores.
5. Olvidé agregar un punto y coma.
El punto y coma es una parte indispensable de la declaración C, y debe haber un punto y coma al final de la declaración.
1. a= 1
**7. Olvidé agregar el operador de dirección "&" al ingresar variables
① scanf(“%d%d”,&a,&b); Al ingresar, no puede usar una coma como separador entre dos datos. Por ejemplo, la siguiente entrada es ilegal: 3 , 4
Al ingresar datos, use uno o más espacios entre los dos datos, y también puede usar la tecla Intro y la tecla de tabulación.
② scanf(“%d,%d”,&a,&b); C estipula: Si hay otros caracteres en la cadena de "control de formato" además de la descripción del formato, se deben ingresar los mismos caracteres que estos caracteres al ingresar datos. La siguiente entrada es legal: 3 , 4
En este momento, está mal usar espacios u otros caracteres en lugar de comas. 3 4 3 : 4
Otro ejemplo: scanf(“a=%d,b=%d”,&a,&b);
La entrada debería tener el siguiente aspecto: a= 3 ,b= 4
9. El formato de los caracteres de entrada es inconsistente con los requisitos Al ingresar caracteres en el formato "% c", tanto el "carácter de espacio" como el "carácter de escape" se ingresan como caracteres válidos. scanf(“%c%c%c”,&c1,&c2,&c3);
Como la entrada a b c El carácter "a" se envía a c1, el carácter "" se envía a c2 y el carácter "b" se envía a c3, porque% c solo requiere que se lea un carácter y no es necesario usar un espacio como espacio entre dos caracteres.
10. Los tipos de datos de entrada y salida son inconsistentes con los especificadores de formato utilizados
Por ejemplo, a se ha definido como un tipo entero y b se define como un tipo real
**1. a= 3 ;b=4.5;
Es ilegal hacerlo, y no se puede especificar la precisión al ingresar datos.
12. Omisión de la declaración de ruptura en la declaración de cambio
Por ejemplo: de acuerdo con la calificación del puntaje de la prueba, imprima el sistema de cien puntos.
**1. switch(grade)
Se puede ver que cuando el valor de la entrada I es menor o igual a 10, los resultados obtenidos por los dos son los mismos. Cuando I> 10, los dos resultados son diferentes. Porque el bucle while se juzga primero y luego se ejecuta, mientras que el bucle do- while se ejecuta primero y luego se juzga. Para números mayores que 10, el ciclo while no ejecuta el cuerpo del ciclo una vez, mientras que la instrucción do-while ejecuta el cuerpo del ciclo una vez.
**14. Uso indebido de variables al definir matrices
El sistema del compilador del lenguaje C procesa el nombre de la matriz de la siguiente manera: el nombre de la matriz representa la dirección inicial de la matriz, y el elemento de entrada en la función scanf es el nombre de la matriz de caracteres, y el carácter de dirección & no es necesario. Debe cambiarse a:
scanf(“%s”,str);
**17. Al mismo tiempo, se definen los parámetros formales y las variables locales en la función.
puede aparecer una vez. Las instrucciones con etiquetas no son requisitos sintácticos, pero la instrucción switch no tiene sentido sin ellas. La instrucción predeterminada no necesita estar al final; puede aparecer en cualquier parte del cuerpo de la instrucción switch. Una etiqueta case o default solo puede aparecer en una instrucción switch. Un bloque interno de una instrucción switch puede contener definiciones con inicializaciones siempre que se pueda tener acceso a ellas, es decir, siempre que las rutas de ejecución posibles no las omitan.
Las palabras reservadas en C para la condicional switch case son:
Switch
Case
Default
Switch case es una estructura de control empleada en programación, se utiliza para agilizar la toma de decisiones múltiples, trabaja de la misma manera que lo harían sucesivos if, if else o until anidados, así como combinaciones propias de determinados lenguajes de programación.
En principio la funcionalidad de un switch también se puede implementar con múltiples ifs anidados. En el caso de que haya muchas acciones dependientes de
muchos valores iniciales, es recomendable su uso. El switch favorece la legibilidad y rapidez en la programación.
Ciclo for
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un valor especifico inicial y otro valor final, además nos permiten determinar el tamaño del paso entre cada "giro" o iteración del ciclo.
Sobre sus características se puede mencionar que:
Siempre se hace uso de una variable (contador) que incrementará su valor automáticamente y ayudará a determinar si se continúa o finaliza el ciclo. El contador deberá inicializarse con un valor, generalmente 0 ó 1, dependiendo de lo que se esté realizando. Un ciclo puede contener otro ciclo dentro de sí (a esto se le denomina ciclo anidado). Nunca se debe utilizar el mismo nombre de la variable (contador) en ambos ciclos, pues el programa no podrá determinar cuándo se finaliza el ciclo.
Idea clave: Por cada ciclo, se debe tener un contador con diferente nombre.
Ciclo while
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no dependen directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más. De este modo los ciclos while, son mucho más efectivos para condiciones indeterminadas, que no conocemos cuando