Capitulo 2 - Algoritmos - C#
Capitulo 2 - Algoritmos - C#
Capitulo 2 - Algoritmos - C#
Temas
1. ¿Qué es un algoritmo?
2. Características de un algoritmo
3. Importancia de analizar un problema
4. El Pseudocódigo
5. Los Diagramas de Flujo o Flujograma
6. Los tipos de datos
7. Los operadores
8. Las expresiones
9. Casuística para el desarrollo de algoritmos
1. ¿Qué es un algoritmo?
Recuerde
El algoritmo es uno solo, no importa en qué lenguaje de programación se codifique. Esto
es una muestra de que la lógica para desarrollar un problema es la misma,
independientemente de cómo se implemente.
Los Algoritmos 17
2. Características de un algoritmo
Debe ser lo más específico posible, dentro del tenor del problema planteado.
Los Algoritmos 18
Sin embargo, hay casos de solución muy compleja que, aunque el programador sea un
experto, quizás recurra a un algoritmo o modelo previo a la solución del problema.
Los Algoritmos 19
4. El Pseudocódigo
Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un
pseudocódigo propio, en donde confluyen frases del lenguaje coloquial y algunas
sentencias de programación y una vez que se logra concretar el software, se puede
pasar al escalón siguiente que es el de la transformación al lenguaje de programación
formal que se vaya a utilizar.
De esta manera, al ser un lenguaje intermedio, no tiene una sintaxis determinada, por lo
que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez,
como es una herramienta que está un paso previo al lenguaje formal de programación,
es fácil de transformar al que será ejecutado en la computadora.
Los Algoritmos 20
Ejemplo
Inicio
Declarar intNota1
Declarar IntNota2
Declarar intNota3
Declarar sngPromedio
Leer intNota1
Leer intNota2
Leer intNota3
Escribir sngpromedio
Fin
Los Algoritmos 21
Los diagramas de flujo, al igual que el pseudocódigo, permiten elaborar algoritmos, pero
en este caso, de manera gráfica en base a una simbología previamente definida.
Cada tipo de acción (Lectura, escritura, condiciones, bucles, etc.) tiene su propia
simbología y manera de representarse. Es en sí, un diagrama que representa el flujo
lógico secuencial de la lógica para resolver un problema, que si no presenta
incoherencias, puede ser fácilmente codificado en un determinado lenguaje de
programación.
Recuerde
En el presente manual resolveremos los ejercicios planteados mediante Pseudocódigo,
herramienta que consideramos más fácil de llevar luego a un lenguaje de programación y
es, además, más sencilla de elaborar.
Los Algoritmos 22
Para empezar a elaborar algoritmos debemos enfocar bien el punto de definir los tipos
de datos que vamos a procesar, de tal forma que la respuesta al problema sea la
correcta. Bajo un panorama general encontramos los siguientes tipos de datos:
En una variable podemos cambiar de valores durante la ejecución del algoritmo, es decir,
una variable puede haber almacenado “n” valores distintos.
Para poder manejar variables de manera correcta, primero se les debe declarar y luego,
asignarles un valor.
Ejemplo
Declarar strNombre
Contador
Declarar intContador
…..
…..
intContador = intContador+1
Cada vez que el flujo lógico pase por la última línea descrita en el algoritmo, la variable
contadora se incrementará en 1.
Ejemplo
Declare intAcum
Declare intValor
….
….
Leer intValor
intAcum= intAcum+intValor
Los Algoritmos 24
Cada vez que el flujo del algoritmo pase la última línea descrita en el algoritmo, la
variable se incrementará de acuerdo a lo ingresado en la variable intValor.
Una constante es todo lo contrario a una variable. Es un espacio de memoria que, una
vez asignado su tipo de dato y su valor, ya no se puede modificar durante la ejecución
del algoritmo.
Los Algoritmos 25
7. Los operadores
7.1 Aritméticos
^ Potencia
* Multiplicación
/ División
Mod Residuo entero (Ejm: A Mod B)
Div División entera
+ Suma
- Resta
& Concatenación de cadenas
= Igual
<> Distinto
< Menor que
> Mayor que
<= Menor o igual
>= Mayor o igual
Los Algoritmos 26
7.3 Lógicos
1. Exponenciación (^)
2. Operadores multiplicativos (*, /, div, mod, y)
3. Operadores aditivos (+, -, o)
4. Operadores de relación (=, >, <, >=, <=)
Los Algoritmos 27
8. Las expresiones
Cada una de las líneas que componen un algoritmo están compuestas casi siempre de
una expresión. Una expresión está, a su vez, compuesta por la combinación de varios
operandos y varios operadores que, dependiendo de su naturaleza, pueden constituir
expresiones de los siguientes tipos:
Los operandos que intervienen en ellas son numéricos, el resultado también es de tipo
numérico y se construyen mediante los operadores aritméticos.
Ejemplos
intSuma = IntValor1+intValor2
intDivide=intValor1/intValor2
Ejemplo
intValorA= 120
intValorB=100
Si intValorA>intValorB entonces
Escribir “A es mayor que B”
Los Algoritmos 28
de lo contrario
Escribir “B es mayor o igual que A”
Fin de si
Los operandos son de tipo alfanumérico y producen resultados del mismo tipo.
strNombres=”Jose Felipe”
strApellidos= “Leon Cabel”
strDireccion=”Av Angamos Oeste 345”
Escribir “El profesor “ & strNombre & “ “ & strApellido & “vive en “ & strDireccion
Los Algoritmos 29
Variables
real: radio, area, longitud
Inicio
area = 0
longitud = 0
radio = 0 leer radio
‘Calculamos
Area = 3.14 * (radio) ^ 2
Longitud = 2 * 3.14 * radio
imprime 'El area es:' & area
imprime 'La longitud es:' & longitud
Fin
Variables
Real : Peso1, Peso2, Peso3, PesoProm
Inicio
Leer Peso1
Leer Peso2
Leer Peso3
Los Algoritmos 30
Escriba un algoritmo que solicite dos números y que luego muestre los resultados
de las siguientes operaciones: suma, resta, multiplicación y división.
Variables
entero: número a,b
real: suma, resta, multiplicacion, division
Inicio
Leer número a Leer número b
suma = a + b
resta = a - b
multiplicacion = a * b
division = a / b
Imprimir suma
Imprimir resta
Imprimir multiplicacion
imprimir division
Fin
Escriba un algoritmo que permita ingresar el código, nombre y apellido, así como
las horas de trabajo de un empleado.
Variables
Cadena: cod, nom, ape
Entera: HorasTrab
Real: Toting, Totdes, Neto
Inicio
Leer Cod
Leer Nom
Leer Ape
Leer HorasTrab
TotIng = HorasTrab * 35
Totdes =TotIng * 0.15
Neto =TotIng - TotDes
Fin
Los Algoritmos 31
a2 + 2ab + b2
a3 + 3a2b + 3ab2 + b3
a4 + 4a3b + 4a2b2 + 4ab3 + a3
El algoritmo debe mostrar el valor de los resultados, así como las cadenas de las
operaciones. Utilice cadenas y la función de concatenación entre ellas. No debe utilizar
paréntesis.
Var:
Entero: a, b, X, Y, Z
Inicio
a=0
b=0
X =0
Y =0
Z=0
X=a^2+2*a*b+b^2
Y = a ^ 3 + 3 * a ^ 2 * b + 3 * a * b ^2 + b ^3
Z=a^4+4*a^3*b+4*a^2*b^2+4*a*b^3+a^3
Imprime ´X = ´ & a & ^ & 2 & + & 2 & * & a & * & b & + & b & ^ & 2 & = & X
Imprime ´Y = ´ & a & ^ & 3 & + & 3 & * & a & ^ & 2 & * & b & + & 3 & * & a
&*&b&^&2&+&b&^&3&=&Y
Imprime ´Z = ´ & a & ^ & 4 & + & 4 & * & a & ^ & 3 & * & b & + & 4 & * & a
&^&2&*&b&^&2&+&4&*&a&*&b&^&3&+&a&^&3&
=&Z
Fin