Está en la página 1de 23

Tema:

Profesor : MSc. Dámaso Laura Ccahuana


e-mail : dlauracc@uni.edu.pe
Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:36:13

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 2


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:36:43

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 3


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Biblioteca Virtual UNI

• Fundamentos de Programación C++, Ricardo Marcelo Villalobos, Editorial Macro

• Problemas Resueltos de Métodos Numéricos, Alicia Cordero Barbero, Editorial Paraninfo

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 4


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Algoritmo

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 5


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Solución de un algortimo

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 6


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Fases en la creación de algoritmos

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 7


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Pseudocódigo

inicio
//variables
n: entero
s: cadena
//entrada
leer n
//proceso
si n mod 2 = 0 entonces
s ← “par”
sino
s ← “impar”
fin si
//salida
escribir s
fin

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 8


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Instrucciones
Son las acciones que debe realizar un algoritmo para resolver un problema. Las instrucciones
más comunes son las siguientes

inicio
// línea de comentario
declaración n,m: entero
p,q: real

leer m
lectura
leer q

asignación n ← 10
p ← 3.14

escritura escribir n
escribir p
fin

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 9


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

Control de Flujo

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 10


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura secuencial

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 11


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura selectiva simple

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 12


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura selectiva doble

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 13


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura selectiva múltiple

segun sea <Expr.>


caso Valor1
<instrucciones>
caso Valor2
<instrucciones>
caso Valor3
<instrucciones>
fin segun

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 14


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura repetitiva “mientras”

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 15


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

• Estructura repetitiva “para”

para i desde vi hasta vf inc +1


instrucciones
fin para

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 16


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:34:27

SubAlgoritmos

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 17


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:50:43

Procedimientos

identificador: <nombre_procedimiento>
entrada : <parámetros_entrada> variables separadas por comas
salida : <parámetros_salida> variables separadas por comas
inicio_procedimiento
<instrucciones>
fin_procedimiento

Llamado a una procedimiento:

<nombre_procedimiento>(<parámetros_salida>,<parámetros_entrada>)

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 18


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 19:51:23

Funciones

identificador: <nombre_funcion>
entrada : <parámetros_entrada> variables separadas por comas
salida : <parámetros_salida> variables separadas por comas
inicio_funcion
<instrucciones>
retorna < parámetros_salida >
fin_funcion

Llamado a una función:

[<parámetros_salida>] ← <nombre_funcion>(<parámetros_entrada>)

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 19


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:06:03

Ejemplo
𝑔⋅𝑚 𝑐
Sea la función v:R→R 𝑣 𝑡 = 1−𝑒

𝑚
𝑡 𝑔 = 9.81 𝑚/𝑠 2 , 𝑚 = 68.1 𝑘𝑔, 𝑐 = 12.5 𝑘𝑔/𝑠
𝑐
Evaluar 𝑣(𝑡) con 𝑡 = 𝑡0 , 𝑡1 , … , 𝑡𝑛

Pseudocódigo

inicio_programa identificador: fun_v


g ← 9.81 entrada : t,g,m,c,n
m ← 68.1 salida :v
c ← 12.5 inicio_funcion
t0 ← 0.0, tf ← 5.0, n ← 100 para i desde 0 hasta n, inc 1
Δt ← (tf - tf)/n 𝑔⋅𝑚 −
𝑐
𝑡
vi ← 1− 𝑒 𝑚 𝑖
para i desde 0 hasta n, inc 1 𝑐
ti ← t0 + Δt*i fin_para
fin_para fin_funcion
[v] ← fun_v(t,g,m,c,n)
fin_programa

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 20


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:08:49

Código C Archivo main.c


#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <malloc.h>

void fun_v(double *v,


double *t,double g,double m,double c,int n);

void main(void){
double g = 9.81;
double m = 68.1;
double c = 12.5;
double t0 = 0.0,tf = 5.0;
int n = 100;
double dt = (tf-t0)/n;
double *t = (double*)calloc(n+1,sizeof(double));
double *v = (double*)calloc(n+1,sizeof(double));
for(int i=0;i<n;i++){
t[i] = t0 + dt*i
}
fun_v(v,t,g,m,c,n);

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 21


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:15:07

//imprime datos en pantalla


for(int i=0;i<n;i++){
printf(“%f\t%f\n”,t[i],v[i]);
}
//archivo de datos
FILE *f;
f = fopen(“v_t.dat”,”w”);
for(int i=0;i<n;i++){
fprintf(f,“%f\t%f\n”,t[i],v[i]);
}
fclose(f);
free(t);
free(v);
}

void fun_v(double *v,


double *t,double g,double m,double c,int n){
for(int i=0;i<n;i++){
v[i] = (g*m/c)*(1.0 – exp(-(c/m)*t[i]));
}
}

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 22


Curso : Cálculo Numérico I, Tema : Seminario 1 18/04/2022 20:31:14

Código M Archivo main.m


function fun_main()
data = load(‘v_t.dat’,’-ascii’);
t = data(:,1);
v = data(:,2);

figure
plot(t,v,’.-’)

Prof. Dámaso Laura Ccahuana, email : dlauracc@uni.edu.pe 23

También podría gustarte