Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRO
PROGRAMACIÓN ALGORITMICA
DÉCIMO
2017
PROGRAMACIÓN ALGORITMICA
DÉCIMO
2023
Nombres y Apellidos:_________________________
INDICADORES DE DESEMPEÑO
¡SI SE PUEDE
IMAGINAR, SE PUEDE
PROGRAMAR!
I. UNIDAD. Lógica de programación
Tipos de razonamiento
Proporcional: en esta se relacionan dos premisas donde una es una condición para que
la otra se presente, o sea, una es antecedente y otra consecuente.
Razonamiento inductivo
Razonamiento analógico:
Razonamiento válido. Refiere al razonamiento donde es válida su forma lógica aún sin
importar la información que contenga o que caracterice a las premisas, y a la
conclusión. Este razonamiento se considera como válido cuando la conclusión parte de
las premisas. Su validez parte de la forma lógica aun si la conclusión o las premisas
sean falsas. Razonamiento inválido Se da cuando las premisas son verdaderas pero la
conclusión es falsa.
Razonamiento lógico:
Este tipo de razonamiento puede ser tanto válidos o correctos, como no inválidos o
incorrectos. Los primeros se dan cuando las premisas aportan un soporte suficiente para
la conclusión; y los no válidos son considerados como falacias. Razonamiento no lógico
Este se suele llamar como razonamiento informal, este no solo parte de premisas, ya
que tiene otras alternativas como son las soluciones, donde se basa del contexto y de la
experiencia. Razonamiento argumentativo Refiere a la actividad lingüística donde se
puede argumentar, conociendo que un argumento es toda expresión lingüística de un
determinado razonamiento.
Razonamiento abductivo:
Razonamiento hipotético:
Este por medio de la observación de variados signos llega a una conclusión, donde al
verlas en conjunto se logra confirmar una determinada hipótesis, ya que las
probabilidades aumentan considerablemente.
II. CAPITILO
INTRODUCCIÓN A LA PROGRAMACIÓN
El programador de computadora es antes que nada una persona que resuelve problemas, por
lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de
un modo riguroso y sistemático.
1. Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin ambigüedades—
que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del
algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase
de codificación.)
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar
en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin
embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida
diaria, una receta de un plato de cocina se puede expresar en español, inglés o francés, pero
cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizarán sin
importar el idioma del cocinero.
DISEÑO DE ALGORITMOS
• 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.
Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la ficha
del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario,
rechazará el pedido.
1. Inicio.
2. Leer el pedido.
5. Fin.
PROGRAMACIÓN ESTRUCTURADA
Estructura de un Algoritmo
En esta etapa se deben establecer los resultados y objetivos que se desea para poder saber si
los datos que se tienen son suficientes para lograr los fines propuestos.
Análisis:
Una vez definido el problema se deberán organizar los datos de tal manera que sean
susceptibles de usar en los cálculos siguientes.
Diseño:
En esta etapa se proponen soluciones a los problemas a resolver, por lo que se realiza una
toma de decisiones aplicando los conocimientos adquiridos y utilizando los datos existentes.
Se consideran resultados previstos para datos conocidos a fin de que al probar cada una de
sus partes podamos ir comprobando que el algoritmo sirve o requiere modificarse.
Ejemplo:
Calf1
Valor_1
Num_hrs
Tipos de datos
Es el valor que puede tomar una constante o variable . Por ejemplo, para representar los datos
de un alumno como:
Ejemplo:
b) Lógicos: Solo pueden tener dos valores (verdadero o falso), y son el resultado de una
comparación.
c) Alfanuméricos: Son una serie de caracteres que sirvenpara representar y manejar datos
como nombres de personas, artículos, productos, direcciones, etc.
VARIABLES
Permite almacenar de forma temporal un valor y el cual puede cambiar durante la ejecución
del algoritmo ó programa.
prom=(calf1+calf2+calf3)/3
CONSTANTES
Son datos numéricos o alfanuméricos que contienen un valor y que no cambia durante la
ejecución del algoritmo ó programa.
Ejemplos:
Ejemplo:
Resultado a*(2*b+5)/c
Operadores: Es un símbolo que permite manipular los valores de variables y/o constantes.
Operadores matemáticos
1) ^ **
2) / * div mod
3) + -
Operador de asignación
1) = ó
Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión
Operadores de relación
Alternativas de solución
ACTIVIDAD 2
2.1 Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para obtener
el área de un triángulo.
2.2 Una empresa importadora desea determinar cuántos dólares puede adquirir con equis
cantidad de dinero mexicano. Realice un diagrama de flujo y pseudocódigo que representen
el algoritmo para tal fin.
2.3 Una empresa que contrata personal requiere determinar la edad de las personas que
solicitan trabajo, pero cuando se les realiza la entrevista sólo se les pregunta el año en que
nacieron. Realice el diagrama de flujo y pseudocódigo que representen el algoritmo para
solucionar este problema.
2.4 Un estacionamiento requiere determinar el cobro que debe aplicar a las personas que lo
utilizan. Considere que el cobro es con base en las horas que lo disponen y que las fracciones
de hora se toman como completas y realice un diagrama de flujo y pseudocódigo que
representen el algoritmo que permita determinar el cobro.
2.5 Pinturas “La brocha gorda” requiere determinar cuánto cobrar por trabajos de pintura.
Considere que se cobra por m2 y realice un diagrama de flujo y pseudocódigo que representen
el algoritmo que le permita ir generando presupuestos para cada cliente.
2.7 La compañía de autobuses “La curva loca” requiere determinar el costo que tendrá el
boleto de un viaje sencillo, esto basado en los kilómetros por recorrer y en el costo por
kilómetro. Realice un diagrama deflujo y pseudocódigo que representen el algoritmo para tal
fin.
2.8 Se requiere determinar el tiempo que tarda una persona en llegar de una ciudad a otra en
bicicleta, considerando que lleva una velocidad constante. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo para tal fin.
2.9 Se requiere determinar el costo que tendrá realizar una llamada telefónica con base en el
tiempo que dura la llamada y en el costo por minuto. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo para tal fin.
2.10 La CONAGUA requiere determinar el pago que debe realizar una persona por el total
de metros cúbicos que consume de agua. Realice un diagrama de flujo y pseudocódigo que
representen el algoritmo que permita determinar ese pago.
2.11 La compañía de luz y sombras (CLS) requiere determinar el pago que debe realizar una
persona por el consumo de energía eléctrica, la cual se mide en kilowatts (KW), teniendo en
cuenta que el valor de un KW es de $1.200. Realice un diagrama de flujo y pseudocódigo
que representen el algoritmo que permita determinar ese pago.
2.15 Se desea calcular la potencia eléctrica de circuito de la figura 2.6. Realice un diagrama
de flujo y el pseudocódigo que representen el algoritmo para resolver el problema. Considere
que: P = V*I y V = R*I.
R = 4Ω
V=I=?
2.16 Realice pseudocódigo y diagrama de flujo que representen el algoritmo para preparar
una torta.
2.18 Realice pseudocódigo y diagrama de flujo que representen el algoritmo para preparar
un pastel.
2.19 Realice el diagrama de flujo y pseudocódigo que representen el algoritmo para encontrar
el área de un cuadrado.
2.22 Se requiere un algoritmo para determinar el costo que tendrá realizar una llamada
telefónica con base en el tiempo que dura la llamada y en el costo por minuto. Represente la
solución mediante el diagrama de flujo y pseudocódigo.
2.23 El hotel “Cama Arena” requiere determinar lo que le debe cobrar a un huésped por su
estancia en una de sus habitaciones, teniendo en cuenta el valor por noche y la cantidad de
noches que va a pernoctar en el hotel. Realice un diagrama de flujo y pseudocódigo que
representen el algoritmo para determinar ese cobro.
II PERIODO
EL MUNDO DE LA PROGRAMACIÓN
Para lograr una construcción lógica deberás aplicar los conceptos que
has adquirido por medio de la lógica, validando todos los posibles
casos de respuesta que se presenten.
Codificación en un lenguaje de programación
La codificación es el proceso en el que debes plasmar tu solución lógica en un programa
llamado lenguaje de programación.
este proceso es sencillo en la manera que adquieras agilidad y venzas las dificultades en el
inicio del manejo del programa.
Compilación
Ejecución
CAMPO (VARIABLE)
Es el área de memoria en la cual se almacena un dato
Es el sinónimo de variable.
Es el área de memoria en la cual se ubica un dato.
El programador determina los campos que necesita para desarrollar la solución de un
problema.
Los campos tienen una característica fundamental.
EL TIPO
Indica la clase de información que se va a ubicar en el campo.
Tipo de un campo
- Todo campo pertenece a un determinado tipo.
- El tipo indica la clase de información que almacenará el campo.
INTEGER
TIPOS DE CAMPOS
Un tipo de dato entero en computación es un tipo de dato que puede representar un
subconjunto finito de los números enteros. El número mayor que puede representar
depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar
números negativos. Los tipos de dato entero disponibles y su tamaño dependen del lenguaje
de programación usado así como la arquitectura en cuestión.
REAL (FLOAT)
Coma flotante o punto flotante es un método de representación de números reales que se
puede adaptar al orden de magnitud del valor a representar, usualmente trasladando la coma
decimal –mediante un exponente- hacia la posición de la primera cifra significativa del
valor. De esta forma, con un número dado de dígitos representativos se obtiene mayor
precisión que con el punto fijo, debido a que el valor de estos dígitos es siempre
significativo sea el que sea el orden de magnitud del número a representar. Debido a esta
adaptación, permite representar un rango mucho mayor de números (determinado por los
valores límite que puede tomar el exponente).
CHAR Un valor de tipo carácter es cualquier carácter que se encuentre dentro del conjunto
ASCII ampliado, el cual está formado por los 128 caracteres del ASCII más los
128 caracteres especiales que presenta.
STRING una cadena de caracteres, palabra o frase (String en inglés) es una secuencia
ordenada de longitud arbitraria (aunque finita) de elementos que pertenecena un cierto
alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras,
números o determinados signos).
BOOLEAN El tipo de dato lógico o booleano es en computación aquel que puede
representar valores de lógica binaria, esto es, valores que representen falso o verdadero.
8. CONSTANTES
Es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor
en el momento de la compilación y este permanece inalterado durante todo el
programa.
const
Min = 0;
Max = 100;
Sep = 10;
DIAGRAMAS DE FLUJO
Sentencias simples
Asignación de variables
Se le asigna un valor a una variable, a través del símbolo de flecha (<--) que dice que el
valor a la derecha tiene que ser asignado a la variable que está a la izquierda.
Ejemplo:
a <-- 10
Se asigna un valor 10 a la variable a. Al escribir esta sentencia por primera vez en un
algoritmo, da por entendido su declaración o creación.
Comúnmente al lado derecho de la flecha, se pueden realizar operaciones aritméticas (+,-
,/,*), para que su resultado se le asigne a la variable. Además en estas operaciones se puede
incluir la misma variable u otras.
INICIO
x <-- 5
y <-- 10
z <-- x + y
z <-- y * x + 7
z <-- x/8 + y/9 + (7 + x/8)
z <-- z + 1
z <-- z * z + y * y
x <-- -x + -y + -3
FIN
Ejemplo:
Determinar cuánto vale (a,b,c) después de las siguientes sentencias de asignación
INICIO
a <-- 2
b <-- a * 4 /* b <-- 2 * 4 = 8 */
a <-- b + 2 * a /* a <-- 8 + 2 * 2 = 12 */
b <-- 2 - a * b /* b <-- 2 - 12 * 8 = 2 - 96 = -94 */
a <-- a - b /* a <-- 12 - -94 = 12 + 94 = 106 */
b <-- -b + 6 /* b <-- --94 + 6 = 94 + 6 = 100 */
FIN
Lectura de variables
En muchos algoritmos, el valor de alguna variable debe ser introducido dinámicamente por
el usuario a través del teclado o algún otro medio. A esa acción le llamaremos "leer", que
consiste en la asignación del valor de entrada, a la variable correspondiente.
Ejemplo:
INICIO
a <-- 12
leer b
a <-- a + b
FIN
Si se tiene que leer más de una variable, se pueden escribir usando el separado coma.
Ej: Leer a, b, c /* lee en ese orden las variables a, b y c */
Método imprimir
Se usará un método llamado "imprimir", para identificar una salida estándar (ej : pantalla o
consola). El método consiste de la palabra "imprimir", seguido de un conjunto de
argumentos, delimitado entre paréntesis.
Imprimir(..argumentos..)
Los argumentos pueden ser de dos tipos: constantes, alfanuméricas o variables. Si se quiere
encadenar una constante con una variable, se debe usar el separador '+'.
Ejemplo :
INICIO
imprimir("Ingrese radio : ") /* imprime el mensaje
constante "Ingrese x : " */ leer radio
imprimir("El valor del radio ingresado es : " + radio) /* se encadena lo constante con lo
variable */
imprimir(r * 2) /* imprime el resultado de la operación aritmética */
FIN
En el caso que la operación tenga el operador suma, se deben adicionar paréntesis para su
correcta interpretación. Debe ser interpretado como un operador aritmético y no de
concatenación.
Imprimir("la suma de a y b es : " + (a + b) )
Imprimir("a + b + c +++") /* como el símbolo suma esta dentro de la cadena constante,
limitada por comillas "", es interpretado como carácter */
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en
base al resultado de esta comparación, se siga un curso de acción dentro del programa.
Cabe mencionar que la comparación se puede hacer contra otra variable o contra una
constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las
múltiples.
SIMPLES:
Las estructuras condicionales simples se les conoce como Toma de Decisión”. Estas tomas
de decisión tienen la siguiente forma:
Ejercicios:
Leer tasa
Leer HorasTrabajadas
Si HorasTrabajadas > 40 (condición)
entonces (condición se cumple)
paga asa * 40 +1.5 * tasa * (Horas Trabajadas 40)
sino (condición no se cumple)
paga tasa * horas
FinSi
DOBLE
MÚLTIPLE SELECCIÓN
Ejercicio:
Algoritmo de la calculadora
INICIO
imprimir("1.- suma");
Imprimir("2.- resta");
Imprimir("3.- multiplicación")
imprimir("4.- división")
imprimir("Ingrese opción : ")
Leer a, b, opción
SELECCIÓN (opción)
1: imprimir("suma de " + a + " y " + b + " igual a : " + (a + b))
2: imprimir("resta de " + a + " y " + b + " igual a : " + (a - b))
3: imprimir("multiplicación de " + a + " y " + b + " igual a : " + (a *b))
4: SI (b != 0) ENTONCES
imprimir("división de " + a + " y " + b + " igual a : " + (a / b))
SINO
imprimir("división por cero --> infinito ")
FIN SI
FIN SELECCIÓN
FIN
MÚLTIPLE
Ejercicio:
INICIO
leer a,b,c
SI (a == b) ENTONCES
SI (b == c) ENTONCES
imprimir("Triángulo Equilátero")
SINO
imprimir("Triángulo Isósceles")
FIN SI
SINO
SI (b == c) ENTONCES
imprimir("Triángulo Isósceles")
SINO
imprimir("Triángulo Escaleno")
FIN SI
FIN SI
FIN
Ejercicio:
INICIO
cs <-- 1 /* cantidad de saltos */
h <-- 0.60 /* altura */
MIENTRAS( h < 3.0 ) HACER
cs <-- cs + 1
h <-- h * 1.3
FIN MIENTRAS
imprimir("Cantidad de saltos : " + cs)
imprimir("Altura máxima alcanzada : " + h)
FIN
¿condición?
verdadera
falsa
acción
Ejemplo 1: Algoritmo para identificar el mayor de dos números.
Representación del algoritmo en Pseudocódigo
Inicio
Leer(numero1)
Leer(numero2)
Si numero1>numero2 entonces
Escribir(“El mayor es número 1”)
Fin_si
Si numero2>numero1 entonces
Escribir(“El mayor es número 2”) 100
Fin_si
Si numero1=numero2 entonces
Escribir(“Los dos números son iguales”)
Fin_si
Fin