Cap 03 - Estructuras de Control en C

download Cap 03 - Estructuras de Control en C

of 90

description

BUENO

Transcript of Cap 03 - Estructuras de Control en C

  • Captulo 3 - Desarrollo de

    Programas Estructurados

    Lenguaje de Programacin

    EE.GG.CC.

  • Introduccin (1)

    Programa: Conjunto de instrucciones escritas en algn lenguaje de programacin, que permite al computador ejecutar una lista de acciones finita, predeterminada y no ambigua.

    Anlisis del problema: qu nos piden resolver?

    Diseo del algoritmo: pseudo cdigo o diagrama de flujo.

    Elaboracin del programa en un lenguaje de programacin.

  • Introduccin (2)

    En cursos anteriores se aprendi: Tcnica del diseo

    descendente: top-down

    Dividir un programa en partes ms pequeas: sub programas o mdulos

    Forma de trabajo comn de Pascal y C/C++

    Funcin

    Principal

    Funcin

    Intermedia1

    Funcin

    Intermedia2

    Funcin

    Intermedia3

    Funcin

    Intermedia2.1

    Funcin

    Intermedia2.2

  • 3.1 Qu es un programa?

    Un programa es un conjunto de lneas de cdigo escritas en un lenguaje de programacin determinado.

  • Estructura general de un programa

    Entradas Procedimiento Salidas

  • Cmo se resuelve un problema ?

    Tener una completa comprensin del problema

    Nos debemos hacer tres preguntas: Qu salidas debemos generar?

    Qu entradas debemos ingresar para obtener las salidas solicitadas?

    Cul es el procedimiento que debemos usar para transformar las entradas en las salidas?

    Un planteamiento correcto nos evitar perder tiempo en la implementacin de algoritmos que posteriormente nos demos cuenta que son incorrectos.

  • 3.2 Qu es un Algoritmo?

    Algoritmo: procedimiento dado en trminos de

    Acciones que deben realizarse

    Secuencia de estas acciones

    Primero se determina qu hace el programa.

    Luego se determina cmo lo hace.

  • 3.2 Qu es un Algoritmo? (2)

    Se divide el problema en varios subproblemas que se solucionan de forma independiente (divide y vencers). Esto se denomina diseo modular.

    En este paso es conveniente la utilizacin de diagramas de flujo o pseudocdigo.

    Control del programa:

    Especificar secuencia en la que los enunciados sern ejecutados

  • 3.3 Qu es un Pseudocdigo?

    Lenguaje artificial y formal que nos ayuda a desarrollar algoritmos.

    Similar al lenguaje cotidiano.

    No se ejecuta en la computadora.

    Nos ayuda a pensar en un programa antes de escribirlo.

    Fcil de convertir en un programa C

    Consiste tan solo de enunciados

  • Representacin Grfica de un algoritmo

    Smbolo de rectngulo :

    Indica una accin

    valo :

    Indica comienzo o fin de un programa

    3.4 Qu son los Diagramas de Flujo?

    INICIO

  • Estructuras Lgicas

    Todo algoritmo puede expresarse mediante 3 estructuras lgicas:

    La secuencia.

    La condicin.

    La repeticin.

  • Notacin grfica

    Secuencia

    Condicin

  • Notacin grfica (2)

    Repeticin

  • Estructura de seleccin por condicin

  • Estructura de Seleccin if

    La estructura de seleccin if es utilizada para realizar una de dos acciones distintas en base a una condicin.

  • Estructuras selectivas en C: if (1)

    Estructura selectiva if -else

    Funcionamiento similar que en Pascal

    Sintaxis: versin simple

    if (expresin)

    sentencia 1;

    else

    sentencia 2;

    Diferencia con Pascal:NO SE USA LA PALABRA

    THEN

    Diferencia con Pascal:SE ESCRIBE ; ANTES DE ELSE

  • Estructuras selectivas en C: if (2)

    Sintaxis: versin bloquesif (expresin)

    {

    ..

    }

    else

    {

    ..

    }

    Bloque de instrucciones del if

    Bloque de instrucciones del else

  • Estructura de Seleccin if Por ejemplo, el siguiente pseudocdigo:

    Si la nota del alumno es mayor o igual a 11Imprimir Aprobado

    La condicin la nota del alumno es mayor o igual a 11 tiene dos posibilidades: es verdadera o es falsa.

    Si la condicin es verdadera Se ejecuta la accin de imprimir y el programa contina al

    siguiente enunciado

    Si la condicin es falsa: El enunciado de impresin es ignorado y el programa contina al

    siguiente enunciado

  • Estructura de Seleccin if Veamos otra vez el ejemplo:

    Si la nota del alumno es mayor o igual a 11Imprimir Aprobado

    Si lo traducimos al lenguaje C:if ( nota_alumno >= 11 )

    printf( Aprobado\n" );

    Observar que el cdigo en C se parece al pseudocdigo

    La sangra permite que los programas sean ms fciles de leer, pues C ignora los espacio en blanco

  • Estructura if: representacin en diagrama de flujo

    Estructura if es del tipo una-entrada/una-salida

    verd

    falso

    nota >= 11 print Aprobado

    En lenguaje C:

    Es cero falso

    No es cero verdadero

  • Estructura de Seleccin if/else

    if

    Slo realiza una accin si la condicin es verdadera

    if/else

    Especifica una accin a realizarse si la condicin es verdadera y otra accin si la condicin es falsa

  • Estructura de Seleccin if/else Otro ejemplo en pseudocdigo:

    Si la nota del alumno es mayor o igual a 11Imprime Aprobado

    de lo contrarioImprime Jalado

    Notar las convenciones de espaciado y tabulado

    Traducido a C :if ( nota >= 11 )

    printf( Aprobado\n");

    else

    printf( Jalado\n");

  • Estructura de Seleccin if/else

    Diagrama de flujo de la estructura if/else

    verdfalso

    print

    Jalado

    print

    Aprobado

    nota >= 11

  • Estructura de Seleccin if/else

    Enunciados compuestos:

    Uso de llaves

    Ejemplo:

    if ( nota >= 11 )

    printf( Aprobado.\n );

    else {

    printf( jalado.\n);

    printf( Debe repetir el curso.\n );}

    Sin las llaves, el enunciadoprintf( Debe repetir el curso.\n );

    se ejecutaria siempre

  • Notacin abreviada del if/else Operador condicional ternario (cond ? X :Y)

    Usa tres argumentos (condicin, valor para condicin verdadera, valor para condicin falsa)

    Por ejemplo: if(nota>=11)

    aprobados = 1;

    else

    aprobados = 0;

    Lo anterior se puede escribir de la siguiente manera:aprobados = (nota>=11)? 1:0;

  • Notacin abreviada del if/else

    Tambin se puede combinar con otras funciones como por ejemplo printf().

    Por ejemplo:printf("%s\n", (nota>=11)? Aprobado":Jalado");

    Tambin se puede escribir de la siguiente manera:

    (nota>=11)? printf( Aprobado\n ):printf( Jalado\n );

  • Anidacin de estructuras if/else

    Se pone a prueba casos mltiples colocando estructuras if/else dentro de estructuras if/else.

    Se cumple con una condicin, el resto de los enunciados se evitan.

  • Anidacin de estructuras if/else ejemplo

    Si la nota del alumno es mayor o igual a 16Imprimir A

    de lo contrario Si la nota del alumnos es mayor o igual a 12

    Imprimir Bde lo contrario

    Si la nota del alumno es mayor o igual a 8 Imprimir C

    de lo contrario Si la nota del alumno es mayor o igual a 4

    imprimir Dde lo contrario

    imprimir E

    Enunciado en C ifthenelse1.c

  • Estructuras de seleccin mltiple

  • La estructura de Seleccin Mltiple

    switch

    switch

    Permite realizar una ramificacin mltiple, ejecutando slo una de varias posibilidades, dependiendo de los diferentes valores que puede tomar una variable.

  • switch: Diagrama de Flujo

    caso aVerdadero

    Falso

    Acciones del caso a

    caso bVerdadero

    Falso

    Acciones del caso b

    caso zVerdadero

    Falso

    Acciones del caso z

    Acciones por defecto

  • Formato Series de etiquetas case y el caso opcional default

    switch ( variable ){

    case '1':

    acciones

    case '2':

    acciones

    default:

    acciones

    }

    break; permite salir de la estructura

    La estructura de Seleccin Mltiple

    switch

  • switch1.c

    switch2.c

  • Estructuras de repeticin controlada

  • Estructuras de repeticin controlada

    Con control al inicio del bloque:while()

    Con control al final del bloque:do-while()

    Con control al inicio y con contadores:for()

    Instrucciones de control:break

    continue

  • La estructura while()

    while = mientras

    Estructura El programador especifica que una accin se repite

    mientras cierta condicin se mantenga como verdadera

    Pseudocdigo:Mientras haya ms cosas en mi lista de compras

    Comprar el siguiente item y sacarlo de mi lista

    El bucle while se repite hasta que la condicin sea falsa

  • La estructura de repeticin while

    Ejemplo: int producto = 2;

    while ( producto

  • Algoritmos tpicos de repeticin

    Validacin de ingreso de datos.

    Repeticin controlada por contador.

    Repeticin controlada por centinela.

  • Ingreso de dato con validacin

    Se pide leer del teclado una variable entera mayor que cero:

    int dato=0;

    while(1){

    printf(Ingrese dato mayor que cero:):

    scanf(%d, &dato);

    if(dato > 0) break;

    }

  • Ingreso de dato con validacin (2)

    Se pide leer del teclado una variable entera mayor que cero y menor que 20:

    int dato=0;

    while(1){

    printf(Ingrese dato entre 0 y 20:):

    scanf(%d, &dato);

    if(dato > 0 && dato < 20) break;

    }

  • Algoritmo de Repeticin Controlada por Contador

    El bucle se repite hasta que el contador alcanza cierto valor.

    Se usa cuando el nmero de repeticiones es conocido con anticipacin.

  • Ejemplo de algoritmo de Repeticin Controlada por Contador

    Ejemplo: Una clase de diez estudiantes toma un test. Las notas (enteros del 0 al 20) estn disponibles. Determinar el promedio de las notas de la clase

    Pseudocdigo: Poner total en cero

    Poner contador de notas en uno

    Mientras el contador de notas es menor o igual a 10ingrese la sgte notaSumar la nota al totalSumar uno al contador

    Calcular el promedio de la clase como el total dividido entre diez

    Imprimir el promedio de la clase

  • 1 /* Fig. 3.6: fig03_06.c

    2 Programa de promesio de la clase con

    3 repeticin controlada por contador*/

    4 #include

    5

    6 int main()

    7 {

    8 int contador, nota, total, promedio;

    9

    10 /* inicializacin */

    11 total = 0;

    12 contador = 1;

    13

    14 /* proceso */

    15 while ( contador

  • Ingrese nota: 98

    Ingrese nota : 76

    Ingrese nota : 71

    Ingrese nota : 87

    Ingrese nota : 83

    Ingrese nota : 90

    Ingrese nota : 57

    Ingrese nota : 79

    Ingrese nota : 82

    Ingrese nota : 94

    El promedio de la clase es: 81

    Ejecucin del Programa

  • Formulando Algoritmos con refinamiento descendente paso a paso

    El problema se convierte en :

    Desarrolle un programa de promedios de la clase que pueda procesar un nmero arbitrario de notas, cada vez que se ejecute el programa.

    Nmero de alumnos desconocido

    Como se culmina el programa?

  • Formulando Algoritmos con refinamiento descendente paso a paso

    Debe usarse un valor centinela

    Tambin conocido como valor seal, un valor substituto o valor bandera

    Nos ayuda a indicar el fin del ingreso de datos.

    El bucle termina cuando el usuario ingresa el valor escogido como centinela

    El valor centinela se escoge de tal forma que no se confunda con un valor posible (en nuestro ejemplo conviene el valor -1 )

  • Formulando Algoritmos con refinamiento descendente paso a paso

    Refinamiento descendente paso a paso

    Empezamos con una representacin general de seudocdigo:

    Determinar el promedio de la clase correspondiente al examen

    Dividimos la rep. general en tareas pequeas y las enlistamos en orden:

    Inicializar variablesIngreso, suma y cuenta de las notas del examenCalcular e imprimir el promedio

  • Formulando Algoritmos con refinamiento descendente paso a paso

    La mayora de los programas se dividen en tres fases:

    Inicializacin: se inicializan las variables

    Proceso: Se ingresan los valores de datos y se ajustan las variables de programa correspondientes

    Terminacin: calculo e impresin de los resultados finales

  • Formulando Algoritmos con refinamiento descendente paso a paso

    Se refina la fase de inicializacin

    Inicializar variables en:Inicializa total a ceroInicializa contador a cero

    Refinar

    Ingreso,suma y cuenta de las notas en Ingrese la primera nota(While) mientras el usuario no haya ingresado el centinela

    Sumar la nota a totalSumar uno al contador de notasIngrese la siguiente nota (puede ser el sentinela)

  • Formulando Algoritmos con refinamiento descendente paso a paso

    Refinar Calcular e imprimir el promedio en

    (If ) si el contador no es igual a ceroPoner el promedio como el total dividido entre el

    contadorImprimir el promedio

    (else) de lo contrarioImprimir No se ingresaron notas

  • 1. Se inicializan las

    variables

    2. Ingreso de usuario

    2.1 Realizar bucle

    1 /* Fig. 3.8: fig03_08.c

    2 programa de promedio de la clse con

    3 repeticin controlado por centinela */

    4 #include

    5

    6 int main()

    7 {

    8 float promedio; /* new data type */

    9 int contador, nota, total;

    10

    11 /* initializacion */

    12 total = 0;

    13 contador = 0;

    14

    15 /* proceso */

    16 printf( Ingrese nota, -1 para finalizar: " );

    17 scanf( "%d", &nota );

    18

    19 while ( nota != -1 ) {

    20 total = total + nota;

    21 contador = contador + 1;

    22 printf( " Ingrese nota, -1 para finalizar: " );

    23 scanf( "%d", &nota );

    24 }

    Promedio2.c

  • 3. Clculo de Promedio

    3.1 Imprime resultados

    Salida del programa

    25

    26 /* terminacion */

    27 if ( contador != 0 ) {

    28 promedio = ( float ) total / contador;

    29 printf( Promedio de la clase es %.2f", promedio );

    30 }

    31 else

    32 printf( No se ingresaron notas\n" );

    33

    34 return 0; /* Fin del programa */

    35 }

    Ingrese nota, -1 para finalizar: 75

    Ingrese nota, -1 para finalizar: 94

    Ingrese nota, -1 para finalizar: 97

    Ingrese nota, -1 para finalizar: 88

    Ingrese nota, -1 para finalizar: 70

    Ingrese nota, -1 para finalizar: 64

    Ingrese nota, -1 para finalizar: 83

    Ingrese nota, -1 para finalizar: 89

    Ingrese nota, -1 para finalizar: -1

    Promedio de la clase es 82.50

  • Estructuras de control anidadas

    Problema

    El colegio tiene una lista de notas para 10 alumnos.

    Escribir un programa que analice los resultados.

    Si ms de 8 alumnos aprobaron, imprimir el mensaje Aumentar el nivel"

  • Estructuras de control anidadas

    Tener en cuenta: El programa debe procesar 10 resultados de

    pruebaDebe usarse un lazo controlado por contador.

    Deben usarse dos contadoresUno para el nmero de aprobados, otro para los

    jalados.

  • Estructuras de control anidadas

    Representacin generalAnalice los resultados del examen y decida si debe aumentarse

    el nivel

    Primer RefinamientoInicializar variables

    Ingrese las diez notas y cuente los aprobados y jalados

    Imprimir un resumen de los resultados del exmenes y decidir si se debe aumentar el nivel

    Refine Inicializar variablesInicializar aprobados con cero

    Inicializar jalados con cero

    Inicializar contador de notas con uno

  • Estructuras de control anidadas

    Refinar Ingrese las diez notas y cuente los aprobados y jalados

    (While) mientras el contador de alumnos es menor o igual a 10Ingrese el siguiente resultado de examen

    (If ) si el alumno aprob

    Incremente en uno aprobados(else) de lo contario

    Incremente en uno jalados

    Incremente en uno el contador de alumnos

  • Estructuras de control anidadas

    Refinar Imprimir un resumen de los resultados del exames y decidir si se debe aumentar el nivel

    Imprimir el nmero de aprobados

    Imprimir el nmero de jalados

    (If) Si mas de 8 alumnos aprueban Imprimir Levantar el nivel

  • /*

    Analisis de resultados de un examen */

    #include

    int main()

    {

    /* inicializacion de variables */

    int pasaron = 0, jalaron = 0, estudiantes = 1, nota;

    /* proceso de 10 notas; bucle controlado por contador */

    while ( estudiantes = 11 ) /* if/else anidado en un while */

    pasaron++;

    else

    jalaron++;

    estudiantes++;

    }

    printf( "Pasaron %d\n", pasaron );

    printf( "Jalaron %d\n", jalaron );

    if ( jalaron > 8 )

    printf( "Aumentar el nivel de enseanza\n" );

    getch();

    return 0;

    }

    Analisis1.c

  • Ms estructuras de control

    Estructura de repeticin do-while()

    Repeticin controlada por contador

    Estructura de repeticin for()

    Estructura de repeticin for(): Notas y Observaciones

    Ejemplos usando la estructura for()

    Enunciados break y continue

    Resumen de programacin estructurada

  • La estructura de repeticin

    do/while

    Estructura de repeticin do/while Similar a while

    La condicin para la repeticin se evala despus que el lazo es ejecutado Todas las acciones se ejecutan al menos una vez

    Formato:do {

    enunciado;

    } while ( condicion );

  • Ejemplodo {

    printf( "%d ", contador );

    } while (++contador

  • do/while: Diagrama de Flujo

    condicinVerdadero

    Falso

    acciones

  • 1. Inicializacin

    2. Bucle

    3. Impresin

    Salida

    1 /* Estructura do while */

    2

    3 #include

    4

    5 int main()

    6 {

    7 int contador = 1;

    8

    9 do {

    10 printf( "%d ", contador );

    11 } while ( ++contador

  • Estructuras de repeticin

    Otras estructuras de control de repeticin for

    do/while

    break

    Usado para salir en forma inmediata y rpida de ciertas estructuras de control

    continue

    Usado para saltarse el resto de una estructura de repeticin, continuando con la siguiente iteracin del ciclo

  • Lo esencial de la repeticin

    Bucle o Lazo

    Grupo de instrucciones que la computadora ejecuta en forma repetida mientras cierta condicin se mantiene como verdadera

    Repeticin controlada por contador

    Repeticin Definida: se conoce cuntas veces se ejecuta el lazo

    Se usa una variable de control para contar repeticiones

  • Lo esencial de la repeticin (2)

    Repeticin controlada por centinela

    Repeticin indefinida

    Se usa cuando la cantidad de repeticioness es desconocida

    El valor de centinela indica fin de los datos"

  • Repeticin Controlada por contador

    La repeticin controlada por contador requiere:

    El nombre de una variable de control (contador de bucle)

    El valor inicial de la variable de control

    Una condicin que compruebe el valor final de la variable de control (si se debe seguir con el ciclo)

    El incremento (o decremento) con el cual, cada vez que se termine un ciclo, la variable control ser modificada.

  • Estructura de repeticin for

    Formato a usarse con bucles forfor ( inicializacin; CondiciondeContinuaciondeCiclo;

    incremento ) enunciado

    Ejemplo: for( int contador = 1; contador

  • Estructura de repeticin for

    La sentencia for reemplaza a bucles del tipo

    while del siguiente tipo:inicializacin;while (CondiciondeContinuaciondeCiclo)

    {

    enunciado o accin;

    incremento;}

    Inicializacin e incremento

    Se separan por comas

    Ejemplo:

    for (i = 0, j = 0; j + i

  • Estructura de repeticin for

    Observaciones

    Expresiones Aritmticas

    Las partes de Inicializacin, Condicicin de continuacin de bucle e Incremento pueden contener expresiones aritmticas.

    Si x es igual a 2 e y es igual a 10

    for ( j = x; j

  • Estructura de repeticin for

    Notas

    "Incremento" puede ser negativo (decremento): x--.

    Si la Condicin de continuacin de bucle es inicialmente falsa, el enunciado no se

    ejecuta y el Control procede con el siguiente enunciado despus de la estrucutura for.

  • 1. Inicializacin

    2. Estructura de repeticin

    for

    Salida

    1 /* Suma con for */

    2

    3 #include

    4

    5 int main()

    6 {

    7 int suma = 0, numero;

    8

    9 for ( numero = 2; numero

  • Los enunciados break y

    continue

    break

    Causa una salida inmediata de una estructura tipo while, for, do/while o switch

    La ejecucin del programa contina con la primera sentencia despus de la estructura.

    Usos comunes de break

    Salida temprana de un lazo

    Saltar el resto de una estructura switch

  • Los enunciados break y

    continue

    continue

    Salta los enunciados restantes del cuerpo de una estructura while, for o do/while

    Contina con la siguiente iteracin del lazo

    while y do/while

    Se realiza la evaluacin de la continuacin del lazo inmediatamente despus que continue es ejecutada

    for

    La expresin de incremento es ejecutada, y luego es evaluada la condicin de continuacin del lazo

  • 1. Inicializa variable

    2. Lazo

    3. Imprime

    Salida

    1 /* Fig. 4.12: fig04_12.c

    2 Using the continue statement in a for structure */

    3 #include

    4

    5 int main()

    6 {

    7 int x;

    8

    9 for ( x = 1; x

  • Programacin Estructurada

    Ventaja:

    Ms fcil de entender, probar, depurar y modificar programas.

  • Reglas para una Programacin

    Estructurada

    Se utilizan estructuras de una sola-entrada / una sola-salida.

    Reglas: 1. Empezar con el diagrama ms simple posible.

    2. Verificar qu acciones pueden ser reemplazadas por 2 acciones en secuencia.

    3. Verificar qu acciones pueden ser reemplazadas por una estructura de control (if, if/else, switch, while, do/while o for).

  • Reglas de programacin estructurada

    .

    .

    .

    Regla 2 Regla 2 Regla 2

    Regla 1 Inicie con el diagrama ms simple posible

    Regla 2 Cualquier rectngulo puede ser reemplazado por dos rectngulos

    en secuencia.

  • Programacin Estructurada

    Regla 3

    Regla 3 Reemplazar algunos rectngulos con estructuras de control

    Regla 3Regla 3

  • Programacin Estructurada

    Todos los programas pueden estar compuestos de 3 controles bsicos: Secuencia manejada por el compilador. Seleccin if, if/else o switch.

    Repeticin while, do/while o for.

    Slo pueden ser combinadas de 2 maneras: Anidando (Nesting) Apilando (Stacking)

    Cualquier seleccin puede ser reescrita como un if()

    Cualquier repeticin puede ser reescrita como unwhile()

  • Estructuras de Control

    Ejemplos Resueltos

  • Problema 1

    Elaborar un programa que calcule y muestre el factorial de un nmero ingresado. Considerar que el programa debe validar que el nmero ingresado sea natural.

  • Problema 2

    Elaborar un programa en C que calcule y muestre el nmero de neper elevado al nmero ingresado x, usando aproximaciones por series. Adicionalmente, deber ingresarse el nivel de aproximacin n.

    Considerar que la sumatoria de la serie correspondiente es:

    0 !n

    nx

    n

    xe

  • Problema 3: El mtodo de Newton

    Escribir un programa que resuelva la ecuacin f(x)=0 utilizando el mtodo de Newton. Para esto deber tener en cuenta que debe ingresar un valor inicial X0 y considere el intervalo de derivacin diferencial como h=0.00001 y el intervalo de convergencia e=0.0001. Adicionalmente, debe considerar un mximo nmero de repeticiones N=30, en el caso la solucin no se pueda hallar y evitar que el programa entre en un lazo infinito. Pruebe el programa con diferentes valores de h, e y N.

  • Problema 3: El mtodo de Newton

    x

    f(x)

    tangente de f(x) = f(x2)

    x1x2

    tangente de f(x) = f(x1)

    Raz: f(x) = 0

  • Problema 4: El mtodo Runge-Kutta

    Las leyes que gobiernan los fenmenos de la naturaleza se expresan habitualmente en forma de ecuaciones diferenciales.

    El movimiento de los cuerpos se expresa con una ecuacin diferencial de segundo orden, por ejemplo: la ecuacin que describe los sistemas oscilantes, la propagacin de las ondas, la transmisin del calor, la difusin, el movimiento de partculas subatmicas, etc.

  • Problema 4: El mtodo Runge-Kutta

    Sea una ecuacin diferencial de primer orden, con una condicin inicial.

    Se elige un intervalo de paso h, y se calculan cuatro constantes k1, k2, k3, k4 de acuerdo con el procedimiento esquematizado en la siguiente tabla.

    Segn el procedimiento ordinario de Runge-Kutta, a partir del valor de x en el instante t se determina el valor de x en el instante t+h mediante la frmula que figura en la ltima fila de dicha tabla.

  • Problema 4: El mtodo Runge-Kutta

  • Problema 4: El mtodo Runge-Kutta

    Elaborar un programa en C para resolver un ecuacin diferencial mediante el procedimiento de Runge-Kutta que se aplica de forma directa a una ecuacin diferencial de primer orden:

    dx/dt = 1.0 - t + 4.0*x y x(0.0)=1

  • Atencin de Preguntas

    Fin del Captulo 3