CONCEPTOS BÁSICOS de programación
 Este texto comienza recordando algunos conceptos básicos de algoritmia, seudocódigo y diagramas 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ón por 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” Programa: un programa define un “algoritmo”, porque constituye el conjunto de instrucciones que forman el algoritmo (ya codificados en un lenguaje de programación). Eucarí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. Los símbolos más comunes y los cuales usaremos son:


Expresiones Matemáticas

Las expresiones matemáticas son combinaciones de símbolos y valores que indican a la computadora una secuencia de operaciones matemáticas que debe  de realizar, estas expresiones son muy similares a las fórmulas matemáticas, pero las expresiones empleadas en computación deben ajustarse a las limitaciones de la escritura con teclado y a algunas reglas más que debemos conocer.
Las expresiones matemáticas típicas poseen la siguiente forma básica:
variable= valoro variable operador valoro variable
Con lo que podemos ver que el resultado de la expresión debe de almacenarse en una variable y que en la expresión se ven involucrados un conjunto de valores numéricos y variables que realizaran las operaciones que indiquen los operadores matemáticos.
Los operadores matemáticos de C++ son:
§  +   suma
§  –    resta
§  *   multiplicación
§  /   división
§  % modulo o residuo
§  ( ) parentesis o agrupamiento.
El primer punto que debemos conocer es el uso de los paréntesis, al igual que en la matemática tradicional las operaciones entre paréntesis se resuelven desde el paréntesis más interno hacia afuera, pero mientras que en matemáticas un paréntesis al lado de una variable o junto a otro expresan multiplicación en programación es un error, de tal forma que:
§  x=y(a+b)
§  x=(a+b)(a/d)
Son incorrectas dado que faltan operadores que indiquen la operación a realizar y lo correcto en programación sería
§  x=y*(a+b)
§  x=(a+b)*(a/d)
La otra cuestión importante en las expresiones es lo que denominamos “Orden de precedencia de los operadores”, con lo cual establecemos que existe un orden específico para realizar las operaciones y que es el siguiente.
1.       ( )
2.      *   /  %
3.      + –
Veamos una aplicación de esto en la siguiente expresión
x=5+2*3
Si usáramos las reglas de las matemáticas convencionales el resultado sería 21, dado que resolvemos de izquierda a derecha, primero sumamos 5 +2 que nos da 7, que luego multiplicamos por 3 para que nos de 21, pero en programación el resultado de esta expresión es 11, dado que el orden de los operadores indica que primero debo resolver la multiplicación, porque es de mayor importancia dentro del orden de precedencia, obteniendo 6, al que le sumaremos 5 para obtener 11.
El ejemplo anterior uso operadores de diferente valor en el orden de precedencia, pero si las operaciones involucradas son del mismo valor, entonces se resuelve como en la matemática tradicional, de izquierda a derecha, tal como en el caso siguiente:
x=5+3-2;
En este caso tanto la suma como la resta son del mismo valor, por lo tanto, se resuelve de izquierda a derecha para obtener como resultado 6.
Las Expresiones lógicas son aquellas que pueden tomar uno de dos valores, verdadero o falso.
La importancia de estas expresiones es la aplicación en las estructuras de control que gobiernan el flujo de un programa.
Las expresiones lógicas se forman combinando constantes y variables con operadores lógicos y relacionales.
Operadores Relacionales.
Los operadores relacionales se utilizan para expresar condiciones. (comparación entre dos elementos)
OPERADORES RELACIONALES
OPERADOR
SIGNIFICADO
=
Igual que
> 
Mayor que
> =
Mayor o igual que
< 
Menor que
< =
Menor o igual que
<> 
Diferente de
FORMATO:
Expresión1 o valor           Operador de Relación         Expresión2 o valor

El resultado de una condición será siempre un dato lógico. (V(verdadero) o F (falso))
TABLAS DE VERDAD DE LOS OPERADORES LÓGICOS
Son estructuras lógicas necesarias para poder establecer las posibilidades de falsedad o de verdad de las expresiones lógicas.
Ø      Operador NOT (no) o Negación: (Not p)

P
Not p
V
F
F
V



Cuando una expresión es verdadera al negarla se convierte en falsa, de igual manera cuando una expresión es falsa al negarla se convierte en verdadera.
    Operador AND (y) o conjunción: (p and q)

p
q
p AND q
V
V
V
V
F
F
F
V
F
F
F
F
La expresión p AND q, es verdadero solamente cuando ambas son verdaderas, de lo contrario el resultado será falso.

p
q
p OR q
V
V
V
V
F
V
F
V
V
F
F
F
 Operador OR (o) o Disyunción inclusiva: ( p OR q)





La expresión p o q es falsa solamente cuando ambas expresiones son falsas, caso contrario es verdadera.

Estructuras de control
Las estructuras de control nos permiten modificar el flujo de ejecución de las instrucciones de un programa.

En C# estas estructuras son básicamente las mismas que encuentras en C/C++.

En cuanto a las estructuras de selección son exactamente las mismas que las que conoces.
A exception de la estructura switch que tiene una restricción adicional.
Las estructuras de iteración son todas iguales excepto foreach que es nueva. Esta estructura la veremos junto con las colecciones.

Las estructuras de salto tienen algunas que tal vez no conozcas, como yield, y throw las cuales también veremos más adelante.

Para empezar nos bastará con saber usar ifforwhile y switch.

La instrucción 
if se compone de:
if(<condición>)
{
    instrucciones...
}
[else
{
     instrucciones...
}]

La condición debe ser un resultado booleano, esto es, que su valor sea 
true o false (a diferencia de C/C++ donde la condición puede ser un entero donde 0 es falso y cualquier otra cosa es verdadero).
La parte del else es opcional y las llaves {} de los bloques también son opcionales cuando el bloque se compone de una sola instrucción pero es recomendado como buena práctica siempre usarlos.

La instrucción 
for se compone de:

for([inicialización]; [condición de paro]; [aumento])
{
     instrucciones...
}

Todas las partes son opcionales. Si no asignas una condición de paro, el 
for será un ciclo infinito (que se puede romper con una sentencia de salto como break). Al igual que en el if, el bloque delimitado por las llaves {} es opcional si es solo una instrucción, pero es mejor siempre usarlo.
El formato más común de for es el clásico:

for(int i=0; i<5; i++)
{
}

La instrucción 
while tiene la forma:

while(<condición de continuación>)
{
}

Al igual que en el 
if, el bloque delimitado por las llaves {} es opcional si es solo una instrucción, pero es mejor siempre usarlo; y la condición debe ser obligatoriamente un booleano.


En este código de ejemplo puedes ver que el método WriteLine acepta una cadena de formato. Esto es, escribes la cadena con ciertos contenedores donde se escribirá el valor de una variable. Estos contenedores se delimitan entre llaves {} y contienen la posición de la variable (empezando en 0) que irá en ese lugar. Las variables que se declaran después de la cadena, separadas por comas. En este caso la variable 0 es i, la 1 es j y la 2 es i*j. El orden en que escribas los contenedores en la cadena de formato no importa, por ejemplo, podríamos haber escrito:

Console.WriteLine("{2} = {0} x {1}", i, j, i * j);

Existen varios modificadores que se pueden usar en la cadena de formato. Los puedes revisar aquí.



 Programas de ejemplo con explicación

Programa que captura 2 números y los divide en el lenguaje C# aritmético 
Explicación
1.     Empezamos y declaramos todas las variables que queramos utilizar en nuestro programa. ya que sin declarar esto nuestro programa nunca podrá compilar.
2.     Escribimos console.write. que esto sirve para que nos muestre en pantalla cuando ejecutemos el programa.
3.  Num1 = Int32.Parse(Console.ReadLine()); esto sirve para convertir a número entero y el console como les dije es para qué capturé.
4.  I realizamos la división = num1 / num2.
5.  I mostramos en pantalla el resultado de la división de los números ingresados.
6.  Gracias espero que les sirva la explicación.


Programa que pide el nombre y lo imprima en pantalla en el lenguaje C# 
Explicación
1: Declaramos: string en para el nombre
2: Escribimos console.write. que esto sirve para que nos muestre en pantalla lo que deseamos que nos aparezca en pantalla.
3: i declaramos (Console.ReadLine()); para que nos capture el nombre ingresado.
4: i declaramos console.write para mostrar el resultado de lo ingresado.
5: gracias es pero que le sirva.



Programa que calculan el área de un rectangulo
 en el lenguaje C#
Explicación
1.Declaramos con tipo double las variables que queremos declarar.
2. declaramos console.write para mostrar la pantalla lo que queremos ingresar.
3. Int32.Parse(Console.ReadLine()); esto sirve para convertir a número entero y el console como les dije es para qué capturé.
4.De ahí declaramos como queremos la operación área=base*altura.
5. I mostramos el resultado con console.write.
6.Gracias por su atención espero que le sirva.



programas estructuras de control



Programa que dice si un número es par o no el lenguaje C#
explicación  
1.   Declaramos las variables que queremos utilizar.
2.    console.writeline  es para que muestre en pantalla y pida los 2 números de deseamos ingresar.
3.        Num = Int32.Parse(Console.ReadLine()); esto sirve para convertir a número entero y el console como les dije es para qué capturé.
4.   Bueno entonces declaramos la condición if (núm/2 == 0)
5.   Entonces si se cumple la condición el resultado será que es un numero par
6.   Si no dirá que no es un numero par
Gracias por su atención


Programa que pide un multiplicador para para ser la multiplicación con todos los números en el lenguaje C#. 
Explicación
1.      Declaramos la condición int que es de numero entero y la variable n.
2.      Declaramos string en la variable linea.
3.      console.writeline  es para que muestre en pantalla y pida el número de deseamos ingresar
4.       declaramos la variable linea = (Console.ReadLine()); que esto nos va servir para capturar ingresado.
5.      Declaramos el ciclo for (int i =1; i<=15; i++)
6.      Int i = 1; que eso se significa que es de donde va empezar en conteo.
7.      I <=15; que hasta donde se acabará el conteo.
8.      I++ es quiere decir que se sumara de uno en uno.
9.      Cuando se ingrese lo que se le pida esta condición se ejecutara.
Gracias por su atención



Programa que pide un numero entero y suma de 5 en 5 hasta llegar al número ingresado en el
 lenguaje C#.
Explicación
1.      Declaramos la condición int que es de numero entero y la variable n.
2.      Declaramos string en la variable linea.
3.      console.writeline  es para que muestre en pantalla y pida el número de deseamos ingresar
4.      declaramos la variable linea = (Console.ReadLine()); que esto nos va servir para capturar ingresado
5.      Declaramos el ciclo for (int i =1; i<=n; i++)
6.      Int i = 1; que eso se significa que es de donde va empezar en conteo.
7.      I <=n; que hasta donde se acabará el conteo.
8.      I++ es quiere decir que se sumara de uno en uno.
9.      Cuando se ingrese lo que se le pida esta condición se ejecutara.
10.   declaramos la condición if (1/5==0)
11.  Esta condición se ejecutará cuando ingresemos el número.
12.  Gracias por su atención

Gracias espero que les sirva








Comentarios

  1. Allí en el programa de división, es cierto que hay una división, pero no es una simple división. La explicación que usted hace es otra y eso es incorrecto. Corrija

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

ARREGLOS Y FUNCIONES C#, FernandoCruz