Lenguaje C, segundo bloque: Sentencias de control



Documentos relacionados
Introducción a las sentencias de control

Lección 3 Sentencias de control

MÚLTIPLES Estructuras condicionales anidadas if(expresion1 o condición1){ Sentencias1 } else { if (expresion2){ Sentencias2

TEMA 4. ESTRUCTURAS DE CONTROL

GUÍA DE LABORATORIO #4. SENTENCIAS DE CONTROL EN C: CICLO for, while y do while. Realizar programas en Lenguaje C aplicando for, while y do while.

Tema 3. Estructuras de control

Programación. Test Autoevaluación Tema 4

Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Tema 6 Control de Flujo

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Introducción a Java. Introducción a Java. Programación I

Tema 1: Sentencias de Control

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Programación Orientada a Objetos Sentencias Java Parte II Ing. Julio Ernesto Carreño Vargas MsC.

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

Laboratorio de Arquitectura de Redes. Sentencias de control en lenguaje C

Estructuras de Control 3

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

Informática Ingeniería en Electrónica y Automática Industrial

Tema 2. El lenguaje JAVA

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

Fundamentos de programación

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Sentencias de control de flujo

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Fundamentos de Informática 6. Estructuras de control (y sus algoritmos)

ESTRUCTURAS DE CONTROL

Operadores aritméticos

Estructuras de control

fundamentos de programación (unidad 4) programación estructurada en Java

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

Tema 06: Estructuras y sentencias de control en C

ESTRUCTURAS DE CONTROL

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación de los problemas de Física en.

Curso Informática Lección 4. Instrucciones de control

Estructuras de control repetitivas/iterativas

TEMA 4: Programación estructurada

Programación 1 Tema 5. Instrucciones simples y estructuradas

Estructuras de control Agosto de Facultad de Ingeniería. Universidad del Valle

Computación III. Objetivo de aprendizaje del tema

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Programación Orientada Objetos. Estructuras de control if, If else, switch

Sentencias de Control en C++

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

VGOC"6<"Rtqitcocekôp"guvtwevwtcfc

Tema 07: Programación estructurada en C

Introducción al lenguaje C

El lenguaje C. 3. Una instrucción que se ejecutará si la condición es verdadera.

Ejercicios de Programación

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Estructuras de Repetición: Repita Mientras.

Estructuras de Control

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Programación: Estructuras de Control

Capítulo 4. Control de flujo. Continuar

Java para programadores

LENGUAJE. Tema 2 Elementos de un programa

goto goto Código Spague-

Introducción a la Programación IV. Estructuras de Control. Orden de ejecución. Transferencia de Control. Transferencia de Control II 12/3/10

Bloque 3. Expresiones, sentencias y estructuras de control

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

1. Detalle de los Comandos:

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Informática. ETSIGCT curso 2017/2018 Boletín 2 de prácticas J. Javier Ibáñez González

Preliminares: programación con C++

Estructuras de Control

UE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS

Complejidad de Algoritmos

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Objetivos. Conceptos 1. ESTRUCTURAS DE CONTROL SELECTIVAS. Estructura condicional if-else

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

3.3 Bifurcaciones en Pascal

Programación Web Tema 3.2 Java Script Estructura del Lenguaje. Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM

Operadores de comparación

Fundamentos de Informática

ESTRUCTURAS REPETITIVAS

Preprocesador de C. Ejemplo: ejecución de código dependiente de la máquina.

TEMA 4: Estructuras de Control

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

Programación (PRG) PRACTICA 4. Elementos de programación: estructuras de control.

Bloque II. Elementos del lenguaje de programación Java

Informática. Tema4- Estructuras de Control en C: Estructuras selectivas o condicionales

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Programación 1 Tema 5. Instrucciones simples y estructuradas

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Capítulo 3. Sentencias condicionales

SESIÓN DE EJERCICIOS E1

Programación Orientada a Objetos

Flujo del programa. Este flujo puede alterarse mediante: El ordenador ejecuta cada sentencia y va a la siguiente hasta el final del programa.

Tema 3. Estructuras de control en C++

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

LENGUAJES DE PROGRAMACIÓN. Solución al Ejercicio de Autocomprobación 1

Transcripción:

Lenguaje C, segundo bloque: Sentencias de control José Otero 1 Departmento de informática Universidad de Oviedo 23 de octubre de 2007

Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Sentencia if Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Sentencia if Permite ejecutar o no una sentencia o bloque, en función de si una expresión es cierta o no. Una sentencia: if (expresion) sentencia; Un bloque: if (expresion) //bloque falsa expresion verdadera sentencias "expresion"se construye con operadores lógicos y relacionales.

Sentencia if Ejemplo: ordenar dos números de mayor a menor. Si están desordenados hay que intercambiarlos. Si están ordenados no hay que hacer nada. #include<stdio.h> int main() int a,b,tmp; scanf("%d%d",&a,&b); //ordenar dos numeros //de mayor a menor if (a<b) tmp=a; a=b; b=tmp; printf("\n%d %d",a,b);

Sentencia if-else Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Sentencia if-else Permite ejecutar una sentencia/bloque u otra sentencia/bloque, en función de si una expresión es cierta o no. if (expresion) sentencia; else sentencia; if (expresion) //bloque else sentencia; Etc. sentencias B falsa condición verdadera sentencias A

Sentencia if-else Ejemplo: mostrar el mayor de dos números. #include<stdio.h> int main() int a,b,mayor; printf("\nintroduce dos numeros:"); scanf("%d%d",&a,&b); if (a>b) mayor=a; else mayor=n; printf("\nel mayor es %d",mayor);

if e if-else anidados Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

if e if-else anidados Entre las sentencias después de if o else pueden haber más if e if-else. Por el lado del else: if (condicion1) else if (condicion2) else falsa sentencias C falsa condición2 verdadera sentencias B condición1 verdadera sentencias A

if e if-else anidados Entre las sentencias después de if o else pueden haber más if e if-else. Por el lado del if: if (condicion1) if (condicion2) else else sentencias C sentencias B falsa falsa condición1 verdadera condición2 verdadera sentencias A

if e if-else anidados Entre las sentencias después de if o else pueden haber más if e if-else. Por los dos lados: if (condicion1) if (condicion2) else else if (condicion3) else

Sentencia switch Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Sentencia switch Es equivalente a varios if-else restringiendo la condición a la comparación a igualdad entre expresion y cte1cte2. switch(expresion) case cte1: break; case cte2: break; default: if (expresion==cte1) else if (expresion==cte2) else

Sentencia switch IMPORTANTE: Si se omite break se ejecuta todo el código que siga hasta encontrar el siguiente. Expresión es de tipo entero o carácter. Después de case solo pueden ir constantes de esos tipos. La condición es, implicitamente, la comparación a igualdad entre expresion y las constantes. No se puede hacer otro tipo de comparación.

Sentencia switch Ejemplo: calculadora sencilla Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Sentencia switch Ejemplo: calculadora sencilla #include<stdio.h> int main() float a,b; char op; printf("\nintroduce num op num:"); scanf("%f%c%f",&a,&op,&b); switch(op) case + :printf("\n%f+%f=%f",a,b,a+b); break; case - :printf("\n%f-%f=%f",a,b,a-b); break; case * :printf("\n%f*%f=%f",a,b,a*b); break; case / :printf("\n%f/%f=%f",a,b,a/b); break; default:printf("\nerror");

Bucle while Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle while Repite una sentencia o bloque mientras sea cierta una expresión. Primero se evalúa la expresión, si es cierta se ejecutan las sentencias. while(expresion) sentencia; while(expresion) //bloque falsa expresion verdadera sentencias

Bucle while IMPORTANTE: La primera vez que se evalúe expresion tienen que tener valor definido todas las variables que intervengan en ella. De momento, estar definida es: Que se haya pedido por el teclado. Que haya estado a la izquierda de una asignación. Esto tiene que hacerse antes del bucle. Si la primera vez que se evalúa expresion es falsa, no se realiza ninguna iteración. De entre las sentencias que se repiten, algunas de ellas tienen que modificar alguna variable de las que conforman expresion, haciéndola falsa en algún momento. De lo contrario el bucle no termina.

Bucle while Ejemplo: suma de las cifras de un número Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle while Ejemplo: suma de las cifras de un número #include<stdio.h> int main() //declaracion de variables, inicializar suma int cifra,n,suma=0; printf("\nintroduce un entero:"); scanf("%d",&n); //mientras n!=0 quedan cifras por extraer while(n!=0) //se extrae la cifra cifra=n%10; //se suma la cifra suma=suma+cifra; //se elimina la cifra del numero n=n/10; printf("\nsuma de las cifras:%d",suma);

Bucle do-while Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle do-while Repite una sentencia o bloque mientras sea cierta una expresión. Primero se ejecutan las sentencias, después se evalúa la expresión. do sentencia; while(expresion); sentencias do //bloque while(expresion); falsa expresion verdadera

Bucle do-while IMPORTANTE: La primera vez que se evalúe expresion tienen que tener valor definido todas las variables que intervengan en ella. De momento, estar definida es: Que se haya pedido por el teclado. Que haya estado a la izquierda de una asignación. Esto puede hacerse durante la primera iteración. Como primero se ejecutan las sentencias, al menos se realiza una iteración. De entre las sentencias que se repiten, algunas de ellas tienen que modificar alguna variable de las que conforman expresion, haciéndola falsa en algún momento. De lo contrario el bucle no termina.

Bucle do-while Ejemplo: aproximación de una raíz por una sucesión Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle do-while Ejemplo: aproximación de una raíz por una sucesión #include<stdio.h> #include<math.h> int main() float x_i,x_i_1=.5,a,dif,precision; printf("\nintroduce un num y precision"); scanf("%f%f",&a,&precision); do //siguiente termino x_i=.5*(x_i_1+a/x_i_1); //diferencia entre dos consecutivos dif=fabs(x_i_1-x_i); //actualizacion del anterior x_i_1=x_i; //mientras la dif mayor que precision while(dif>precision); printf("\nraiz cuadrada=%f",x_i);

Bucle for Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle for Es una forma compacta de escribir el bucle while para ciertos usos, por ejemplo para realizar un número fijo de iteraciones. for(inicializacion;expresion;actualizacion) sentencia; for(inicializacion;expresion;actualizacion) //bloque

Bucle for La inicializacion se hace una sola vez. Consiste en al menos una inicialización de las variables que intervienen en expresion. Después se evalúa expresion, si es cierta, se ejecutan las sentencias. Finalmente se realiza la actualizacion. Consiste en al menos una asignación en las que se cambia el valor de alguna variable de las que intervienen en expresion.

Bucle for Equivale a un while con la siguiente estructura. inicializacion; while(expresion) sentencias; actualizacion; falsa inicializacion expresion verdadera sentencias actualizacion

Bucle for Si hay varias inicializaciones se separan por comas. Todas las variables de expresion deben de tener valor definido la primera vez que se evalúe. Si hay varias actualizaciones se separan por comas. Algunas deben hacer que expresion se haga falsa. De lo contrario el bucle no termina. En este curso casi siempre será suficiente una inicialización y una actualización.

Bucle for Ejemplo: cálculo del factorial Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4 Sentencia switch Ejemplo: calculadora sencilla 5 Bucle while Ejemplo: suma de las cifras de un número 6 Bucle do-while Ejemplo: aproximación de una raíz por una sucesión 7 Bucle for Ejemplo: cálculo del factorial

Bucle for Ejemplo: cálculo del factorial #include<stdio.h> int main() int n,fact=1,i; printf("\nintroduce un numero:"); scanf("%d",&n); for (i=2;i<=n;i++) fact=fact*i; printf("\n%d!=%d",n,fact);