Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Diseño de Algoritmos: Diagrama de Flujo, Diagrama NS y Pseudocódigo, Ejercicios de Informática

Un resumen sobre el diseño de algoritmos, enfatizando en el uso de diagramas de flujo, diagramas NS y pseudocódigo. Además, aborda el tema de la codificación del programa, depuración y verificación. El texto explica el concepto de programa como caja negra, el proceso de introducción de datos y salida de datos, tipos de instrucciones y diferentes tipos de datos básicos. Se incluyen conceptos como constantes, variables, expresiones y operadores relacionales y lógicos.

Tipo: Ejercicios

2021/2022

Subido el 04/07/2022

eduin-solorzano
eduin-solorzano 🇭🇳

5 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CONCEPTO DE PROGRAMA
Un programa de computadora es un conjunto de instrucciones que producirán la ejecución de una determinada tarea.
En esencia, un programa es un medio para conseguir un fin.
El proceso de programación es, por consiguiente, un proceso de solución de y el desarrollo de un programa requiere las
siguientes fases:
1. Definición y análisis del problema;
2. Diseño de algoritmos:
diagrama de flujo,
diagrama N-S,
pseudocódigo;
3. Codificación del programa;
4. Depuración y verificación del programa;
5. Documentación;
6. Mantenimiento.
Partes Constitutivas De Un Programa
Tras la decisión de desarrollar un programa, el programador debe establecer el conjunto de especificaciones que debe contener
el programa: entrada, salida y algoritmos de resolución, que incluirán las técnicas para obtener las salidas a partir de las
entradas.
Conceptualmente un programa puede ser considerado como una caja negra, La caja negra o el algoritmo de resolución, es el
conjunto de códigos que transforman las entradas del programa (datos) en salidas (resultados).
El programador debe establecer de dónde provienen las entradas al programa. El proceso de introducir la información de
entrada en la memoria de la computadora se denomina entrada de datos, operación de lectura o acción de leer.
Las salidas de datos se deben presentar en dispositivos periféricos de salida: pantalla, impresoras, discos, etc. La operación de
salida de datos se conoce también como escritura o acción de escribir.
Instrucciones Y Tipos De Instrucciones
El proceso de diseño del algoritmo o posteriormente de codificación del programa consiste en definir las acciones o
instrucciones que resolverán el problema.
Las acciones o instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de
ejecutarse, es decir, en secuencia.
Un programa puede ser lineal o no lineal. Un programa es lineal si las instrucciones se ejecutan secuencialmente, sin
bifurcaciones, decisión ni comparaciones. En el caso del algoritmo las instrucciones se suelen conocer como acciones.
Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcación.
Tipos de instrucciones
Las instrucciones disponibles en un lenguaje de programación dependen del tipo de lenguaje. Las instrucciones básicas son
independientes del lenguaje. La clasificación más usual, desde el punto de vista anterior, es:
1. instrucciones de inicio/fin,
2. instrucciones de asignación,
3. instrucciones de lectura,
4. instrucciones de escritura,
5. instrucciones de bifurcación.
Instrucciones de lectura de datos (entrada)
Esta instrucción lee datos de un dispositivo de entrada.
leer (NÚMERO, HORAS, TASA)
NÚMERO ← 12325
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Diseño de Algoritmos: Diagrama de Flujo, Diagrama NS y Pseudocódigo y más Ejercicios en PDF de Informática solo en Docsity!

CONCEPTO DE PROGRAMA

Un programa de computadora es un conjunto de instrucciones que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El proceso de programación es, por consiguiente, un proceso de solución de y el desarrollo de un programa requiere las siguientes fases:

  1. Definición y análisis del problema;
  2. Diseño de algoritmos:  diagrama de flujo,  diagrama N-S,  pseudocódigo;
  3. Codificación del programa;
  4. Depuración y verificación del programa;
  5. Documentación;
  6. Mantenimiento. Partes Constitutivas De Un Programa Tras la decisión de desarrollar un programa, el programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, que incluirán las técnicas para obtener las salidas a partir de las entradas. Conceptualmente un programa puede ser considerado como una caja negra, La caja negra o el algoritmo de resolución, es el conjunto de códigos que transforman las entradas del programa (datos) en salidas (resultados). El programador debe establecer de dónde provienen las entradas al programa. El proceso de introducir la información de entrada en la memoria de la computadora se denomina entrada de datos, operación de lectura o acción de leer. Las salidas de datos se deben presentar en dispositivos periféricos de salida: pantalla, impresoras, discos, etc. La operación de salida de datos se conoce también como escritura o acción de escribir. Instrucciones Y Tipos De Instrucciones El proceso de diseño del algoritmo o posteriormente de codificación del programa consiste en definir las acciones o instrucciones que resolverán el problema. Las acciones o instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de ejecutarse, es decir, en secuencia. Un programa puede ser lineal o no lineal. Un programa es lineal si las instrucciones se ejecutan secuencialmente, sin bifurcaciones, decisión ni comparaciones. En el caso del algoritmo las instrucciones se suelen conocer como acciones. Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcación. Tipos de instrucciones Las instrucciones disponibles en un lenguaje de programación dependen del tipo de lenguaje. Las instrucciones básicas son independientes del lenguaje. La clasificación más usual, desde el punto de vista anterior, es:
  7. instrucciones de inicio/fin,
  8. instrucciones de asignación,
  9. instrucciones de lectura,
  10. instrucciones de escritura,
  11. instrucciones de bifurcación.  Instrucciones de lectura de datos (entrada) Esta instrucción lee datos de un dispositivo de entrada. leer (NÚMERO, HORAS, TASA) NÚMERO ← 12325

HORAS ← 32

TASA ← 1200

Instrucciones de escritura de resultados (salida ) Estas instrucciones se escriben en un dispositivo de salida. Explicar el resultado de la ejecución de las siguientes instrucciones: A ← 100 B ← 200 C ← 300  Instrucciones de bifurcación El desarrollo lineal de un programa se interrumpe cuando se ejecuta una bifurcación. Las bifurcaciones pueden ser, según el punto del programa a donde se bifurca, hacia adelante o hacia atrás. Las bifurcaciones en el flujo de un programa se realizarán de modo condicional en función del resultado de la evaluación de la condición.  Bifurcación incondicional: la bifurcación se realiza siempre que el flujo del programa pase por la instrucción sin necesidad del cumplimiento de ninguna condición.  Bifurcación condicional: la bifurcación depende del cumplimiento de una determinada condición. Si se cumple la condición, el flujo sigue ejecutando la acción F2. Si no se cumple, se ejecuta la acción F Elementos Básicos De Un Programa En programación se debe separar la diferencia entre el diseño del algoritmo y su implementación en u lenguaje específico. Por ello, se debe distinguir claramente entre los conceptos de programación y el medio en que ellos se implementan en un lenguaje específico. Los lenguajes de programación tienen elementos básicos que se utilizan como bloques constructivos, así como reglas para las que esos elementos se combinan. Estas reglas se denominan sintaxis del lenguaje. Solamente las instrucciones sintácticamente correctas pueden ser interpretadas por la computadora y los programas que contengan errores de sintaxis son rechazados por la máquina. Los elementos básicos constitutivos de un programa o algoritmo son:  Palabras Reservadas  Identificadores  Caracteres Especiales  Constantes,  Variables,  Expresiones,  Instrucciones. Además de estos elementos básicos, existen otros elementos que forman parte de los programas, cuya comprensión y funcionamiento será vital para el correcto diseño de un algoritmo y naturalmente la codificación del programa. Estos elementos son:  Bucles,  Contadores,  Acumuladores,  Interruptores,  Estructuras: a) Secuenciales. b) Selectivas. c) Repetitivas.

Un dato tipo carácter contiene un solo carácter. Los caracteres que reconocen las diferentes computadoras no son estándar; sin embargo, la mayoría reconoce los siguientes caracteres alfabéticos y numéricos:  Caracteres Alfabéticos  Caracteres Numéricos  Caracteres Especiales  Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofo) o dobles comillas, según el tipo de lenguaje de programación. La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o limitadores. Algunos lenguajes tienen datos tipo cadena. Constantes Y Variables Los programas de computadora contienen ciertos valores que no deben cambiar durante la ejecución del programa. Tales valores se llaman constantes. De igual forma, existen otros valores que cambiarán durante la ejecución del programa; a estos valores se les llama variables.  Una constante es un dato que permanece sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del programa.  Una constante tipo carácter o constante de caracteres consiste en un carácter válido encerrado dentro de apóstrofos; por ejemplo, 'B', '+', '4', ';'  Una secuencia de caracteres se denomina normalmente una cadena y una constante tipo cadena es una cadena encerrada entre apóstrofos. a) Constantes Lógicas (Boolean) Sólo existen dos constantes lógicas o boolean: Verdadero y falso La mayoría de los lenguajes de programación permiten diferentes tipos de constantes: enteras, reales, caracteres y boolean o lógicas, y representan datos de esos tipos. Una variable es un objeto o tipo de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa. Dependiendo del lenguaje, hay diferentes tipos de variables, tales como enteras, reales, carácter, lógicas y de cadena. Una variable que es de un cierto tipo puede tomar únicamente valores de ese tipo. Si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error de tipo. Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable. Los nombres de las variables elegidas para el algoritmo o el programa deben ser significativos y tener relación con el objeto de que representan, como pueden ser los casos siguientes:  NOMBRE (para representar nombres de personas)  PRECIOS (para representar los precios de diferentes artículos)  NOTAS (para representar las notas de una clase) Declaración de Constantes y Variables Normalmente los identificadores de las variables y de las constantes con nombre deben ser declaradas en los programas antes de ser utilizadas. La sintaxis de la declaración de una variable suele ser: <tipo_de_dato> <nombre_variable> [=<expresión>] Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación matemática tradicional Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operandos y operadores. Según sea el tipo de objetos que manipulan, las expresiones se clasifican en:  Aritméticas,  Relacionales,  Lógicas,  Carácter. El resultado de la expresión aritmética es de tipo numérico; el resultado de la expresión relacional y de una expresión lógica es de tipo lógico; el resultado de una expresión carácter es de tipo carácter. Expresiones aritméticas Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas y las operaciones son las aritméticas.  + (suma)  - (resta)  (multiplicación)  / (división)  ↑, **, ^ (exponenciación)  div, / (división entera)  mod, % (módulo resto) Los símbolos +, –, *, ^ (↑ o **) y las palabras clave div y mod se conocen como operadores aritméticos. Operadores DIV (/) y MOD (%) El símbolo / se utiliza para la división real y la división entera. El operador mod representa el resto de la división entera, y la mayoría de los lenguajes utilizan el símbolo %. A div B Sólo se puede utilizar si A y B son expresiones enteras y obtiene la parte entera de A/B. Operadores De Incremento Y Decremento Los lenguajes de programación C/C++, Java y C# soportan los operadores unitarios (unarios) de incremento, ++, y decremento, --. El operador de incremento (++) aumenta el valor de su operando en una unidad, el operador de decremento (--) disminuye también en una unidad. El valor resultante dependerá de que el operador se emplee como prefijo o como sufijo Si actúa como prefijo, el operador cambia el valor de la variable y devuelve este nuevo valor; en caso contrario, si actúa como sufijo, el resultado de la expresión es el valor de la variable, y después se modifica esta variable.  ++i Incrementa i en 1 y después utiliza el valor de i en la correspondiente expresión.  i++ Utiliza el valor de i en la expresión en que se encuentra y después se incrementa en 1.  --i Decrementa i en 1 y después utiliza el nuevo valor de i en la correspondiente expresión.  i-i-- Utiliza el valor de i en la expresión en que se encuentra y después se incrementa en 1.

Reglas de prioridad Las expresiones que tienen dos o más operandos requieren unas reglas matemáticas que permitan determinar el orden de las operaciones, se denominan reglas de prioridad o precedencia y son:

  1. Las operaciones que están encerradas entre paréntesis se evalúan primero.
  2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad:  operador ( )  operadores ++, – – + y – unitarios,  operadores *, /, % (producto, división, módulo)

o (o), || p o q (p o q) (^) disyunción de p y q Prioridad de los operadores lógicos Los operadores aritméticos seguían un orden específico de prioridad cuando existía más de un operador en las expresiones. De modo similar, los operadores lógicos y relaciones tienen un orden de prioridad. Prioridad de operadores (lenguaje Pascal) Operador Prioridad no (not) (^) más alta (primera ejecutada). /, *, div, mod, y (and) +, -, o (or) <, >, =, <=, >=, <> (^) más baja (última ejecutada). Prioridad de operadores (lenguajes C, C++, C# y Java) Operador Prioridad ++ y -- (incremento y decremento en 1), +, –,! más alta *, /, % (módulo de la división entera) +, - (suma, resta) <, <=, >, >= == (igual a), != (no igual a) && ( y lógica, AND) || ( o lógica, or) =, +=, -=, *=, /=, %= (operadores de asignación) más baja Funciones Internas Las operaciones que se requieren en los programas exigen en numerosas ocasiones, además de las operaciones de las operaciones aritméticas básicas, ya tratadas, un número determinado de operadores especiales que se denominan funciones internas, incorporadas o estándar. Funciones internas Función Descripción Tipo de argumento Resultado abs (x) arctan (x ) cos (x) valor absoluto de x arco tangente de x coseno de x entero o real entero o real entero o real igual que argumento real real

Funciones internas (continuación) Funciones internas (continuación) Función Descripción Tipo de argumento Resultado exp (x) (^) exponencial de x entero o real Real ln (x) logaritmo neperiano de x entero o real Real log10 (x) (^) logaritmo decimal de x entero o real Real redondeo (x) (^) redondeo de x real Entero (round(x)) * seno (x) (^) seno de x entero o real Real (sin(x)) * cuadrado (x) cuadrado de x entero o real igual que argumento (sqr(x)) * raiz2 (x) (^) raíz cuadrada de x entero o real Real (sqrt(x)) * trunc (x) (^) truncamiento de x real entero La Operación De Asignación La operación de asignación es el modo de almacenar valores a una variable. La operación de asignación se represen- ta con el símbolo u operador ← en la mayoría de los lenguajes de programación, como C, C++, Java, el signo de la operación asignación es =. La operación de asignación se conoce como instrucción o sentencia de asignación cuan- do se refiere a un lenguaje de programación. El formato general de una operación de asignación es expresión es igual a expresión, variable o constante ← <expresión> La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. Así, en la secuencia de operaciones Asignación Aritmética Las expresiones en las operaciones de asignación son aritméticas:  AMN ← 3 + 14 + 8 se evalúa la expresión 3 + 14 + 8 y se asigna a la variable AMN, es decir, 25 será el valor que toma AMN Asignación lógica La expresión que se evalúa en la operación de asignación es lógica. Supóngase que M, N y P son variables de tipo lógico.  M ← 8 < 5  N ← M o (7 <= 12) P ← 7 > 6 Tras evaluar las operaciones anteriores, las variables M, N y P tomarán los valores falso, verdadero, verdadero. Asignación De Cadenas De Caracteres La expresión que se evalúa es de tipo cadena:  x ← '12 de octubre de 1942' La acción de asignación anterior asigna la cadena de caracteres '12 de octubre de 1942' a la variable tipo cadena x. Asignación múltiple Todos los lenguajes modernos admiten asignaciones múltiples y con combinaciones de operadores, además de la asignación única con el operador ←. Así se puede usar el operador de asignación (←) precedido por cualquiera de los siguientes operadores aritméticos: +, –, *, /, %. La sintaxis es la siguiente:

Const Pi = 3. 2 tamaño = 43 horas = 6. Los valores de estas constantes ya no pueden variar en el transcurso del algoritmo. Declaración De Constantes Y Variables Carácter Las constantes de carácter simple y cadenas de caracteres pueden ser declaradas en la sección del programa const, al igual que las constantes numéricas. const estrella = '*' frase = '12 de octubre' mensaje = 'Hola mi nene' Las variables de caracteres se declaran de dos modos:

  1. Almacenar un solo carácter.
  2. Almacenar múltiples caracteres (cadenas). Comentarios La documentación de un programa es el conjunto de información interna externa al programa, que facilitará su posterior mantenimiento y puesta a punto. La documentación puede ser: La documentación externa es aquella que se realiza externamente al programa y con fines de mantenimiento y actualización; es muy importante en las fases posteriores a la puesta en marcha inicial de un programa. La documentación interna es la que se acompaña en el código o programa fuente y se realiza a base de comentarios significativos. Estos comentarios se representan con diferentes notaciones, según el tipo de lenguaje de programación. Estilo de escritura de algoritmos/programas El método que seguiremos normalmente a lo largo del libro para escribir algoritmos será el descrito al comienzo del Apartado algoritmo identificador //cabecera // sección de declaraciones var tipo de datos: lista de identificadores const lista de identificadores = valor inicio < sentencia S1> // cuerpo del algoritmo . . . fin