You are on page 1of 16

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES

FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE ING. AMBIENTAL
Y RR.NN

TEMA: PROGRAMACIÓN DE CALCULADORA DE ERRORES

CURSO: FÍSICA I

DOCENTE: DARIENSKO BUSTOS VILLENA

INTEGRANTES:

 ALVITES QUISPE JOSUE


 CUCCHI HEREDIA BEIMAR FRANCO
 HUAMAN MONTOYA GREZLLY
 ROQUE CERVANTES POOL ANDRE

SEMESTRE: IV

Abancay – Apurímac
2018
DEDICATORIA

A Dios por habernos permitido


llegar hasta este punto y habernos
dado salud, y las fuerzas
necesarias para seguir luchando
Y a nuestros padres por su apoyo
incondicional, por ser el motivo de
nuestro esfuerzo.

2
AGRADECIMIENTO

Agradecemos en primer lugar, infinitamente a nuestros padres por


brindarnos su apoyo incondicional y nuestras familias por sus sabios
consejos, de no ser por ellos no estaríamos en este camino, de
adversidades y dificultades que tarde o temprano se supera y también
agradecemos al docente del curso por su amplio conocimiento y a mis
compañeros por compartir momentos y brindarnos su amistad maravillosa.

3
@RESUMEN

En el experimento realizado se observó detalladamente y cualitativamente


en las diferentes reacciones a partir de un reactivo (zumo de col más alcohol)
que al verter en diferentes cantidades en milímetros de (limón, naranja, lejía.
bicarbonato de sodio, shampoo, vinagre blanco) las reacciones son
particularmente diferentes en la acidez y alcalinidad en cada una de ellas
que se dio paulatinamente.

Desde una aproximación simplificada, el pH puede definirse como una


medida que expresa el grado de acidez o basicidad de una solución en una
escala que varía entre 0 y 14 la acidez aumenta cuando el pH disminuye.
Una solución con un pH menor a 7 se dice que es ácida, mientras que si es
mayor a 7 se clasifica como básica. Una solución con pH 7 será neutra. El
valor de pH representa el menos logaritmo en base diez de la concentración
(actividad) de iones hidrógeno [H+ ]. Como la escala es logarítmica, la caída
en una unidad de pH es equivalente a un aumento de 10 veces en la
concentración de H+ . Entonces, una muestra de agua con un pH de 5 tiene
10 veces más H+ que una de pH 6 y 100 veces más que una de pH 7.

4
I. OBJETIVOS
1.1. OBJETIVO GENERAL
 Programación de una calculadora de errores de magnitudes
físicas.

1.2. OBJETIVOS ESPECÍFICOS:


 Aplicación de la teoría de errores en las mediciones de las
magnitudes físicas.

II. PROGRAMAS A UTILIZAR

 PseInt (Algoritmo, Pseudocódigo)


 Matlab(Interfaz, Programación)

5
III. MARCO TEORIO

3.1 Magnitudes Físicas


Se denomina magnitud física a toda aquella propiedad o característica de
un cuerpo que puede ser cuantitativa numéricamente, las magnitudes
físicas pueden ser:
 Escalares
 Vectoriales
 Sensoriales

Y a su vez:

 Fundamentales
 Derivadas

Toda magnitud física debe constar de las siguientes partes:

a) Parte Principal:
Representa la intensidad con la cual representa la magnitud física.
b) Error e Incertidumbre:
Es cuando se mide una magnitud se pueden cometer ciertos errores
de factor humano.

3.2 Mediciones

Es el proceso de comparación de las magnitudes, para esto debemos emplear


el mismo sistema de medidas previamente establecido y que en la práctica deben
de ser cumplidas, a continuación mencionaremos tres tipos de medición:

3.2.1 Medida Directa

Se asume como unidad de medida una unidad patrón, la medida directa se


efectúa por comparación con el patrón escogido como la unidad de medida. Este
método es conocido como método de medida relativa, porque los números que nos
dan la medida de la magnitud dependen de la unidad de medida seleccionada y
pueden ser fijadas de modo arbitrario.

6
3.2.2 Medida Indirecta

Una medida es indirecta cuando se obtiene mediantes cálculos, a partir de las otras
mediciones directas.

Cuando, mediante un formula, calculamos el valor de una variable, estamos


realizando una médida indirecta.

3.3 Errores en una Magnitud Física

3.3.1 Errores en una Magnitud Directa

Dependiendo de que la magnitud es directa o indirecta podemos calcular sus


errores u obtenerlos directamente del aparato de medida utilizado.

Si un aparato de médica no presenta errores en su cuerpo, tampoco posee un


catálogo como podría ser el caso, cinta métrica, probeta, pin peta, etc. El error e
incertidumbre se asumirá como la mitad de la medi3.da más pequeña que puede
realizar el aparato de medida.

Si el aparato de medida tiene escrito en su cuerpo el error y es el unico para


cualquier medida que se realice con dicho aparato, entonces bastara con escribirlo
al costado de la parte principal teniendo cuidado en que las unidades de medida
sean iguales tanto como la parte principal como para el error.

3.3.2 Errores en Magnitudes Indirectas

Los errores vistos anteriormente son para medidas directas en las que no hay más
que aplicar el aparato de medida y conocer el rango de error, para obtener la medida
final, en cambio si para obtener la medida final debemos operar dos medidas
obtenidas directamente en sus respectivos errores, para calcular la magnitud de
error debemos echar mano del cálculo diferencial y proceder a diferenciar la formula
matemática mediante la cual obtendremos la médica final dándonos cuenta de que
los diferenciales sean sustituidas por los correspondientes rangos de error y que
todos los signos de restos deberán ser sustituidos por signos de sumas.

7
4. Algoritmo

Son normas o leyes específicas que hace posible la ejecución de actividades,


cumpliendo una serie de pasos continuos que no le originen dudas a la persona que
realice dicha actividad. Se denomina algoritmo a un grupo finito de operaciones
organizadas de manera lógica y ordenada que permite solucionar un determinado
problema. Se trata de una serie de instrucciones o reglas establecidas que, por
medio de una sucesión de pasos, permiten arribar a un resultado o solución.
Un algoritmo debe tener un estado inicial y un estado final.

5. Pseudocódigo
Falso lenguaje o Pseudocódigo, se utiliza para plantear una idea de código, pero
dicho Algoritmo tiene que ser lo más parecido al lenguaje de programación a utilizar
y tiene que estar en nuestro idioma
El pseudocódigo es una forma de escribir los pasos que va a realizar un programa
de la forma más cercana al lenguaje de programación que vamos a utilizar
posteriormente. Es como un falso lenguaje, pero en nuestro idioma, en el lenguaje
humano y en español.
El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo
de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje
que posteriormente se utilizara para la codificación del mismo.
Características que debe tener un Pseudocódigo:
 Se puede ejecutar en un ordenador
 Es una forma de representación sencilla de utilizar y de manipular.
 Facilita el paso del programa al lenguaje de programación.
 Es independiente del lenguaje de programación que se vaya a utilizar.
 Es un método que facilita la programación y solución al algoritmo del
programa.

6. PSeInt

Es la abreviatura de Pseudo Interprete, es un software de programación sencillo


que utiliza pseudocódigos para la solución de algoritmos sin necesidad de saber el
lenguaje computacional, se puede utilizar para introducir conceptos básicos de
forma sencilla.

Este software facilita la tarea de escribir algoritmos en este pseudolenguaje,


presentando un conjunto de ayudas y asistencias para comprender la lógica de
algoritmos.

8
 Características principales del PSeInt
 Ayudas emergentes
 Plantillas de comando
 Se puede exportar a otros lenguajes: Tales como JAVA. PHP, JAVA
SCRIPT, VISUAL BASIC y MATLAB. Es decir que el algoritmo creado en
PSI puede ser exportado al programa que usemos. Y este en su lenguaje
propio de programación aceptará los datos introducidos en el PSI y los
transformará a su propio lenguaje.

7. Matlab

Es una herramienta de software matemático que tiene un lenguaje de programación


propio (lenguaje M), orientado para llevar a cabo proyectos donde se encuentren
elevados cálculos matemáticos y su visualización gráfica.

Con este programa se pueden manipular matrices, representar datos, funciones,


implementar algoritmos, la creación de interfaces de usuario y la comunicación con
otros programas en otros lenguajes.

9
8. DESARROLLO DE LA PROGRAMACIÓN DE LA CALCULADORA DE
ERRORES

PASO N° 1

DEFINICIÓN DEL PROBLEMA / ANÁLISIS EL PROBLEMA

 Datos de entrada

 Cuál es la información que se desea producir

 Métodos y fórmulas que se necesitan para procesar los datos.

PASO N° 2

DISEÑO DEL ALGORITMO

 Debe tener un punto particular de inicio

 Debe ser preciso e indicar el orden de realización.

 Debe ser definido

 Debe ser general.

 Debe ser finito en tamaño y tiempo de ejecución.

FÓRMULAS DIFERCIALES PARA DETERMINAR EL ERROR DE UNA


MAGNITUD INDIRECTA
Suma Multiplicación
A=a+b A = a*b
dA= da + db dA= a*db + b*da
ƐA= Ɛa + Ɛb ƐA= a*Ɛb + b*Ɛa
Resta División
A=a-b A= a /b
dA= da - db dA = (a*db - b*da)/(b^2)
ƐA = Ɛa + Ɛb ƐA = (a*Ɛb + b*Ɛa)/(b^2)

Dónde: A = es la magnitud..

a = parte principal de la magnitud.

da = error de la magnitud.

b = parte principal de la segunda magnitud.

db = error de la segunda magnitud.

10
DESARROLLO DEL FLUJOGRAMA DEL LOGARITMO

11
PASO N°3

Desarrollo de la interfaz

12
PASO N°4

TRADUCIR EL ALGORITMO A UN LENGUAJE DE PROGRAMACIÓN

Codificación

function varargout = Calc_error_GUI(varargin)


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Calc_error_GUI_OpeningFcn,
...
'gui_OutputFcn', @Calc_error_GUI_OutputFcn,
...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function Calc_error_GUI_OpeningFcn(hObject, eventdata, handles,
varargin)
handles.output = hObject;
guidata(hObject, handles);

function varargout = Calc_error_GUI_OutputFcn(hObject,


eventdata, handles)

varargout{1} = handles.output;

function txtDim_01_Callback(hObject, eventdata, handles)


function txtDim_01_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function txtError_01_Callback(hObject, eventdata, handles)

function txtError_01_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function txtDim_02_Callback(hObject, eventdata, handles)
function txtDim_02_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function txtError_02_Callback(hObject, eventdata, handles)
function txtError_02_CreateFcn(hObject, eventdata, handles)

13
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function btnSuma_Callback(hObject, eventdata, handles)
a = eval(get(handles.txtDim_01,'String'));
b = eval(get(handles.txtDim_02,'String'));
da = eval(get(handles.txtError_01,'String'));
db = eval(get(handles.txtError_02,'String'));
r = a + b;
dB = abs(da + db);
set(handles.sTxtResultado,'String',[num2str(r),' ±
',num2str(dB)]);

function btnResta_Callback(hObject, eventdata, handles)


a = eval(get(handles.txtDim_01,'String'));
b = eval(get(handles.txtDim_02,'String'));
da = eval(get(handles.txtError_01,'String'));
db = eval(get(handles.txtError_02,'String'));
r = a - b;
dB = abs(da + db);
set(handles.sTxtResultado,'String',[num2str(r),' ±
',num2str(dB)]);

function btnProducto_Callback(hObject, eventdata, handles)


a = eval(get(handles.txtDim_01,'String'));
b = eval(get(handles.txtDim_02,'String'));
da = eval(get(handles.txtError_01,'String'));
db = eval(get(handles.txtError_02,'String'));
r = a * b;
dB = abs(a*db + b*da);
set(handles.sTxtResultado,'String',[num2str(r),' ±
',num2str(dB)]);
function btnDivision_Callback(hObject, eventdata, handles)
a = eval(get(handles.txtDim_01,'String'));
b = eval(get(handles.txtDim_02,'String'));
da = eval(get(handles.txtError_01,'String'));
db = eval(get(handles.txtError_02,'String'));
r = a / b;
dB = abs((a*db + b*da)/b^2);
set(handles.sTxtResultado,'String',[num2str(r),' ±
',num2str(dB)]);

function btnLimpiar_Callback(hObject, eventdata, handles)


limpiar = '';
mensaje = 'Resultado ± Error';
m =msgbox('Todo Limpio','Limpieza','modal');
set(handles.txtDim_01,'String',limpiar);
set(handles.txtDim_02,'String',limpiar);
set(handles.txtError_01,'String',limpiar);
set(handles.txtError_02,'String',limpiar);
set(handles.sTxtResultado,'String',mensaje);

function btnSalir_Callback(hObject, eventdata, handles)


close();

14
PASO N°5
PRUEBA Y DEPURACIÓN

15
CONCLUSIÓN

Se logró programar la calculadora de errores con éxito, al aplicar la teoría de errores


de magnitudes físicas indirectas y sus respectivas fórmulas de diferenciación
matemática.

16

You might also like