Post on 05-Aug-2015
INTRODUCCIÓN A LA PROGRAMACIÓN
Sobre este material:
Este material fue desarrollado por la estudiante Yelixa Araque del Programa Nacional de Formación de Sistemas e Informáticas de la Misión Sucre, el contenido del mismo es una introducción a la programación que oriente al estudiante en el inicio de la programación.
Atentamente,
TSU. Informática . Yelixa del C. Araque Angulo
Ingeniería de Sistemas
¿Bienvenidos?
4 Parte Continuación de Programación Estructurada
¿Qué es un Pseudocódigo ?
Es un lenguaje intermedio entre el lenguaje natural y el lenguaje de programación seleccionado. La notación pseudodificada surge como medio para la representación de instrucciones en una metodología estructurada y nación como un lenguaje similar al inglés, que utilizaba palabras reservadas de este idioma (start, end,stop, while, repeat,for,if, if-then, else) y que posteriormente se fue adaptando a otros lenguajes de lengua hispana.
Características del Pseudocódigo
Es una forma de representación muy sencilla de aprender y utilizar.
Permite el diseño y desarrollo de algoritmos totalmente independientes del
lenguaje de programación posteriormente utilizado en la fase de traducción o
codificación.
Facilita el paso del algoritmo al correspondiente lenguaje de programación.
Permite una gran flexibilidad en el diseño del algoritmo a la hora de expresar
acciones concretas.
Facilita la realización de futuras correcciones o actualizaciones gracias a que no
es una representación rígido.
Es un método que facilita la obtención de soluciones mediante aproximaciones
sucesivas.
Mar
gen
Izqu
ierd
o
Texto
PseudocódigoPseudocódigo
Debe permitirDebe permitir
Instrucciones primitivas(entrada ,
salida y asignación).
Instrucciones de proceso de
cálculo.
Instrucciones de control.
Instrucciones compuestas.
La escritura o diseño de un algoritmo mediante el uso de está herramienta exige la identación o sangría del texto en el margen izquierdo de las diferentes líneas, lo que facilita el entendimiento y comprensión del diseño realizado.
Partes de un Pseudocódigo
Cabecera
Es el área o bloque informativo donde queda reflejado el nombre del algoritmo y el nombre del programa al que pertenece dicho diseño, se debe especificar primero el apartado denominado módulo y el segundo apartado denominado programa.
Cuerpo
Se denomina así el resto del diseño, el cual queda dividido en otros dos bloques denominados bloque de datos, que es el lugar donde quedan descritos todos los elementos de trabajo necesarios en la ejecución del programa, entendiendo como tal parámetros, constantes y variables de todo tipo y bloque de acciones que es la zona en la que se deben describir con la máxima claridad y detalle todas aquellas acciones que el ordenador deberá realizar durante la ejecución del programa.
Cabecera
Programa: Nombre del programa
Módulo: Nombre del módulo
Cabecera
Programa: Nombre del programa
Módulo: Nombre del módulo
Cuerpo
Inicio Datos:
ParámetrosConstanteVariables
Algoritmo:
Descripción detallada de órdenes
Cuerpo
Inicio Datos:
ParámetrosConstanteVariables
Algoritmo:
Descripción detallada de órdenes
Estructura de un módulo (notación pseudocodificado)
¿Qué son los comentarios ?
Son los utilizados a lo largo del diseño realizado para aclarar o facilitar su comprensión. Son reservados al propio código fuente del programa una vez traducido el algoritmo diseñado al lenguaje de programación seleccionado, donde se hacen imprescindibles para la futura comprensión del programa . Los comentarios no afectan directamente a la compilación de un programa .
Comentarios Comentarios
Se usan Se usan
Aclarar el cometido de una función de una variable definida. Explicar el objetivo de una instrucción de control (alternativa o repetitiva) Aclarar zonas del programa donde se realizan cálculos y operaciones complejas. Comentar llamadas realizadas a subprogramas o funciones.
No es recomendable hacer uso indiscriminadamente de ellos para comentar puntos del programa obvios y carentes de dificultad. Existen varias notaciones para la representación de comentarios según el lenguaje de programación utilizado Para el diseño de algoritmos mediante la notación pseudocodificada, su uso se hace anteponiendo dos asteriscos al comentario propio dicho.Ejemplo: ** Línea comentario
¿Qué es una instrucción ?
Una instrucción se puede considerar como un hecho o suceso de duración limitada que genera cambios previstos en la ejecución de un programa .
Definición de datos Definición de datos Primitivas Primitivas CompuestasCompuestas De controlDe control
Instrucciones de definición de datos
Son aquellas instrucciones utilizadas para informar al procesador del
espacio que debe reservar en memoria con la finalidad de almacenar
un dato mediante el uso de variables simples o estructuras de datos
más complejas como, por ejemplo, tablas.
La definición consiste en indicar un nombre a través del cual se hará
referencia al dato y un tipo el cual informara al procesador de las
características y espacio que se debe reservar en memoria.
Instrucciones Primitivas Instrucciones Primitivas
Instrucciones de entradaInstrucciones de entrada
Instrucciones de asignaciónInstrucciones de asignación
Instrucciones de salidaInstrucciones de salida
Instrucciones de entradaInstrucciones de entrada
Leer Variable
Leer Variable
Son aquellas instrucciones encargadas de recoger el dato de un periférico o almacenarlo en memoria en una variable previamente definida, para la cual se almacenado suficiente espacio en memoria
Instrucciones de asignaciónInstrucciones de asignación
Variable= expresión
Variable = expresión
Son aquellas instrucciones encargadas de almacenar un dato o valor simple obtenido como resultado al evaluar una expresión en una variable previamente definida y declarada.
Instrucciones de salidaInstrucciones de salida
Escribir Expresión
Escribir Expresión
Son aquellas instrucciones encargadas de recoger los datos procedentes de variables o los resultados obtenidos de expresiones evaluadas y depositarlos en un periférico o dispositivo de salida. Por ejemplo: la pantalla, una impresora.
Ejemplo 1:
Diseñar un algoritmo que permita evaluar la función y= 3x+2z+ ½ w
Algoritmo
0. Inicio
1.Leer x, z, w
2. Y = 3*x+2*z + w/2
3. Escribir (y)
4.Fin.
Instrucciones Compuestas Instrucciones Compuestas
Área del triangulo
Son aquellas instrucciones que no pueden ser ejecutadas directamente por el procesador, y están constituidas por un bloque de acciones agrupadas en subrutinas, subprogramas, funciones o módulos.
Instrucciones Primitivas Instrucciones Primitivas
Instrucciones de saltoInstrucciones de salto
Instrucciones alternativasInstrucciones alternativas
Instrucciones repetitivasInstrucciones repetitivas
Instrucciones de saltoInstrucciones de salto
Se clasifica en:
Instrucciones de salto condicionalInstrucciones de salto condicionalInstrucciones de salto incondicionalInstrucciones de salto incondicional
Son aquellas instrucciones que alteran o rompen la secuencia normal de ejecución de un programa perdiendo toda posibilidad de retornar el control de ejecución del programa al punto de llamada. El uso de esta instrucción queda restringido en una programación estructurada.
Instrucciones alternativasInstrucciones alternativas
Alternativa simpleAlternativa simpleAlternativa dobleAlternativa doble Alternativa múltipleAlternativa múltiple
Son aquellas que controlan la ejecución o la no ejecución de una o más instrucciones en función de que se cumpla o no una condición previamente establecida
Alternativa simpleAlternativa simple
Condición
Bloques de instrucciones
Si NoSi condición
Instrucción 1Instrucción 2….Instrucción N
Fin si
Si condiciónInst1; Inst2;…. ; InstN
Fin si
Alternativa dobleAlternativa doble
Si condiciónInstrucción 1AInstrucción 1B….Instrucción 1N
SinoInstrucción 2AInstrucción 2 B…Instrucción 2 N
Fin si
Condición
Bloques de instrucciones
1
Si No
Bloques de instrucciones
2
Alternativa múltipleAlternativa múltiple
Según_valor ExpresiónValor 1:
Bloque de instrucciones 1
Valor 2:Bloque de instrucciones 2
…..Valor N:
Bloque de instrucciones NOtros:…..
FinSegún_valor
Expresión
Bloques de instrucciones
1
Bloques de instrucciones
2
Bloques de instrucciones
N
Instrucciones repetitivasInstrucciones repetitivas
Estructura MientrasEstructura Mientras Estructura Repetir-MientrasEstructura Repetir-MientrasEstructura ParaEstructura Para
Son aquellas instrucciones que permiten variar o alterar la secuencia normal de ejecución de un programa haciendo posible que un grupo de acciones se ejecute más de una vez de forma consecutiva . También recibe el nombre de bucles o lazos.
Estructura MientrasEstructura Mientras
La estructura Mientras permite repetir un bloque de
instrucciones de 0 – n veces, es decir:
En aquellos casos en los que la condición establecida
sea verdadera, el número de veces que se ejecutará dicho
bloque de instrucciones será una vez como mínimo y “n”
como máximo.
En aquellos casos en los que la condición establecida
sea falsa dicho bloque de instrucciones no se ejecutará
ninguna vez.
Mientras condiciónInstrucción 1Instrucción 2….Instrucción N
FinMientras
Mientras CondiciónInst. 1; Inst. 2; … Inst. N
FinMientras
Condición
Bloques de instrucciones
Si
No
Ejemplo 1:
Diseñar un algoritmo que permita elevar un numero m a una potencia n, m y n >= 0
y enteros.
Algoritmo
0. Inicio
1. cont= 1
2. exp= 1
3. Mientras (cont<= n)
3.1 exp = exp . M
3.2 cont = cont + 1
FinMientras
4. Escribir(exp)
5. Fin
Estructura Repetir-MientrasEstructura Repetir-Mientras
La estructura Repetir-Mientras permite repetir un
bloque de instrucciones de 1–n veces, es decir:
En aquellos casos en los que la condición
establecida sea verdadera, el número de veces que se
ejecutará el bloque de instrucciones será de una vez
como mínimo .
En aquellos casos en los que la condición
establecida sea falsa el numero de veces que se
ejecutará el bloque de instrucciones será de una vez
como máximo.
RepetirInstrucción 1Instrucción 2….Instrucción N
Mientras Condición
RepetirInst. 1; Inst. 2; … Inst. N
Mientras CondiciónCondición
Bloques de instrucciones
Si
No
Estructura ParaEstructura Para
La estructura Para se caracteriza porque el numero de veces que se repetirá el bloque de instrucciones esta fijado de antemano.
Vcont = Vi, Vf, n
Bloques de instrucciones
Para Vcont de Vi a Vf con Inc = nInstrucción 1Instrucción 2….Instrucción N
FinPara
Para Vcont de Vi a Vf con Inc= nInst. 1; Inst. 2; … Inst. N
FinPara
Donde: Vcont : Variable contador del bucle
Vi: Valor inicial que toma Vcont (valor inicial a partir del
cual comienza la ejecución del bucle ).
Vf :Valor final para Vcont (es el valor final que se toma
como referencia para la finalización del bucle).
n: Cantidad en que incrementa o decrementa (según el
valor especificado positivo o negativo) la variable Vcont al
final de cada vuelta de bucle. Por defecto el valor es
siempre 1.
¿Bienvenidos?
5 Parte Contadores, Acumuladores e Interruptores
¿Qué es un Contador?
Un contador es una variable destinada a contener un valor que se irá incrementado o decrementado en una cantidad fija y constante y que es almacenado en memoria principal.
Los contadores suelen utilizarse generalmente para el control de procesos repetitivos , es decir, su principal objetivo es contabilizar un conjunto de sucesos o acciones que se desean repetir en un programa mediante el uso de estructuras de control repetitivas (Mientras, Repetir- Mientras y Para)
Contador Contador Todo contador debe tomar un valor inicial antes de ser utilizado
Contador= Contador - Decremento Contador= Contador + Incremento
Valor Constante
Ejemplo Contador :Diseño del algoritmo de un programa que lee M números y determina cuáles son pares y positivos.
Programa: Positivo_y_ParMódulo: principal Inicio Datos: Variables
C Numérico EnteroM Numérico EnteroN Numérico EnteroR Numérico Real
AlgoritmoLeer M C = 0Repetir C= C + 1 Leer N R= N/2 Si N= Int (R)* 2
Si N>0 Escribir N, “ es positivo y par “ FinSi
FinSiMientras C<M
Fin
Inicio
Leer M
C= 0
C= C+1
Leer N
R= N/2
N=int(R)*2
N >0
Escribir N es Positivo y Par
C< M
Fin
¿Qué es un Acumulador?
Un acumulador o totalizador es una variable destinada a contener o almacenar cantidades variables provenientes de los resultados obtenidos en operaciones aritméticas previamente realizadas de manera sucesivas, lo que nos permitirá obtener el total acumulado de dichas cantidades.
Tienen las mismas características que los contadores, a excepción de que su objetivo no es controlar procesos repetitivos.
Acumulador= Acumulador + Incremento
Acumulador= Acumulador * Incremento
Valor Variable
a) En aquellos casos en los que se pretenden obtener el total como suma de distintas cantidades, es necesario que el acumulador sea inicializado a 0.
b) En aquellos casos en los que se pretenden obtener el total como producto de distintas cantidades, es necesario que el acumulador sea inicializado a 1.
Es importante tener en cuenta las siguientes dos reglas:
Ejemplo Acumulador :Algoritmo que multiplica los 20 primeros números impares y muestra el resultado en pantalla.
Programa: Producto imparMódulo: principal Inicio Datos: Variables
C Numérico EnteroAc Numérico Entero
AlgoritmoAc= 1C = -1Mientras C< 39 C= C + 2 Ac= Ac *C R= N/2FinMientrasEscribir Ac
Fin
Inicio
Ac = 1
C= -1
C = C+2
C < 39
Escribir Ac
Fin
Ac = Ac * C
Si
Si
¿Qué es un Interruptor ?
Los interruptores, también denominados conmutadores o indicadores, son variables que pueden tomar dos únicos valores considerados como lógicos y opuestos entre sí a lo largo de todo el programa (0 o 1, 1 o -1), verdadero o falso , on/off.Su objetivo: Recordar en un determinado lugar del programa una ocurrencia o suceso acaecido o no con antelación. Hacer que dos acciones diferentes se ejecuten alternativamente en un proceso repetitivo.
Ejemplo interruptores :Diseñar un algoritmo correspondiente a un programa que calcule la suma de los 20 pimeros números pares y el producto de los 20 primeros números impares simultáneamente. Programa: Suma_par_impar
Módulo: principal Inicio Datos: Variables
SP Numérico EnteroPI Numérico EnteroC Numérico EnteroSW Numérico Entero
AlgoritmoSP= 0PI = 1C = 0SW=0Repetir C= C + 1 Si SW = 0 PI= PI * C SW= 1 Sino SP= SP +C SW= 0FinsIMientras C<= 40Escribir SP, Pi
Fin
¿Bienvenidos?
Ejercicios Resueltos:
Dibujar el organigrama de una aplicación cuyo objetivo es la emisión de facturas a partir de los datos de compra introducidos por teclado y los datos de los clientes almacenados en un fichero soportado en disco. La factura se presenta en pantalla y una vez dada la conformidad se lista a de impresora.
Datos Compra
Datos Clientes
Emisión Facturas
Factura FacturaConforme
Ejercicio Nº 1
Ejercicio Nº 2Escribir un programa expresando su algoritmo mediante ordinograma y pseudocódigo, que lea el valor correspondiente a una distancia en millas marinas y las escriba expresadas en metros. Sabiendo que una milla marina equivale a 1852 metros.
Programa: millas_metrosMódulo: principal Inicio Datos: Variables
Dmillas Numérico EnteroDmetros Numérico Entero
AlgoritmoEscribir “ Distancias en millas ”leer DmillasDmetros= Dmillas * 1852Escribir “ Distancia en metros: ” ,
DmetrosFin
Inicio
Escribir Distancias en millas
Leer Dmillas
Dmetros = Dmillas * 1852
Escribir Distancias en
metros Dmetros
Fin
Ejercicio Nº 3Diseñar el algoritmo, pseudocódigo y ordinograma, correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado.
Programa: DescuentosMódulo: principal Inicio Datos: Variables
Tarifa Numérico EnteroPrecio Numérico EnteroDto. Numérico EnteroPd Numérico Entero
Algoritmoleer TarifaLeer PrecioDto = Tarifa – PrecioPd = Dto * 100 / Tarifa Escribir “ Porcentajes de Descuento: ” , Pd
Fin
Inicio
Leer Precio
Dto= Tarifa - Precio
Escribir Porcentaje de
descuento : “ Pd
Fin
Leer Tarifa
Pd= Dto *100/ Tarifa
Ejercicio Nº 4Algoritmo que lee dos valores numéricos “X” e “Y”. Determina si son iguales y en caso de no serlo, indica cuál de ellos es el mayor.
Programa: Condicion_anidadaMódulo: principal Inicio Datos: Variables
X Numérico EnteroY Numérico Entero
Algoritmoleer X,YSi X > YEscribir “ El mayor es: ” , XSino Si X = Y Escribir “ Son iguales ” Sino Escribir “ El mayor es: ” , Y
FinSi FinSi
Fin