Fundamentos Básicos De Programación en C#
CONCEPTOS BÁSICOS
Este texto comienza recordando algunos conceptos básicos de algoritmia, seudocódigo ydiagramas de flujo. Los elementos presentes en un algoritmo como: variables, constantes
y expresiones.
Declaración de variables y asignaciones, técnicas de desarrollo de algoritmos y ejemplos
desarrollados.
OBJETIVOS
• Identificar y descomponer las partes de un problema, para programar una soluciónpor medio de la computadora.
• Hacer uso de herramientas de descomposición de problemas y representación de
programas.
• Emplear condiciones para la toma de decisiones en un programa.
• Identificar el tipo de condición a utilizar en un programa.
• Emplear ciclos repetitivos en programas que emplean cierto número de
interacciones.
• Emplear ciclos repetitivos en programas que emplean cierto número de
interacciones.
• Resolver problemas usando operadores aritméticos y herramientas de
programación.
• Resolver ejercicios matemáticos para despertar la lógica de la programación.
• Compilar y organizar en partes la información que componen un programa.
CONCEPTOS DE ALGORITMIA
Algoritmos: los algoritmos constituyen un listado de instrucciones que indican el camino a seguir para dar solución a un problema. Podríamos decir que un algoritmo es la suma de
una parte lógica más una parte de control, en donde la parte lógica especifica el conocimiento en la solución del problema y la parte de control es la estrategia para solucionar el problema.
Características de los algoritmos:
- Un algoritmo no debe ser ambiguo (Ambiguo: Que puede entenderse de varios modos o admitir distintas interpretaciones y dar, por consiguiente, motivo a dudas, incertidumbre o confusión).
- Debe de tener una secuencia inicial
- Cada paso deberá tener una secuencia sucesiva y única, es decir que deben indicar claramente el camino a seguir en la solución del problema.
- El algoritmo debe de ser siempre eficiente y dar una solución al problema o de lo contrario deberá dar un mensaje que diga “Sin solución”.
Ejemplo de algoritmo
Programa: un programa define un "algoritmo", porque constituye el conjunto de instrucciones que forman el algoritmo (ya codificados en un lenguaje de programación).
Heurística: un algoritmo que da o produce una solución a un problema planteado aunque esta solución no sea la óptima, es llamado "Heurístico".
Diagrama de flujo: El diagrama de flujo es la representación gráfica de una secuencia de instrucciones que conforman el algoritmo.
Ejemplo de Diagrama de flujo
Los símbolos más comunes y los cuales usaremos son:
Variables: son los elementos que se utilizan para contener datos de distintos tipos: números, letras, cadenas de caracteres, valores lógicos, etc. El valor contenido en una variable puede cambiar a lo largo de la ejecución de un programa.
Constantes: son elementos que contienen datos, el valor asignado a una constante es fijo y no se puede cambiar durante toda la ejecución de un programa.
Expresiones: las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + ( b + 3 ) / c
Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican en expresiones aritméticas, expresiones raciones y expresiones lógicas.
Lectura destructiva: ocurre cuando se asigna un nuevo valor a la variable o cuando se asigna el resultado de una expresión matemática a la variable.
Ejemplo:
Precio = 30
Cantidad = 0
Precio = 500
A = 3.1416 * r * r
Lectura Acumulativa: ocurre cuando el programador aumenta o disminuye el valor de la variable mediante operaciones matemáticas.
Ejemplo:
Lectura Descriptiva: Ocurre cuando se desea leer sin modificar el contenido de la variable,
Ejemplo:
Declarar Precio: Entero
Precio = 5
Escribir Precio
El ejemplo anterior inicia declarando la variable Precio, luego a esta variable se le asigna el valor 5, por último se visualizar el valor de la variable Precio.
OPERADORES
Operadores aritméticos: los operadores aritméticos nos permiten básicamente, hacer cualquier operación aritmética (suma, resta, multiplicación, división cociente y división residuo o modulo). En la siguiente tabla se muestran los operadores de los que se dispone:
Comentario: el operador MOD nos devuelve el residuo de una división entera, mientras que el operador DIV permite realizar una división entre dos números, allí radica la diferencia con el operador “/”.
Operadores relacionales: al igual que en matemáticas, estos operadores nos permitirán evaluar las relaciones (igualdad, mayor, menor, etc.) entre un par de operandos (en principio piense en números). Los operadores relacionales de los que disponemos son:
Operadores lógicos: producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero). Los operadores lógicos son 3; dos de ellos son binarios (ocupa estar entre dos valores) y el ultimo (negación) es unario.
AND (Y): produce un resultado con un valor de verdad true cuando ambos operandos tienen valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad falso.
Sintaxis: ( A = 5 ) Y ( B = 3 )
O (O): produce un resultado con un valor de falso cuando ambos operadores tienen valores falsos; en cualquier otro caso el resultado tendrá un valor verdadero.
Sintaxis: ( A = 5 ) O ( B = 7 )
NO (No): invierte el valor de verdad de operando.
Sintaxis: NO ( A = 6)
Prioridad de los operadores: los operadores deben ser evaluados según la siguiente
prioridad:
- ()
- ^
- /, Mod, Div, No
- +, -, y (Y)
- >, <,> =, <=, <>, =, O (O)
ENTRADA / SALIDA de datos: los dispositivos de entrada / salida permiten que el usuario interactué con la máquina. Por medio de los dispositivos de entrada el usuario ingresa los datos a procesar en el sistema y los dispositivos de salida presentan los resultados en un formato legible. Las instrucciones de E/S dan acceso al programador a las funciones básicas de estos dispositivos, permitiéndole capturar datos de los dispositivos de entrada y asignarlos a variables para operar con ellos y mostrar resultados del proceso en los dispositivos de salida.
Instrucción LEER: permite el ingreso de datos al computador, el dato leído debe ser almacenado en una variable, la sintaxis es la siguiente: Leer variable
Instrucción ESCRIBIR: permite reportar resultados de un proceso, también se usa para enviar un mensaje al operario. La sintaxis es la siguiente:
ESCRIBIR Variable //Muestra por pantalla el valor almacenado en una variable
ESCRIBIR ‘Texto’ //Muestra por pantalla el texto que el programador indique
ESCRIBIR expresión //Muestra por pantalla el resultado de una expresión
Veamos unos ejemplos, según sean las sintaxis anteriores respectivamente
ESCRIBIR Resultado
Esta instrucción devuelve el contenido de la variable Resultado
ESCRIBIR ‘Prepárese para el ingreso de datos’
Esta instrucción muestra al usuario el contenido de los apostrofes, nótese que para poder
emitir un texto este debe ir encerrado en apostrofes.
ESCRIBIR 4*n
Esta instrucción primero calcula la expresión 4*n, y luego muestra ese resultado.
ASIGNACIONES: una asignación consiste en darle un determinado valor a una variable o
constante, por ejemplo en la siguiente sentencia observamos que a la variable A, se le da
el valor 5.
A = 5
De manera similar podemos tener la siguiente asignación
A = 4 + ( 3 * Y ^ 2)
Vemos que una expresión ha sido asignada a la variable A
Algunos autores usan el símbolo ? en vez de igual ( = ) para una asignación.
DECLARACIÓN DE VARIABLES: mediante la declaración de variables describimos las características de las mismas. La sintaxis que usaremos en este texto es la siguiente:
Nombre_de_variable : Tipo_de_Datos
Entiéndase por tipo de dato, al tipo de dato de la variable.
SEUDOCÓDIGO: diremos que una notación es un seudocódigo si mediante ella podemos describir el algoritmo, utilizando palabras y frases del lenguaje natural sujetas a unas determinadas reglas.
Todo seudocódigo debe posibilitar la descripción de:
- Instrucciones de entrada / salida
- Instrucciones de proceso
- Sentencias de control de flujo de ejecución
- Acciones compuestas, a refinar posteriormente
¿Qué es una variable?
Una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor.
¿Qué es una expresión?
Una expresión es una combinación de constantes, variables o funciones, que es interpretada de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular.
¿Qué son las funciones?
Una función es una sección de un programa que calcula un valor de manera independiente al resto del programa.
Parámetros: Para poder realizar las tareas deseadas, las subrutinas deben recibir información del programa principal. Esa información se transfiere usando parámetros. Estos consisten de una lista de 0 o más variables declaradas en la cabecera, indicando el tipo de dato transferido y un nombre para poder usarlo. Los elementos de la lista usualmente se separan con algún tipo de indicador como la coma (,). Los parámetros se consideran variables locales porque solo existen durante la ejecución del subprograma y solo el código en el cuerpo de este puede hacer uso de ellos.
Para comprender mas el concepto, veremos unos ejemplos:
Operadores aritméticos:
- programa que multiplica dos números.
Comenzaremos utilizando el método static void, que funciona para declarar un miembro estático(esto quiere decir que no se pude modificar), y que nos devuelva un valor llamado Main que es el punto de entrada de un programa.
Dentro del static void MAIN, aremos una captura de texto y mostraremos en pantalla el texto que escribimos y aremos también la captura de los números con el método int que sirve para capturar números enteros.
Como podemos apreciar, aquí nos muestra el texto que escribimos en el console.writeline.
Como siguiente paso aremos que nos pida que ingresemos los números y que nos capture esos dichos números.
Y nos ejecutara así:
Ya solo nos queda ejecutar el proceso del programa:
Ya podemos observar como nos quedara el programa ya ejecutado.
2. Programa que da el resto de la división ejecutada
Como siempre usaremos el static void MAIN, capturamos el texto escrito en console.WriteLine, y declaramos el numero con el método int (que sirve para capturar números enteros).
Mostraremos el nombre del programa.
Pediremos que ingrese dos números y que nos capture esos dos números.
Después que nos divida los dos números y que nos muestre el residuo de la operación.
3.Programa de precedencia de operadores.
Como siempre usaremos el static void MAIN, capturamos el texto escrito en console.WriteLine, y declaramos el numero con el método int (que sirve para capturar números enteros).
Pediremos que nos pida tres números y que también los capture los numero ingresados.
Los dos primeros números van a multiplicar y el tercero va a sumar con el resultado de la multiplicación y pediremos que nos muestre el resultado en pantalla.
Podemos observar que nos compila bien y muestra el resultado correcto.
Con las estructuras de control se puede:De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
Dentro del static void MAIN, aremos una captura de texto y mostraremos en pantalla el texto que escribimos y aremos también la captura de los números con el método int que sirve para capturar números enteros.
Como podemos apreciar, aquí nos muestra el texto que escribimos en el console.writeline.
Como siguiente paso aremos que nos pida que ingresemos los números y que nos capture esos dichos números.
Y nos ejecutara así:
Ya solo nos queda ejecutar el proceso del programa:
Ya podemos observar como nos quedara el programa ya ejecutado.
2. Programa que da el resto de la división ejecutada
Como siempre usaremos el static void MAIN, capturamos el texto escrito en console.WriteLine, y declaramos el numero con el método int (que sirve para capturar números enteros).
Mostraremos el nombre del programa.
Pediremos que ingrese dos números y que nos capture esos dos números.
Después que nos divida los dos números y que nos muestre el residuo de la operación.
Aquí vemos ya ejecutado el programa y como pueden observar nos compila bien.
3.Programa de precedencia de operadores.
Como siempre usaremos el static void MAIN, capturamos el texto escrito en console.WriteLine, y declaramos el numero con el método int (que sirve para capturar números enteros).
Muestra el nombre del programa cuando lo ejecutamos.
Los dos primeros números van a multiplicar y el tercero va a sumar con el resultado de la multiplicación y pediremos que nos muestre el resultado en pantalla.
Podemos observar que nos compila bien y muestra el resultado correcto.
Estructura de control
En lenguaje de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
Sintaxis de if simple
if(condición)
{
Instrucción
{
Sintaxis de if else
if(concición)
{
Instrucción
{
else
{
instrucción
}
for([inicialización]; [condición de paro]; [aumento])
{
instrucciones...
}
Ejercicios de estructura de control.
- ingrese un numero entre 1 y 3, y dice que numero seleccionaste
Comenzaremos igual que los anteriores, nombrando el programa con console.writeline y declarando las variables con int(que solo captura números enteros), le diremos que nos pida un numero del 1 al 3 y que capture el numero ingresado.
Aquí vemos capturado el nombre y el numero, mostrados en pantalla.
Aquí es donde hacemos uso de la estructura if else.
Así nos mostrara cuando lo ejecutemos.
2.Programa que muestre la tabla de multiplicar del número 5
Comenzaremos igual que los anteriores, nombrando el programa con console.writeline y declarando las variables con int(que solo captura números enteros), nos muestra la tabla del 5.
Como podemos observar que ya le damos un numero 5 a la variable int numero, esto lo asemos para que de una sola ves me tire la tabla del 5
Así se nos mostrara en pantalla ya ejecutado.
3.De un contador de 1 a 20, mostrar cuales son pares y cuales impares.
Así se nos mostrara ya ejecutado
Gracias por su atención.
A continuación veremos lo aprendido...































Esta masiso
ResponderEliminarVaya gracias jaja
EliminarEsta publicación solo debe tener dos temas a tratar, expresiones aritméticas y estructuras de control, sin embargo, usted menciona y hasta ejemplos hizo de ciclos repetitivos
Eliminarhay :´(
Eliminar