CONCEPTOS BASICOS DE
PROGRAMACION
2019
1
Ing. William Chauca Nolasco
2
Ing. William Chauca Nolasco
• Unidad Aritmético – Lógica: Realiza operaciones aritméticas y lógicas, tales como suma, resta,
multiplicación, división y comparaciones.
6. La Memoria de la computadora se divide en dos:
• Memoria Central o Interna: La CPU utiliza la memoria de la computadora para guardar información mientras
trabaja con ella; mientras esta información permanezca en memoria, la computadora puede tener acceso a
ella en forma directa. Esta memoria construida internamente se llama memoria de acceso aleatorio (RAM).
La memoria interna consta de dos áreas de memoria:
• La memoria RAM (Randon Access Memory): Recibe el nombre de memoria principal o memoria del usuario, en
ella se almacena información solo mientras la computadora esta encendida. Cuando se apaga o arranca
nuevamente la computadora, la información se pierde, por lo que se dice que la memoria RAM es una memoria
volátil.
• La memoria ROM (Read Only Memory): Es una memoria estática que no puede cambiar, la computadora puede
leer los datos almacenados en la memoria ROM, pero no se pueden introducir datos en ella, o cambiar los
datos que ahí se encuentran; por lo que se dice que esta memoria es de solo lectura. Los datos de la memoria
ROM están grabados en forma permanente y son introducidos por el fabricante de la computadora.
7. Memoria Auxiliar (Externa): Es donde se almacenan todos los programas o datos que el usuario desee. Los
dispositivos de almacenamiento o memorias auxiliares (externas o secundarias) mas comúnmente utilizados son:
cintas magnéticas y discos magnéticos.
3
Ing. William Chauca Nolasco
solución, por ello se debe considerar con el mismo interés y entusiasmo. Resulta conveniente observar los siguientes
principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución.
8.6.- Documentación: Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos,
dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve
para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentación
se divide en tres partes:
o Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer mas claro
el entendimiento de un proceso.
o Documentación Externa: Se define en un documento escrito los siguientes puntos:
Descripción del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocódigo)
Diccionario de Datos
Código Fuente (programa)
o Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario
obtenga el resultado deseado.
8.7.- Mantenimiento: Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún
cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este
trabajo se requiere que el programa este correctamente documentado.
o Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.
o Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
10.- PSEUDOCÓDIGOS
En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación
narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza
palabras que indican el proceso a realizar.
Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo
• Ocupa menos espacio en una hoja de papel
• Permite representar en forma fácil operaciones repetitivas complejas
• Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación.
• Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
Ejemplo 1.- Elaborar el pseudocódigo para determinar la raiz de una ecuación no lineal
Inicio
// Raiz de una ecuación
Leer
C, Y, E
Calcular
F Y5 / (1.5+2Y)2 - C
D Y4(7.5+6Y)/(1.5+2Y)3
Y1 Y - F/D
Escribir
Y1
Calcular
F Y15 / (1.5+2Y1)2 - C
Si ABS(F) >= E Entonces
Y=Y1
Ir a → D
Caso Contrario
Escribir
“La raiz de la ecuación es “, Y1
Fin de Sí
Fin
5
Ing. William Chauca Nolasco
Escribe “El resultado es:”, R Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable
que contiene un valor.
11.2 Estructuras de Condicionales
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 dos tipos básicos, las simples y las múltiples.
Simples: La estructura condicional simple se les conoce como “Toma de decisión”. Esta toma de decisión tiene la siguiente
forma:
Si <condición> entonces
Acción(es)
Fin-si
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del
cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
Si <condición> entonces
Acción(es)
Sí no
Acción(es)
Fin-si
Donde:
Si → Indica el comando de comparación
Condición → Indica la condición a evaluar
Entonces → Precede a las acciones a realizar cuando se cumple la
condición
acción(es) → Son las acciones a realizar cuando se cumple o no la
condición
Sí no → Precede a las acciones a realizar cuando no se cumple la
condición
Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar diversas
variables contras distintas posibles resultados, ejecutando para cada caso una serie de instrucciones específicas.
6
Ing. William Chauca Nolasco
inicialmente falso, el cuerpo del bucle no se ejecutará; por ello se necesita de otros tipos de estructuras repetitivas. La
estructura repetir se ejecuta hasta cumplir una condición determinada que se comprueba al final del bucle.
Repetir
<Acciones>
.
.
Hasta_que <Condición>
d.- Estructura desde/para (For) – Hacer (Do)
En muchas ocasiones se conoce de antemano el número de veces que se desea ejecutar las acciones de un bucle. En estos
casos, en l que el número de iteraciones es fijo, se debe usar la estructura desde/para (For) – Hacer (Do). Esta estructura
ejecuta las acciones del cuerpo del bucle un número especificado de veces y de modo automático.
Para v vi hasta vf [incremento incr]
<Acciones>
.
Fin_Para
e. Bucles infinitos
Algunos bucles no exigen fin y otros no encuentran el fin por error en su diseño. Un bucle que nunca se termina se denominan
bucle infinito o sin fin. Los bucles sin fin no intencionados son perjudiciales para la programación y se deben evitar siempre.
Ejemplo:
Consideremos el siguiente bucle que visualiza el interés producido por un capital a las tasas de interés comprendidos en el
rango desde 10 a 20 por 100
Leer (capital)
Tasa 10
Mientras Tasa <> 20 Hacer
Interes Tasa*0.01*Capital // Tasa*capital/100=Tasa*0.01*Capital
Escribir (‘Interes Producido’, Interes)
Tasa Tasa+2
Fin_Mientras
Escribir (‘Continuación’)
Comentario: Los sucesivos valores de la tasa serán 10, 12, 14, 16, 18, 20, de modo que al tomar tasa el valor 20 se
detendrá el bucle y se escribirá el mensaje ‘Continuación’. Supongamos que se cambiará la línea última del bucle por:
Tasa Tasa + 3 El problema es que el valor de la tasa salta ahora de 19 a 22 y nunca será igual a 20. El bucle sería
infinito.
EJEMPLOS
1.- Elabore un diagrama de flujo que calcule el área de un triángulo rectángulo, dada la altura y la base.
2.- Escriba un pseudocódigo y diagrama de flujo que pida tres números y luego escriba el promedio,
3.- Dados dos números A y B donde A diferente de B, determine cual es el mayor y menor e imprimirlos.
7
Ing. William Chauca Nolasco
SOLUCION
1.-
2.- Pseudocódigo
Inicio
Leer (a, b, c)
Promedio = (a+b+c)/3
Imprimir = (Promedio)
Fin
3.- Análisis
Datos de entrada
o A, B
Dato de Proceso (no hay formulas ni cálculos que hacer, sólo comparar )
o (A > B) mediante esta comparación podemos determinar cual de los dos es el mayor y el cual el
menor.
Datos de salida
o A (mayor) y B (menor) ó A (menor) y B (mayor)
8
Ing. William Chauca Nolasco
Especificación
Entradas n Enteros, n > 0 (n es el número dado).
Salidas
suma Enteros, suma >= 0
suma es la sumatoria de los primeros n números naturales.
Pseudocódigo
Inicio
Declaraciones de variables
9
Ing. William Chauca Nolasco
7.-
10
Ing. William Chauca Nolasco
8.-
Pseudocódigo
Inicio
Declaraciones de variables
n: entero
suma: entero
i: entero
leer n
suma:= 0
para(i :=1 hasta n) hacer
suma :=suma + i
fin_para
escribir (“La suma es:”, suma)
Fin
11
Ing. William Chauca Nolasco
Problemas propuestos
1.- Elaborar un diagrama de flujo que determine el área y el volumen de un cilindro cuyas dimensiones radio y altura se
leen desde el teclado
2.- Elaborar un diagrama de flujo que calcule el área de un triangulo en función de las longitudes de sus lados donde
p=(a+b+c)/2
3.- Programa que pida los dos catetos de un triángulo rectángulo y muestre su hipotenusa, el área del rectángulo cuyos
lados son los dos catetos y los dos ángulos del triángulo expresados en grados sexagesimales.
4.-Elabore un diagrama de flujo que pida la longitud de los lados de un triángulo, compruebe si los datos son correctos,
muestre si es equilátero, isósceles o escaleno, y el valor de sus ángulos en grados. A saber: los lados de un triángulo son
correctos si cada uno de ellos es menor que la suma de los otros dos. Un triángulo es equilátero si sus tres lados son iguales,
isósceles si dos lados son iguales y escaleno si sus 3 lados son distintos. Teorema del coseno a 2=b2+c2-2bc cos(b,c).
5.-Utilizando las tres estructura de repeticion desarrolle el diagrama de flujo para que encuentre un numero
natural n y otro m tal que se cumpla 1 2 + 22 +32 + 42 + ….+ m2 = n2
Solucion: 12 + 22 +32 + 42 + ….+ 242 = 702
12