Mathematics">
Nothing Special   »   [go: up one dir, main page]

Concepto de Programa

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

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
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 F1

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.

Datos, Tipos De Datos Y Operaciones Primitivas

El primer objetivo de toda computadora es el manejo de la información o datos. Estos datos pueden ser las cifras de ventas de
un supermercado o las calificaciones de una clase.

Un dato es la expresión general que describe los objetos con los cuales opera una computadora. La mayoría de las
computadoras pueden trabajar con varios tipos (modos) de datos.

Los algoritmos y los programas correspondientes operan sobre esos tipos de datos.

En el proceso de resolución de problemas el diseño de la estructura de datos es tan importante como el diseño del algoritmo y
del programa que se basa en el mismo.

Un programa de computadora opera sobre datos. En los lenguajes de programación los datos deben de ser de un tipo de dato
específico. El tipo de datos determina cómo se representan los datos en la computadora y los diferentes procesos que dicha
computadora realiza con ellos.

Existen dos tipos de datos: simples (sin estructura) y compuestos (estructurados).

Los distintos tipos de datos se representan en diferentes formas en la computadora. A nivel de máquina, un dato es un conjunto
o secuencia de bits (dígitos 0 o 1).

Los lenguajes de alto nivel permiten basarse en abstracciones e ignorar los detalles de la representación interna. Aparece el
concepto de tipo de datos, así como su representación. Los tipos de datos básicos son los siguientes:

 Numéricos (Entero, Real)


 Lógicos (Boolean)
 Carácter (Carácter, Cadena)

Existen algunos lenguajes de que admiten otros tipos de datos:

 Complejos
 Enumerados (Enumerated)
 Subrango (Subrange).

Datos numéricos

El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas distintas:

 Tipo Numérico Entero (Integer).

Es un subconjunto finito de los números enteros. Los enteros son números completos, no tienen componentes fraccionarios o
decimales y pueden ser negativos o positivos.

Los números enteros se pueden representar en 8, 16 o 32 bits, e incluso 64 bits, y eso da origen a una escala de enteros cuyos
rangos dependen de cada máquina

 Tipo Numérico Real (Real).

Consiste en un subconjunto de los números reales. Los números reales siempre tienen un pun- to decimal y pueden ser
positivos o negativos. Un número real consta de un entero y una parte decimal.

Los tipos de datos reales se representan en coma o punto flotante y suelen ser de simple precisión, doble precisión o cuádruple
precisión y suelen requerir 4 bytes, 8 bytes o 10-12 bytes, respectivamente.

 Datos lógicos (booleanos)

El tipo lógico es aquel dato que sólo puede tomar uno de dos valores: cierto o verdadero (true) y falso (false).

Este tipo de datos se utiliza para representar las alternativas (sí/no) a determinadas condiciones. Por ejemplo, cuando se pide si
un valor entero es par, la respuesta será verdadera o falsa, según sea par o impar.

 Datos tipo carácter y tipo cadena


El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce.

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)
 Operadores +, – (Suma Y Resta).

Expresiones Lógicas (Booleanas)

Un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor es siempre verdadero o falso. Recuerde que
existen dos constantes lógicas, verdadera (true) y falsa (false) y que las variables lógicas pueden tomar sólo estos dos valores.

Las expresiones lógicas se forman combinando constantes lógicas, variables y otras expresiones lógicas, utilizando los
operadores lógicos not, and y or y los operadores relacionales =, <, >, <=, >=, <>.

Operadores de relación

Los operadores relacionales o de relación permiten realizar comparaciones de valores de tipo numérico o carácter.

Los operadores de relación sirven para expresar las condiciones en los algoritmos. El formato general para las comparaciones
es:
expresión1 Operador De Relación expresión2

Operadores de relación

Operador Significado
< menor que
> mayor que
=, == igual que
<= menor o igual que
>= mayor o igual que
<>, != distinto de

Para realizar comparaciones de datos tipo carácter, se requiere una secuencia de ordenación de los caracteres similar al orden
creciente o decreciente.

Esta ordenación suele ser alfabética, tanto mayúsculas como minúsculas, y numérica, considerándolas de modo independiente.
Pero si se consideran caracteres mixtos, se debe recurrir a un código normalizado como es el ASCII.

Cuando se utilizan los operadores de relación, con valores lógicos, la constante false (falsa) es menor que el constante true
(verdadera).

• false < true

• true > false

Si se utilizan los operadores relacionales = y <> para comparar cantidades numéricas, es importante recordar que la mayoría de
los valores reales no pueden ser almacenados exactamente.

En consecuencia, las expresiones lógicas formales con comparación de cantidades reales con (=), a veces se evalúan como
falsas, incluso aunque estas cantidades sean algebraicamente iguales.

Operadores lógicos

Los operadores lógicos o booleanos básicos son not (no), and (y) y or (o).
Operadores lógicos

Operador lógico Expresión lógica Significado


no (not), ! no p (not p) negación de p

y (and), && p y q (p and q) conjunción de p y q

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) valor absoluto de x arco entero o real igual que argumento real
arctan(x) tangente de x coseno de x entero o real real
cos(x) entero o 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

<nombre de la variable> ← <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:

<Nombre_variable> ← <Variable> <Operador> <Expresión>

Y es equivalente a:

Variable Operador ← Expresión

Conversión de tipo

En las asignaciones no se pueden asignar valores a una variable de un tipo incompatible al suyo. Se presentará un error si
se trata de asignar valores de tipo carácter a una variable o un valor numéricos a una variable tipo carácter.

Entrada Y Salida De Información

Los cálculos que realizan las computadoras requieren para ser útiles la entrada de los datos necesarios para ejecutar las
operaciones que posteriormente se convertirán en resultados, es decir, salida.

Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se
conoce como operación de lectura (read).

 Los datos de entrada se introducen al procesador mediante dispositivos de entrada


 La salida puede aparecer en un dispositivo de salida
 La operación de salida se denomina escritura (write).

En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes:

 leer (lista de variables de entrada)


 escribir (lista de variables de salida

Escritura De Algoritmos/Programas

La escritura de un algoritmo mediante una herramienta de programación debe ser lo más clara posible y estructurada, de
modo que su lectura facilite considerablemente el entendimiento del algoritmo y su posterior codificación en un lenguaje
de programación.

Los algoritmos deben ser escritos en lenguajes similares a los programas.

Un algoritmo constará de dos componentes: una cabecera de programa y un bloque algoritmo.

La cabecera de programa es una acción simple que comienza con la palabra algoritmo. Esta palabra estará seguida por el
nombre asignado al programa completo.

 El bloque algoritmo es el resto del programa y consta de dos componentes o secciones: las acciones de declaración y
las acciones ejecutables.
 Las declaraciones definen o declaran las variables y constantes que tengan nombres. Las acciones ejecutables son las
acciones que posteriormente deberá realizar la computación cuando el algoritmo convertido en programa se ejecute.

Cabecera Del Programa O Algoritmo

Todos los algoritmos y programas deben comenzar con una cabecera en la que se exprese el identificador o nombre
correspondiente con la palabra reservada que señale el lenguaje.

En los lenguajes de programación, la palabra reservada suele ser program. En Algorítmica se denomina algoritmo.

Declaración de variables

En esta sección se declaran o describen todas las variables utilizadas en el algoritmo, listándose sus nombres y
especificando sus tipos. Esta sección comienza con la palabra reservada var y tiene el formato
donde cada lista de variables es una variable simple o una lista de variables separadas por comas y cada tipo es uno de los
tipos de datos básicos (entero, real, char o boolean).

Declaración de constantes numéricas

En esta sección se declaran todas las constantes que tengan nombre. Su formato es
Const
Pi = 3.141592
tamaño = 43
horas = 6.50

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>
<sentencia S2> // cuerpo del algoritmo
.
.
.
<sentencia Sn>
fin

También podría gustarte