Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Documentos relacionados
Programación. Test Autoevaluación Tema 3

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Programación. Test Autoevaluación Tema 6

INICIACIÓN A LA PROGRAMACIÓN EN C

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

INICIACIÓN A LA PROGRAMACIÓN EN C

OPERADORES Y EXPRESIONES

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

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

Programación. Test Autoevaluación Tema 5

Programación. Test Autoevaluación Tema 5

Expresiones Aritméticas

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

TEMA 3. ELEMENTOS BÁSICOS DEL LENGUAJE C

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

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

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

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

Tema 3. Estructuras de control

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES

Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.

Introducción a la Programación

Expresiones Aritméticas

INTRODUCCIÓN AL LENGUAJE C

Fundamentos de Informática ETSII. Tema 2: Entrada y Salida de Datos. Ficheros.

Programación. Test Autoevaluación Tema 4

Tipos de Datos. Tipos de Datos Simples Estándar

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

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

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Autoestudio 2: Variables y Operadores

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

TEMA 4. ESTRUCTURAS DE CONTROL

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños

Tipos de datos y Operadores Básicos

Fundamentos de Programación Tema 3. Relación I. 3. Escribir las siguientes expresiones aritméticas como expresiones de computadora: La

Arrays, Matrices y Cadenas

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

Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.

Programación en Lenguaje C

Sentencias de salto: break, continue, goto Sentencia de Salto: break

Sentencias iterativas

FUNDAMENTOS DE INFORMÁTICA

Cuales son los tipos de instrucciones que se utilizan en la programación?

CAPITULO 2: VARIABLES Y CONSTANTES

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

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

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

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

Entrada de datos y salida de resultados.

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Hoja de problemas Estructuras de Control

Algoritmos y Programación I

Introducción al lenguaje C

Programación En Lenguaje C

Lenguaje de programación C. Introducción

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

Descripción de un Programa

Tipos de Datos en C. Palabras reservadas en C

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Informática I (2014-2) Taller Lenguaje C Prof. Sebastián Isaza Departamento de Ingeniería Electrónica Facultad de Ingeniería Universidad de Antioquia

Introducción a Funciones

Tipo de Dato: Arreglos

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Universidad Autónoma del Estado de México Facultad de Medicina

Programación I Teoría I.

Conceptos Básicos. Programación

Repaso de lenguaje C. Índice. Repaso de lenguaje C. Repaso de lenguaje C: Tipos básicos

Preliminares. Tipos de variables y Expresiones

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA

Funciones Definición de función

Unidad I Tipos de Datos en C

PRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones

El lenguaje C. 1. Identificadores, constantes y variables

Capítulo 3: Dpto. de ATC, Universidad de Sevilla - Página 1 de 18 INTRODUCCIÓN A LA PROGRAMACIÓN IMPERATIVA

Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero

Curso de Java Introducción a la Programación II

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

Informática I. While & do While

Estructuras de Decisión Simples y Dobles

Transcripción:

Programación Ejercicios Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira 1

SOLUCIONES Segunda sesión: precedencia de operadores, cadenas, punteros 1. Escriba un programa que pida una temperatura en grados Farenheit y la pase a Celsius. float celsius,farenheit; //Se solicita y se lee la temperatura en Farenheit printf("\ndeme la temperatura en grados Farenheit\n"); scanf("%f",&farenheit); //Se calcula la temperatura en celsius: (farenheit -32)*5/9 celsius=(farenheit-32)*5/9; //El resultado obtenido se muestra por pantalla. printf("\nla temperatura en grados celsius es: %f\n",celsius); 2. Escriba un programa que muestre en la pantalla un mensaje de presentación, pregunte al usuario su nombre y le salude con un mensaje personalizado que use el nombre que se acaba de leer. char nombre[256]; printf ("Buenos dias, Como se llama usted?\n"); scanf ("%s",nombre); /*Las cadenas NO van precedidas de &*/ printf ("\nhola %s\n",nombre); 3. Escriba un programa en el que se declare una variable de tipo entero y se le asigne un valor. El programa debe mostrar el valor de la variable y la dirección de memoria en la que se almacena. int num=6; //Se define un puntero a una variable de tipo entero: int *puntero; printf ("\nla variable tiene como valor:%i\n",num); /*Se almacena en puntero la dirección de memoria en la que se almacena la variable num.*/ puntero=# /*Se muestra por pantalla el valor almacenado en puntero y el valor almacenado en num. Para el puntero se usa el descriptor de formato %p, específico para punteros*/ printf ("\nla direccion de memoria donde se encuentra num es:%p\n", puntero); 2

4. Cuál es el resultado de evaluar la siguiente expresión? Suponga que la variable n tiene el valor 6.0 y la variable valor 2.0 y ambos son de tipo float. Escriba la expresión equivalente a esta utilizando paréntesis. minut = 25.0 + 120 * n / valor a) Si minut es de tipo float su valor es 385.000 b) Si minut es una variable de inpo int su valor es 385 c) Utilizando paréntesis, la expresión sería minut = 25.0 + ((120 * n) / valor) 5. Encuentre los errores del siguiente programa foat radio, perimetro; printf ( introduzca el radio"); scanf("%f", &radio); perimetro= 2*PI*radio printf("%f", perimetro); return(0) Falta una llave de cierre en la función main. Falta un ; en la instrucción return(0). foat por float. Faltan las comillas en la cadena de caracteres "introduzca el radio" 6. Escriba un programa en C que asigne a la variable x (de tipo entero) el resultado de 4/0. Qué ocurre al compilar el programa? Y al ejecutarlo? int x; x=4/0; Al compilar el programa se genera el siguiente mensaje en la línea 6: [Warning] division by zero Al intentar ejecutarlo se genera una excepción. 3

7. Escriba un programa en C que lea dos enteros en las variables x e y, y calcule y muestre por pantalla los valores de x/y (como número real ) y de x%y Ejecute el programa introduciendo valores diferentes. Qué sucede cuando a la variable y se le asigna el valor 0? int x, y; float cociente; int resto; printf ("Introduzca los valores de x e y "); scanf ("%d %d", &x, &y); /*cociente=x/y; División entre enteros. El resultado es entero. Al asignar este valor a una variable real la parte decimal se completa con 0*/ cociente=(float)x/(y); //Division entre reales. Resultado real printf ("El cociente es: %.2f\n", cociente); /*El especificador de formato %.2f hace que el cociente se escriba con dos decimales*/ resto=x%y; printf ("El resto es: %d\n", resto); Al asignar a la variable y el valor 0 se genera una excepción (error en tiempo de ejecución). 8. Escriba un programa que lea tres enteros (a, b, c) y muestre por pantalla un 1 si los valores introducidos siguen un orden creciente (a>b>c) y 0 en caso contrario. /*Objetivo: Mostrar el uso de los operadores lógicos y demostrar que a>b>c no equivale a ((a>b)&&(b>c))*/ int a, b, c; printf ("Introduzca 3 números enteros\n"); scanf("%d %d %d", &a, &b, &c); printf ("Si los valores introducidos siguen un orden creciente se mostrara un 1\n"); printf("%d\n", ((a<b)&&(b<c))); /* La sentencia (a>b>c) calcula a>b y compara el resultado de esta operación con c).*/ 4

9. Escriba un programa que declare una variable de tipo entero x y una variable y de tipo real, asigne a dichas variables los valores 6 y 2.0, respectivamente, y calcule y muestre por pantalla el resultado de las siguientes operaciones: a) x*y b) x/y c) x%y Qué sucede al intentar compilar el programa? Cómo resolvería este problema? int x; float y; //Se asignan a x e y los valores indicados. x=6; y=2.0; //Se transcribe el código indicado. x*y; x/y; /* x%y; Al poner esta sentencia se genera un error de compilación: Invalid operands to binary %. El operador % sólo funciona con operandos de tipo entero. Para subsanar este error convertimos la variable y a tipo entero:*/ x%(int)y; 10. Escriba y compile el siguiente programa en C: int a, b; char cadena[8]; int c; a=7; b=14; c=128; printf ("Asigne un valor a la cadena de caracteres "); scanf("%[^\n]", cadena); /*El descriptor %[^\n] lee los caracteres introducidos hasta pulsar el salto de línea. Por tanto, permite que la cadena tenga espacios en blanco*/ printf ("La cadena es %s\n", cadena); printf ("El valor asignado a las variables es:\na=%d\nb=%d\nc=%d\n", a, b, c); Detecta algún error? Ejecute el programa anterior asignando a cadena el valor "Hola", qué sucede? Repita la ejecución asignando a cadena el valor "Buenos días", qué observa? Al asignar a cadena (variable en la que se puede almacenar una cadena de como máximo 7 caracteres más el carácter nulo '/0') el valor "Buenos días" (se necesitaría una cadena de longitud 12), se sobreescriben algunas variables y se puede generar una excepción. 5