EJERCICIOS RESUELTOS EN C CON IF THEN ELSE. PAR O IMPAR. ECUACIÓN CUADRÁTICA. PARADOJAS. (CU00530F)

Documentos relacionados
BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

BUCLES EN LENGUAJE C (ESTRUCTURA DE REPETICIÓN) CONDICIÓN, CONTADOR. EJEMPLOS. (CU00533F)

CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F)

Ejercicio ejemplo resuelto: verificar el algoritmo de resolución de una ecuación de segundo grado. (CU00237A)

FINALIZAR PROGRAMAS EN C CON EXIT. CAMBIAR FLUJO EN BUCLES BREAK Y CONTINUE. EJEMPLOS (CU00544F)

PROGRAMACION EN LENGUAJE C: EJERCICIOS RESUELTOS CON ARRAYS O ARREGLOS Y CICLOS FOR Y WHILE (CU00540F)

EJERCICIOS DE PROGRAMACIÓN EN C. PASO DE PSEUDOCÓDIGO A CÓDIGO. BUCLES, CONDICIONES (CU00539F)

FUNCIONES EN C QUÉ SIGNIFICA VOID? QUÉ ES EL TIPO DE RETORNO? PARA QUÉ SIRVE RETURN? MÓDULOS (CU00547F)

INSTRUCCIÓN GOTO EN C. ETIQUETAS O LABELS. POR QUÉ NO DEBE USARSE (HARMFUL). EJEMPLOS (CU00546F)

ARRAYS (ARREGLOS O FORMACIONES) UNIDIMENSIONALES EN C. DECLARACIÓN. LÍMITES. (CU00512F)

EJERCICIOS CON FUNCIONES EN C. EJEMPLO CALCULAR SERIES NUMÉRICAS. REFACTORIZAR. (CU00552F)

Ejercicios resueltos de captura y gestión de errores en programación con pseudocódigo. (CU00246A)

FUNCIONES CON Y SIN PARÁMETROS EN C. INVOCAR. SIGNATURAS. ARGUMENTOS. TIPO DE RETORNO (CU00549F)

FINAL DE ARCHIVO (EOF Y FEOF) CON C. END OF FILE. LEER DATOS DE FICHERO HASTA QUE NO HAYA MÁS. EJEMPLO (CU00543F)

AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)

LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)

EJEMPLOS LENGUAJE C. DECLARAR VARIABLES Y ASIGNARLES CONTENIDO. PROGRAMA BÁSICO INT MAIN MOSTRAR MENSAJE. (CU00511F)

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F)

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Examen de Fundamentos de la Programación (Modelo 1)

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Problema de tiro parabólico. Ejercicio resuelto. Planteamiento y pseudocódigo. (CU00252A)

Tema: Estructuras de Selección en C#.

Problemas de programación con iteración para buscar soluciones. Ejercicio resuelto. Diagramas de flujo. (CU00254A)

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

Fundamentos de programación

Sentencias iterativas

Ejercicios ejemplos resueltos con Desde-Siguiente (For-next) y arrays en pseudocódigo y diagramas de flujo. (CU00154A)

Instrucciones Si... Entonces y Si... Entonces SiNo (if then else) en pseudocódigo (CU00142A)

Operadores lógicos y de comparación en programación. Not, and, or Ejemplos. (CU00132A)

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

GENERALIDADES DEL LENGUAJE C

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

Modularización en lenguaje C. Funciones

COMPARAR CADENAS CON PHP STRCMP, == Ó ===? NO DISTINGUIR MAYÚSCULAS O MINÚSCULAS: STRCASECMP. RELLENAR CON STR_PAD. (CU00829B)

Funciones como Subprogramas en C++

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

Ejercicio algoritmo de manejo de lista de datos. Parte II. Diagramas de flujo. (CU00220A)

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Soluciones a los Ejercicios Propuestos en el libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C. Autor: Carlos Javier Pes Rivas

Ejercicios ejemplos con if then else y operador mod en Visual Basic. Par o impar, ecuación de segundo grado, etc. (CU00324A)

Ejercicios ejemplo: verificación de algoritmos del valor suma de una sucesión matemática. (CU00238A)

GENERALIDADES DEL LENGUAJE C. Nota: Los ejemplos y ejercicios especifican el tipo de archivo a enviar a

Capítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

ESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:

Tema: Estructuras de Selección en C#.

ALGORITMO: LENGUAJE C++: # include <iostream.h> # include <math.h> int main () Int num 1=0, num =0, d=0; Cout << ingrese primer numero: ;

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

ASIGNATURA PROGRAMACIÓN EN C++ GUÍA: 1 DOCENTE. LIZETH CORTÉS VARIABLES C++

UNIDAD 2 Descripción de un programa

OPERADORES Y EXPRESIONES

6. Visualizar error, ingrese un numero que no sea cero

Estructuras de Repetición: Repita Mientras.

El lenguaje C. 1. Identificadores, constantes y variables

Departamento de Electrónica

Programación 1 Grado de Ingeniería Robótica

Tema: Estructuras de Selección en C#.

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación

Operadores aritméticos

PROGRAMACIÓN PRÁCTICA AUTOR: JUAN LUIS ARELLANO ESCAMILLA

Sentencias de control de flujo

La forma general que tiene un condicional (una pregunta) es la siguiente:

OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B)

IF ELSE, IF ELSE IF JAVASCRIPT. CONDICIONALES DEL FLUJO O ESTRUCTURAS DE DECISIÓN. EJEMPLOS. EJERCICIOS. (CU01119E)

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:

Elegir tipos de datos Qué tipo de variable usar al programar? Ejemplos resueltos (CU00206A)

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Curso de Programación Avanzada en C

Estructuras de Decisión Simples y Dobles

SESIÓN DE EJERCICIOS E1

Expresiones y Operadores

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

3. ESTRUCTURAS ESTÁNDAR 2

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

UNIDAD 10: ECUACIONES DE SEGUNDO GRADO.

= RETURN =3 7-. ELSE K

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Tema 2: Elementos básicos de un programa. Tipos de datos, variables y constantes Asignación Operadores y expresiones

SOBREESCRIBIR MÉTODOS EN JAVA: TOSTRING, EQUALS. EJEMPLOS Y EJERCICIOS RESUELTOS. COMPARAR OBJETOS. (CU00694B)

Introducción al lenguaje C

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

CONCEPTO Y DEFINICIÓN DE CLASE EN JAVA. OBJETOS DEL MUNDO REAL Y ABSTRACTOS. EJEMPLOS. EJERCICIO (CU00644B)

Descripción de un Programa

Variables locales y globales. Funciones sin parámetros. Paso de parámetros

by Tim Tran:

Estructuras de Repetición (Repita para)

Bloque 3. Expresiones, sentencias y estructuras de control

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

Estructuras de Decisión Simples y Dobles. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Transcripción:

APRENDERAPROGRAMAR.COM EJERCICIOS RESUELTOS EN C CON IF THEN ELSE. PAR O IMPAR. ECUACIÓN CUADRÁTICA. PARADOJAS. (CU00530F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha revisión: 2031 Resumen: Entrega nº30 del curso básico Programación C desde cero. Autor: Mario Rodríguez Rancel

EJERCICIO NÚMERO 1: ENUNCIADO Para practicar el uso de condicional if else en C vamos a desarrollar una serie de ejercicios resueltos. El primer ejercicio plantea lo siguiente: Transformar en código el siguiente pseudocódigo, relativo a determinar la naturaleza par o impar de un número. Nota: El procedimiento a emplear será basado en el uso del operador módulo, %. Pseudocódigo aludido: 1. Inicio [Pseudocódigo aprenderaprogramar.com] 2. Mostrar Introduzca un número : Pedir Num 3. Res = Num mod 2 4. Si Res = 0 Entonces Mostrar El número es par SiNo Mostrar El número es impar FinSi 5. Fin SOLUCIÓN Todas las instrucciones y operadores necesarios las hemos visto en apartados anteriores. Pueden utilizarse los nombres de variable que se estimen oportunos (no tienen por qué coincidir con lo que ponemos aquí). // Ejercicios resueltos aprenderaprogramar.com int Num; int Res; printf("programa para determinar naturaleza par o impar de un numero\n\n"); printf ("Introduzca un numero entero: "); scanf ("%d", &Num); Res = Num%2; if (Res==0) { printf ("El numero es par\n"); else { printf ("El numero es impar\n");

Un resultado de ejecución puede ser similar a este: Hemos escrito el if... else como un bloque (usando llaves) en vez de en línea. El motivo para ello es que aporta mayor claridad y facilidad de interpretación. Recomendamos que los nombres de variables comiencen con una letra minúscula, pero como podemos comprobar no es obligatorio. Normalmente los programadores siguen ciertas pautas o normas a la hora de poner nombres a las variables. Una de ellas es la llamada norma camelcase basada en comenzar con una minúscula e introducir una mayúscula con cada cambio de palabra. Por ejemplo: numerodecoches ó diasdefiestalocal. EJERCICIO NÚMERO 2: ENUNCIADO Se quiere crear un programa que resuelva la ecuación cuadrática tipo ax 2 + bx + c. Para ello se ha estudiado el problema, que se ha planteado en pseudocódigo. Transformar el pseudocódigo que se muestra a continuación en código C y comprobar que el programa obtiene los resultados esperados para una serie de casos de prueba. 1. Inicio [Pseudocódigo aprenderaprogramar.com] 2. [Resolución de ecuación cuadrática ax 2 + bx + c = 0] 3. Mostrar Introduzca los valores de parámetros 4. Pedir a, b, c 5. d = b ^ 2 4 * a * c : e = 2 * a 6. Si d = 0 Entonces Mostrar x1 = x2 =, b / e SiNo Si d > 0 Entonces Mostrar x1 =, ( b + SQR(d)) / e Mostrar x2 =, ( b SQR(d)) / e SiNo Mostrar x1 =, b / e, +, SQR( d) / e, i Mostrar x2 =, b / e,, SQR( d) / e, i FinSi FinSi 7. Fin

EJERCICIO NÚMERO 2: SOLUCIÓN #include <math.h> // Ejercicios resueltos aprenderaprogramar.com //Declaración de variables double a, b, c, d, e; printf("programa para calcular ecuacion cuadratica tipo a*x^2 + b*x + c = 0\n\n"); //Obtención de datos printf ("Introduzca valor parametro a: "); scanf ("%lf", &a); printf ("Introduzca valor parametro b: "); scanf ("%lf", &b); printf ("Introduzca valor parametro c: "); scanf ("%lf", &c); //Cálculo y muestra de resultados d = pow (b,2) - 4 * a * c; e = 2 * a; if (d == 0) { printf ("El resultado es x1 = x2 =%lf", - b / e); else { if (d > 0) { printf ("El resultado es:\n"); printf ("x1 = %lf \n", (-b + sqrt(d)) / e); printf ("x2 = %lf \n", (-b - sqrt(d)) / e); else { printf ("El resultado es: \n"); printf ("x1 = %lf + %lf * i \n", -b / e, sqrt(-d)/e); printf ("x2 = %lf - %lf * i \n", -b / e, sqrt(-d)/e); El programa "funciona", si bien tiene sus limitaciones. Prueba a introducir los siguientes datos: a = 0, b = 3 y c = 1. Te aparecerá un error o resultado erróneo similar a: "El resultado es: x1 = -1.#IND00 x2 = - 1.#INF00". Efectivamente, a = 0 implica que e = 0 y al encontrarnos con una operación del tipo ( b + sqrt(d)) / e donde el denominador vale cero... error y se acabó! Mejor dicho, "se acabó" mientras no preparemos el programa para detectar este tipo de situaciones, cosa que como veremos más adelante se puede hacer, o diríamos más, sería aconsejable hacer. Estamos construyendo programas sencillos que en líneas generales responden bien cuando se dan las circunstancias previstas pero que pueden fallar ante situaciones extrañas. Esto no debe preocuparnos por el momento, ya que nos estamos centrando en la lógica y algoritmia básica de la programación. A medida que progresemos como programadores deberíamos ser capaces de mejorar nuestros planteamientos. Igualmente, deberemos complementar nuestra formación en áreas como el tratamiento y gestión de errores (excepciones o circunstancias no controladas). Un ejemplo de ejecución del programa sería el siguiente: Programa para calcular ecuacion cuadratica tipo a*x^2 + b*x + c = 0 Introduzca valor parametro a: -3 Introduzca valor parametro b: 1 Introduzca valor parametro c: 2 El resultado es: x1 = -0.666667 x2 = 1.000000

PARADOJA DEL SI BURLADO POR UN INTERVALO Prueba los siguientes códigos a los que denominaremos versión 1 y versión 2: int A; A=160; if (50<A<75 ) { printf ("Arabia\n"); else { printf ("Eusebio\n"); int A; A=160; if (A>50 && A<75 ) { printf ("Arabia\n"); else { printf ("Eusebio\n"); Si bien podría esperarse con sentido matemático obtener el mismo resultado con ambos códigos, al ejecutar la versión 1 obtenemos un error del tipo aviso: las comparaciones como 'X<=Y<=Z' no tienen su significado matemático [-Wparentheses], mientras que en la versión 2 se muestra "Eusebio". La razón: C no admite comparaciones dobles del tipo x < y < z. Ante este tipo de escritura, obtendremos un error. Por tanto debemos recordar que aunque existen similitudes no todas las expresiones matemáticas son directamente trasladables a un lenguaje de programación. EJERCICIO Un else puede ir seguido de un if dando lugar a lo que se conoce como una estructura else if. Un if seguido de if else equivale a decir Si ocurre esto haz esto y si no comprueba si ocurre esto otro Se pueden añadir tantos else if como se desee (y finalmente puede haber un else para contemplar el caso de que no se cumpla ninguna de las condiciones). Estudia este código y responde a las cuestiones indicadas más abajo: : // Ejercicio aprenderaprogramar.com int main () { /* local variable definition */ int a = 100; if( a == 10 ) { printf("value of a is 10\n" ); else if( a == 20 ) { printf("value of a is 20\n" ); else if( a == 30 ) { printf("value of a is 30\n" ); else { printf("none of the values is matching\n" ); printf("exact value of a is: %d\n", a );

a) Describe qué es lo que hace este programa detalladamente. b) Cuál es el resultado si definimos a con valor 20? Cuál es el resultado si definimos a con valor 30? Cuál es el resultado si definimos a con valor 40? c) Elimina el último else que aparece en el código. Cuál es el resultado ahora si definimos a con valor 20? Cuál es el resultado ahora si definimos a con valor 30? Cuál es el resultado ahora si definimos a con valor 40? Por qué obtenemos ahora estos resultados? Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com. Próxima entrega: CU00531F Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&itemid=210