domingo, 24 de noviembre de 2019

Ejemplo de programa de Ley de Ohm

24 de Noviembre de 2019
Autor: Rosendo Antonio Manuel

Hola chicos bienvenidos a este espacio de programación.

En esta ocasión pongo a disposición de ustedes el código en lenguaje c++ de la ley de Ohm para compilar en Dev C++.
Para que lo analicen y si tienen duda no olviden consultarme al correo ramsc2@gmail.com .
He aquí el código.

#include <iostream>
#include <stdio.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
float calculaResistencia(float,float);
float calculaVoltaje(float,float);
float calculaCorriente(float,float);
float leeValor(const char*);
void muestraTexto(const char*);
void menu();
void LeyOhm(int);
int leeOpcion(const char*);
void limpiaPantalla();
void Pausa();
int main(int argc, char** argv) {
int controlflujo=0;
while(controlflujo!=4)
{
limpiaPantalla();
menu();
controlflujo=leeOpcion("Escribe la opcion deseada: ");
if((controlflujo==1)||(controlflujo==2)||(controlflujo==3))
{
LeyOhm(controlflujo);
Pausa();
}


}
return 0;
}
void menu()
{
muestraTexto("\n1.-Cálculo de Resistencia\n");
muestraTexto("2.-Cálculo de Voltaje\n");
muestraTexto("3.-Cálculo de Corriente\n");
muestraTexto("4.-Salir\n");
}
int leeOpcion(const char* mensaje)
{
int opcion=0;
muestraTexto(mensaje);
scanf("%d",&opcion);
return opcion;
}
float leeValor(const char* mensaje)
{
float opcion=0;
muestraTexto(mensaje);
scanf("%f",&opcion);
return opcion;
}
void LeyOhm(int control)
{
limpiaPantalla();
float Resistencia,Voltaje,Corriente;
switch(control)
{
case 1:
muestraTexto("\n\n\t\tCálculo de Resistencia\n\n");
Voltaje=leeValor("Escribe el valor del voltaje: ");
Corriente=leeValor("Escribe el valor de la corriente: ");
if(Corriente==0)
{
muestraTexto("\nNo se puede calcular el valor la resistencia si la corriente es cero.");
}
else
{
Resistencia=calculaResistencia(Voltaje,Corriente);
muestraTexto("\nEl valor de la resistencia es:");
printf("%0.2f",Resistencia);
}

break;
case 2:
muestraTexto("\n\n\t\tCálculo de Voltaje\n\n");
Resistencia=leeValor("Escribe el valor de la resistencia: ");
Corriente=leeValor("Escribe el valor de la corriente: ");

Voltaje=calculaVoltaje(Resistencia,Corriente);
muestraTexto("\nEl valor del voltaje es:");
printf("%0.2f",Voltaje);

break;
case 3:
muestraTexto("\n\n\t\tCálculo de Corriente\n\n");
Resistencia=leeValor("Escribe el valor de la resistencia: ");
Voltaje=leeValor("Escribe el valor del voltaje: ");

if(Resistencia==0)
{
muestraTexto("\nNo se puede calcular el valor la corriente si la resistencia es cero.");
Pausa();
}
else
{
Corriente=calculaCorriente(Voltaje,Resistencia);
muestraTexto("\nEl valor de la corriente es:");
printf("%0.2f",Corriente);
}
break;
default:
muestraTexto("No existe una opcion de cálculo con esta opción.");


}
}
void limpiaPantalla()
{
system("cls");
}
void Pausa()
{
muestraTexto("\nOprime cualquier tecla para continuar...");
getch();

}
void muestraTexto(const char* texto)
{
printf(texto);
}
float calculaResistencia(float voltaje,float corriente)
{
if(corriente==0)
return 0;
return voltaje/corriente;
}
float calculaVoltaje(float resistencia,float corriente)
{
return resistencia*corriente;
}
float calculaCorriente(float voltaje,float resistencia)
{
if(resistencia==0)
return 0;
return voltaje/resistencia;
}


Saludos.

jueves, 7 de noviembre de 2019

Introducción a la programación Estructurada

28/10/2019
Autor: Rosendo Antonio Manuel


INTRODUCCION A LA PROGRAMACION ESTRUCTURADA


En la era de la información es necesario que existan personas con conocimientos en el manejo de dicha información, este tipo de conocimiento tiene sus cimientos en la creación de circuitos y en el control de la corriente, de manera tal que al ser tan complejos (los circuitos) y miniaturizados abren un panorama grandioso en el mundo de la computación y al mismo tiempo de la programación.

Desde el hecho de interrumpir el paso de corriente y al contrario, tenemos ya datos que permiten la interpretación en forma de 0 (apagado) y 1 (encendido), el cual este par de estados eléctricos se le denomina bit, que definiremos como la unidad básica de información en un sistema computacional.


Como ya se había mencionado en el párrafo anterior, el bit es la unidad básica de información, y se comunica básicamente en una vía eléctrica, es decir la corriente fluye en un medio, como lo es el cobre (puede ser otro medio ya sea conductor como la plata o semiconductor como el silicio); este bit es interpretado por diferentes circuitos como conversores paralelo a serie, cpu, gpu, sistemas de control, memorias, conversores de serie a paralelo, conversores de digital a análogo, etc. El siguiente diagrama se muestra un flujo de donde entra información, se procesa y se muestra en una salida la información resultante.


Es difícil imaginar como se podría operar todo un conjunto de interrupciones de ceros y unos, primero al juntar 8 bits se forma un conjunto llamado byte, o 2 bytes puede formar un entero, o incluso 4 bytes formarían 1 float. Todo este conjunto de bytes se pueden manejar en tres diferentes procesos: la lectura (entrada), el proceso y por último mostrar los resultados(la salida).

Para manejar todos los conjuntos de bytes, se utiliza un lenguaje maquina que un lenguaje de bajo nivel, que es a nivel de hardware, y esta conformado por toda la arquitectura necesaria de circuitos. Luego este flujo de corriente se puede controlar por un lenguaje más avanzado como es el lenguaje ensamblador, ya soportado en toda la arquitectura electrónica, pero cuya programación se hace a nivel memoria y con una interacción con el usuario, de tal modo que el usuario pueda entender con mayor abstracción el control de los datos de la memoria; un desarrollo más avanzado del lenguaje, denominado lenguaje de alto nivel, permite al usuario programador desarrollar con mayor exactitud y complejidad el control de bytes en memoria, controlar las entradas y las salidas, ese lenguaje permite hacer una programación más extensa y rápida como lo es la programación secuencial, al evolucionar el sistema de programación se inventa un nuevo paradigma de programación llamado programación estructurada y al final uno mejorado denominada programación orientada a objetos.

La Programación secuencial es un paradigma que permite realizar el seguimiento de la introducción de datos como el teclado,procesarlo (aplicar operaciones matemáticas en los datos) y posteriormente mostrarlo en salidas, durante la manipulación de datos y flujo de los procesos es frecuente perderse en la lógica y el seguimiento, ya que utiliza una secuencia que se llega a unirse con otras partes del mismo código, a éste tipo de código se le suele llamar código espagueti.

La Programación estructurada es un paradigma que es más limpio en código,más fácil de leer y más fácil de dar seguimiento en la lógica. Sus características son: es secuencial, es condicional, es iterativa.

Es secuencial, porque la programación se da en orden, orden por orden, y no ejecuta la siguiente orden hasta no acabar la actual.

Por ejemplo:


Es condicional, porque una condición establecida permite tomar diversos cursos en la linea de programación, es decir, que el programa puede tomar varios caminos en la condiciones necesarias.

Por Ejemplo:


Es iterativa, porque se puede ejecutar una o varias instrucciones de forma repetitiva, de tal manera que con una condición determina si las repeticiones continúan o se detienen.

Por ejemplo: si imprimimos una palabra determinando la posición de cada letra observamos que existe una orden de impresión en pantalla que se repite según el número de letras que tenga la palabra.

Por lo tanto, estas características junto con la posibilidad de usar funciones nos permite mantener ordenada la forma de programar, y así poder controlar todas las opciones que un entorno operativo pueda ofrecer.