República Bolivariana de Venezuela
Colegio Universitario de Administración y Mercadeo
C.U.A.M
Los Algoritmos
Nombre: Iván Lugo
Especialidad: Informática
Cedula: 30.449
INVESTIGACIÓN
1. Definir algoritmo.
Un algoritmo es una secuencia de instrucciones secuenciales, gracias al cual
pueden llevarse a cabo ciertos procesos y darse respuesta a determinadas
necesidades o decisiones. Se trata de conjuntos ordenados y finitos de pasos, que
nos permiten resolver un problema o tomar una decisión.
2. Mencionar las estructuras que se utilizan en algoritmos.
a. Secuenciales: Son aquellos en que una acción sigue a otra en secuencia. Sus
componentes son:
Asignación: es el paso de valores o resultados a una zona de la memoria, esta
zona será reconocida con el nombre de la variable que recibe el valor.
Entrada: consiste en recibir un valor o un dato, por medio de algún dispositivo de
entrada.
Salida: se manda el resultado o mensaje, por medio de algún dispositivo de salida
del computador.
b. Condicionales: Son aquellos que permiten comparar una variable contra otro valor,
se utilizan para tomar decisiones lógicas, existen tres tipos :
Simples: Se ejecuta una determinada acción cuando se cumple
una determinada condición. Ejemplo
Si (condición) entonces
(acción)
fin si
Dobles: Son aquellos que permiten elegir entre dos opciones o alternativas posibles.
Ejemplo
Si < condición > entonces
< Acción uno >
si_no
<Acción dos>
fin_si
Múltiples: son aquellos que permiten elegir cuando hay más de dos elecciones o
alternativas posibles. Ejemplo.
Si < condición > entonces
< Instrucción >
Sino
Si < condición 2>entonces
< Instrucción >
Sino
.
.
Fin si
c. Cíclicas: son aquellos tipos de estructura que repiten una secuencia de
instrucciones un número determinado de veces, para encontrar la solución a un
problema, estas son denominados como bucles, entre los cuales encontramos:
Para: en esta se conoce el número de iteraciones o veces que se repite la acción,
antes de iniciar la ejecución del ciclo. Ejemplo.
mientras que: este se repite un número determinado de veces, para esto
la instrucción se acompaña de una condición, la cual debe cumplirse para seguir
la ejecución del ciclo, de lo contrario este se termina. Ejemplo.
repita- hasta: este repite un proceso una cantidad de veces, determinada por un
condicional, que lo ejecuta hasta que la condicional se cumpla.
Una característica importante de esta estructura es que permite realizar el proceso
cuando menos una vez, ya que la condición se evalúa al final del proceso.
3. ¿Cuál es la diferencia entre algoritmo y programa?
La diferencia entre un algoritmo y un programa, es que si bien ambos hacen
referencia una serie de instrucciones, los algoritmos pueden estar escritos en código
o en lenguaje natural, mientras que los programas sólo pueden estar escritos en
lenguaje de programación. Además, los algoritmos pueden ser ejecutados por un
ser humano, mientras que los programas están diseñados para ser ejecutados por
máquinas.
4. ¿Cuál es la diferencia entre lenguaje y pseudo lenguaje?
La diferencia entre pseudocódigo y lenguaje de programación está en los niveles de
especificación en la programación.
De tal forma que el algoritmo corresponde a la sucesión de pasos necesarios que
debe realizar el computador para efectuar el trabajo necesario, el pseudocódigo es
la traducción en forma general a un lenguaje más formal el algoritmo, y el lenguaje
de programación es la traducción al lenguaje que usa el programa para leer los
comandos como el lenguaje C, C++, Java, Visualbasic, HTML etc...
5. ¿Cuál es el problema principal que surge al usar el lenguaje natural para expresar
un algoritmo?
Tiende a ser ambiguo y a estar definido vagamente, pues carece de estructura
precisa. Esto dificulta que otros sigan un algoritmo y se sientan seguros de que es
correcto.
6. ¿Qué requisitos debe cumplir un algoritmo bien elaborado?
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
7. ¿Cuál es la diferencia entre un lenguaje de programación y un traductor?
El lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje
con reglas gramaticales bien definidas) que le proporciona a una persona, en este
caso el programador, la capacidad de escribir (o programar) una serie de
instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar
el comportamiento físico o lógico de un sistema informático. Mientras el traductor es
una maquina que consiste básicamente en hacer el proceso de traducción, que es
también la actividad de comprender el significado de un texto en un idioma, llamado
texto origen o «texto de salida», para producir un texto con significado equivalente,
en otro idioma, llamado texto traducido o «texto meta». El resultado de esta
actividad, el texto traducido, también se denomina traducción.
8. ¿Cuáles son las dos diferencias fundamentales entre un compilador y un intérprete?
Un intérprete traduce instrucciones de alto nivel en una forma intermedia para ser
ejecutado. En contraste, un compilador, traduce instrucciones de alto nivel
directamente en lenguaje de máquina.
El intérprete traduce un programa línea a línea mientras que el compilador traduce
el programa entero y luego lo ejecuta.
El intérprete detecta si el programa tiene errores y permite su depuración durante el
proceso de ejecución, mientras que el compilador espera hasta terminar la
compilación de todo el programa para generar un informe de errores.
Un programa compilado es más seguro que uno interpretado, porque no contiene el
código fuente, que puede ser modificado incorrectamente por el usuario.
9. ¿Qué es un lenguaje simbólico? Señala uno que lo sea y otro que no.
El lenguaje simbólico es la forma de comunicación por medio de la cual los seres
humanos interpretan algún símbolo y obtienen un mensaje a partir de él. ... Los
seres humanos son animales que se comunican a través de los símbolos, que
trascienden culturas y grupos sociales.
Ejemplo de lenguaje simbolico: Las señales de tránsito, como por ejemplo pare o
avance.
Ejemplo de lenguaje no simbolico: el lenguaje verbal, por ejemplo el español o el
ingles
10. ¿Qué diferencia hay entre una constante simbólica y una literal?
Las constantes literales son aquellas que representan un valor concreto, como
puede ser un número, una cadena de caracteres o un carácter. Por ejemplo, el
número 5 o la cadena «Hola Mundo» son constantes literales. Por otro lado, las
constantes simbólicas son aquellas que se representan mediante un identificador y
que se asocian a un valor concreto. Esto permite que el valor de la constante pueda
cambiar en tiempo de compilación, sin necesidad de modificar el código fuente. Un
ejemplo de constante simbólica sería la constante PI, que se define como
3.14159265358979323846.
11. Definir constante y variable.
a. Constante: Una constante es una partida de datos (objetos) que
permanecen sin cambios durante todo el desarrollo del algoritmo o
durante la ejecución del programa.
b. Variable: Una variable es un objeto o partida de datos cuyo valor puede
cambiar durante el desarrollo del algoritmo o ejecución del programa.
12. Dar las normas para nombrar una variable.
Una variable, siempre debe iniciar con una letra (mayúscula o minúscula) ó un guión
bajo (_).
Una variable, puede contener números, solamente después de la primer
letra (siguiendo la regla anterior).
No es permitido dejar un espacio en blanco a lo largo de la variable.
Aunque una variable puede ser del largo que tú desees, lo recomendable es que
sea una variable corta (regularmente entre 20 y 30 caracteres como máximo).
No puedes utilizar palabras reservadas para la declaración de una variable.
El nombre de una variable en C# es case sensitive (es decir, a lo largo de tu
programa debe escribirse exactamente igual).
Utiliza un nombre que exprese algo del contexto en el cual la estás declarando.
13. Listar operadores aritméticos.
a. Operadores aritméticos binarios: Se emplean fácilmente, ya que realizan una
operación sencilla cuyo valor obtenido se asigna a una variable.
Suma: Suma dos valores. Este operador está ligado al operador de
concatenación, en donde se suman dos cadenas de valores.
Resta: Identifica la diferencia entre dos valores. Este operador también tiene la
facultad de indicar un valor que es negativo o la negación en una condición.
Multiplicación: Multiplica dos valores.
División: En una operación de dos valores, divide el primero entre el segundo.
Potenciación: Eleva un valor a la potencia indicada.
b. Operadores aritméticos unitarios: Tal como sucede con los números enteros en la
recta numérica, este tipo de operadores suele entenderse, ya que devuelven
expresiones del mismo tipo a la expresión que afectan. Es decir, si encuentras una
expresión de valor positivo, devolverás una expresión de valor positivo.
14. Listar operadores lógicos.
AND: Empleado para asociar dos términos o frases, validando que ambos valores
booleanos sean verdaderos.
OR: Asocia dos términos o frases, validando que al menos uno de los dos valores
sea verdadero.
NOT: Ejecuta bloques de código cuando una condición es falsa.
15. Listar operadores relacionales.
Operador ==: Permite comparar si las variables introducidas a su izquierda y
derecha son iguales.
Operador!=: devuelve True si los elementos a comparar son iguales y False si
estos son distintos.
Operador >: devuelve True si el primer valor es mayor que el segundo y False de
lo contrario.
Operador <: devuelve True si el primer elemento es mayor que el segundo.
Operador >=: permite comparar si el primer elemento es mayor o igual que es
segundo, devolviendo True en el caso de ser cierto.
Operador <=: devuelve True si el primer elemento es menor o igual que el
segundo
EJERCICIOS DE ALGORITMOS
[Link] un algoritmo que lea un número, y si es negativo que lo imprima.
Algoritmo ejercicio1
Definir num Como Real
Escribir "escriba un numero: "
Leer num
Si num > 0 Entonces
Escribir "El numero: ",num," es positivo"
SiNo
Escribir "El numero: ",num," es negativo"
Fin Si
FinAlgoritmo
[Link] un algoritmo que permita determinar si un número dado es par, impar o
cero.
Algoritmo ejercicio2
Definir n Como Entero
Escribir "escriba un numero"
Leer n
Si n <> 0 y n mod 2 = 0 Entonces
Escribir "el numero ",n ," es par"
Fin Si
si n mod 2 = 1 Entonces
Escribir "el numero ",n, " es impar"
FinSi
si n = 0 Entonces
escribir "el numero ",n ," es nulo"
FinSi
FinAlgoritmo
3. Desarrolle un algoritmo que permita determinar de una serie de números cuántos
son par, impar o cero.
Algoritmo ejercicio3
Definir cant, n, contador1, contador2, contador3 Como Entero
Escribir "ingrese la cantidad de numeros"
leer cant
contador1 = 0
contador2 = 0
contador3 = 0
Para i<-1 Hasta cant Con Paso 1 Hacer
Escribir "ingrese el numero", i
Leer n
si n <> 0 y n mod 2 == 0 Entonces
contador1 = contador1 + 1
FinSi
si n <> 0 y n mod 2 == 1 Entonces
contador2 = contador2 + 1
FinSi
si n = 0 Entonces
contador3 = contador3 + 1
FinSi
n=n-1
FinPara
Escribir "el valor total de numeros pares es ",contador1
Escribir "el valor total de numeros impares es ",contador2
Escribir "el valor total de numeros nulos es ",contador3
FinAlgoritmo
4. Desarrolle un algoritmo que lea una serie de números, imprima el número si es
negativo y el positivo del mismo.
Algoritmo ejercicio4
definir cant, pos, neg,neu, n Como Entero
pos = 0
neg = 0
neu = 0
Escribir "Ingrese la cantidad de números"
leer cant
Para i<-1 Hasta cant Con Paso 1 Hacer
Escribir "Ingrese el valor número ",i
leer n
Si(n>=1) Entonces
pos=pos + 1
SiNo
si(n<=-1) Entonces
neg=neg + 1
SiNo
neu=neu + 1
FinSi
FinSi
FinPara
Escribir pos," Números positivos"
Escribir neg," Números negativos"
Escribir neu," Ceros"
FinAlgoritmo
5. Desarrolle un algoritmo que le permita leer el nombre, la edad, el sexo y el estado
civil de cualquier persona e imprima el nombre de la persona si es un hombre casado y
mayor de 40 años o una mujer soltera menor de 50 años.
Algoritmo ejercicio5
Definir estad_civil,edad,sexo Como Entero
Definir nom Como Caracter
Escribir "escribri nombre"
Leer nom
Escribir "sexo(1=masculino 2=femenino)"
Leer sexo
Escribir "estado civil(1=soltero, 2=casado, 3=divorciado, 4=viudo)"
Leer estad_civil
Escribir "edad"
Leer edad
si sexo=1 Entonces
Escribir "masculino"
FinSi
si edad>=40 Entonces
Escribir edad
SiNo
Escribir "no cumple los requisitos"
FinSi
si estad_civil=1 Entonces
Escribir "soltero"
SiNo
Escribir "no cumple los requisitos"
FinSi
Escribir nom
FinAlgoritmo
6. Desarrolle un algoritmo que le permita leer las notas de las materias que ha cursado un
estudiante hasta el momento, saque su promedio e imprima su nombre, número de
carné y el promedio.
Definir nombre Como Caracter
Definir carnet Como Caracter
acum<-1
suma<-0
Escribir "introdusca el nombre del alumno: "
leer nombre
Escribir "escriba el numero de carnet: "
Leer carnet
Escribir "¿Cuantas notas desea promediar?"
leer notas
mientras acum <=notas Hacer
Escribir "Ingrese la nota número ",acum
leer n
suma<-suma+n
acum<-acum+1
FinMientras
Escribir "el alumno: " nombre
Escribir "el carnet es: " carnet
prom<- suma / notas
Escribir "El promedio es: ",prom
Si prom >=5 Entonces
Escribir "El estudiante ganó la materia"
SiNo
Escribir "El estudiante perdió la materia"
FinSi
FinAlgoritmo
7. Desarrolle un algoritmo para leer el nombre de un empleado, el salario básico por hora y
el número de horas trabajadas durante una semana. Calcule el salario neto, teniendo
en cuenta que si el número de horas trabajadas durante la semana es mayor de 48
horas, esas horas demás se consideran horas extras y tienen un recargo del 35%.
Imprima el nombre del empleado y su salario neto.
Algoritmo ejercicio7
Definir sueldo, horas, horas_extra, pago, pago_extra Como Real
Definir nombre Como Caracter
Escribir "nombre del empleado"
Leer nombre
Escribir "Ingresa las horas trabajadas"
leer horas
Escribir "Ingresa el pago x hora"
leer pago
si horas > 48 Entonces
horas_extra = horas - 48
pago_extra = pago * 1.35
sueldo = (40*pago) + (horas_extra * pago_extra)
SiNo
sueldo = horas * pago
FinSi
Escribir "El pago semanal de " nombre " por las ",horas," horas trabajadas es:
$",sueldo
FinAlgoritmo
8. Desarrolle un algoritmo que le permita determinar el número medio de tres números. El
número medio es aquel que no es el mayor ni el menor.
Algoritmo ejercicio8
Definir a, b, c Como Entero
Escribir "ingrese 3 numeros"
Leer a,b,c
si a <> b y a <> b y b <> c Entonces
si (a > b y a < c) o (a < b y a > c) Entonces
Escribir "El numero medio es: ", a
SiNo
si (b > a y b < c) o (b < a y b > c) Entonces
Escribir "El numero medio es: ", b
SiNo
si (c > a y c < b) o (c < a y c > b) Entonces
Escribir "El numero medio es: ", c
FinSi
FinSi
FinSi
SiNo
Escribir "Los numeros deben ser diferentes"
FinSi
FinAlgoritmo
9. Desarrolle un algoritmo que le permita obtener la sucesión de Fibonacci 0,1,1,2,3,5 etc.
Imprima los primeros “n” términos de la sucesión.
Algoritmo ejercicio9
Escribir "Por favor ingrese n: "
leer n
a<-0
b<-1
Para i<-1 Hasta n Hacer
Escribir a
c<-a+b
a<-b
b<-c
FinPara
FinAlgoritmo