Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATERIA:
191160097
SEMESTRE:4° GRUPO: “B”
FECHA DE ENTREGA:
14/04/2021
CARRERA:
Ing. Industrial
3.1 INTRODUCCIÓN Y ESTRUCTURA DEL
ENTORNO DE UN LENJUAGE DE
PROGRAMACIÓN.
Entornos de programación.
Editores.
Una vez editado nuestro programa es necesario que este sea procesado y
transformado en órdenes que puedan ser ejecutadas por el ordenador. Estas
órdenes por tanto deben estar en el único lenguaje que la máquina entiende: el
código máquina. Para ello son necesarios los procesadores de lenguaje cuyo
concepto es muy amplio. Dentro de los procesadores de lenguaje destacan los
traductores, los compiladores y los intérpretes.
Hay otros lenguajes de programación que combinan ambas estrategias como por
ejemplo sucede con el lenguaje de programación Java. Para este lenguaje existen
traductores que generan un programa en un código denominado intermedio que
luego será ejecutado a través de un intérprete que recibe en este caso el nombre
de máquina virtual Java.
Enlazadores
Depuradores.
Funciones:
Definición de funciones propias creadas por el programador para usarlas en varias
ocasiones.
Declaraciones:
Definiciones y tipos de:
Variables.
Constantes.
Nuevos tipos de datos.
Asignaciones:
Valores iniciales de los identificadores declarados previamente.
Entradas:
Instrucciones para almacenar en memoria los valores de algunos identificadores.
Control:
Instrucciones de control de flujo del programa. Pueden ser:
Alternativas.
Repetitivas.
Salidas:
Función: Una parte de un programa (subrutina) con un nombre, que puede ser
invocada (llamada a ejecución) desde otras partes tantas veces como se desee.
Opcionalmente puede recibir valores (argumentos); se ejecuta y puede devolver un
valor
Tipos de datos.
Los datos se clasifican en diversas categorías, según el tipo de máquina o del
lenguaje en uso. Generalmente podemos encontrar las siguientes categorías:
Numéricos
Lógicos
Cadenas
Datos Numéricos
Son aquéllos que representan una cantidad o valor determinado. Su
representación se lleva a cabo en los formatos ya conocidos (enteros, punto y
fracciones decimales si estas existen).
Estos pueden representarse en dos formas distintas:
Tipo Numérico Entero (integer).
Tipo Numérico Real (real).
Enteros
Es un conjunto finito de los números enteros. Los enteros son números completos,
no tienen componentes fraccionarios o decimales y pueden ser negativos y
positivos.
Algunos ejemplos son:
3 7
-10 9
15
50
Reales
Consiste en un subconjunto de los
números reales. Estos números
siempre tienen un punto decimal y
pueden ser positivos o negativos.
Un número real consiste de un
número entero y una parte
decimal.
Algunos ejemplos son:
0.52 664.32
6.579 8.0
-9.3 -47.23
Cadenas
Son los datos que representan información textual (palabras, frases, símbolos,
etc). No representan valor alguno para efectos numéricos. Pueden distinguirse
porque son delimitados por apóstrofes o comillas.
Se clasifica en dos categorías:
Datos
tipo carácter (char)
Datos
tipo Cadena (string)
Datos Tipo Carácter
Es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un
dato de este tipo contiene solo un carácter.
Ejemplos:
‘Hola Juan López’
’12 de octubre de 1496’
‘Enunciado cualquiera’
Lógicos
También se le denomina Booleano, es aquél dato que solo puede tomar uno de
dos valores: Falso y verdadero. Se utiliza para representar las alternativas (si/no) a
determinadas condiciones. Por ejemplo, cuando se pide si un valor entero sea
primo, la respuesta será verdadera o falsa, según sea.
Las categorías y tipos que se mencionaron anteriormente se conocen como Tipos
Simples, puesto que no poseen una estructura compleja. En forma adicional, cada
lenguaje puede proporcionar la utilización de Tipos Compuestos, siendo estos,
datos que tienen una estructura predeterminada.
3.4 IDENTIFICADORES.
La siguiente tabla Muestra Las Palabras claves de Java, ESTAS reservadas Son y
Identificadores Como No SER pueden utilizadas.
Literales
• Una literal es un valor constante formado por una secuencia de caracteres.
Cualquier declaración en Java que defina un valor constante -un valor que no
pueda ser cambiado durante la ejecución del programa es una literal.
Son ejemplos de literales los números, los caracteres y las cadenas de caracteres.
Literales numéricas
Se pueden crear literales numéricas a partir de cualquier tipo de dato primitivo.
• Ej.
123 //literal int
123.456 //literal double
123L //literal long
123.456F //literal float
Identificador.
Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud
que sirve para identificar las entidades del programa (clases, funciones, variables,
tipos compuestos) Los identificadores pueden ser combinaciones de letras y
números. Cada lenguaje tiene sus propias reglas que definen como pueden estar
construidos.
Restricciones de la composición de los identificadores en C++
Solo hay dos restricciones en cuanto a la composición:
El primer carácter debe ser una letra o el guion bajo. El Estándar
establece que los identificadores comenzando con guion bajo y
mayúscula no deben ser utilizados. Este tipo de nombres se reserva
para los compiladores y las Librerías Estándar. Tampoco se permite la
utilización de nombres que contengan dos guiones bajos seguidos.
El estándar ANSI establece que como mínimo serán significativos los
31 primeros caracteres, aunque pueden ser más, según la
implementación. Es decir, para que un compilador se adhiera al
estándar ANSI, debe considerar como significativos, al menos, los 31
primeros caracteres.
Palabras clave
La siguiente tabla Muestra Las Palabras claves de Java, ESTAS reservadas Son y
Identificadores Como No SER pueden utilizadas.
3.5 ALMACENAMIENTO, DIRECCIONAMIENTO Y
REPRESENTACIÓN EN MEMORIA.
ALMACENAMIENTO
Propósitos del almacenamiento
Los componentes fundamentales de las computadoras de propósito general son la
unidad aritmético-lógica, la unidad de control, espacio de almacenamiento y los
dispositivos de entrada/salida. Si se elimina el almacenamiento, el aparato sería una
simple calculadora en lugar de una computadora. Una computadora digital
representa toda la información usando el sistema
binario. Texto, números, imágenes, sonido y casi cualquier otra forma de
información puede ser transformada en una sucesión de bits, o dígitos
binarios, cada uno de los cuales tiene un valor de 1 o 0. Una determinada
información puede ser manipulada por cualquier computadora cuyo espacio de
almacenamiento es suficientemente grande como para que quepa el dato
correspondiente o la representación binaria de la información
Tipos de almacenamiento.
1. Almacenamiento primario
DIRECCIONAMIENTO
El direccionamiento de la memoria puede considerarse desde dos puntos de vista:
Físico y lógico. El primero se refiere a los medios electrónicos utilizados en el
ordenador para acceder a las diversas posiciones de memoria. El segundo, a la
forma en que se expresan y guardan las direcciones. Características del hardware
de los primeros PC’s
Direccionamiento lógico
El sistema de numeración utilizado por los informáticos para representar las
direcciones de memoria en el texto escrito no suele ser la decimal, sino el
hexadecimal.
Por ejemplo, un bus de direcciones de 8 bits puede acceder a 256 posiciones. En
caso de direcciones de 16 bits, se puede acceder 65.536 posiciones. El bus de
direcciones del PC XT, que tiene 20 bits, las posibilidades son 1.048.576.
Direccionamiento segmentado
La solución consistió en expresar las direcciones mediante dos palabras de 16 bits,
denominadas desplazamiento y segmento que, por consiguiente, pueden ser
representadas mediante un hexadecimal de cuatro cifras en el rango 0000-FFFFh.
Estas dos palabras pueden ser traducidas a una dirección de 20 bits mediante la
operación denominada suma con desplazamiento. En nuestro caso, si el
desplazamiento es ABCDh resulta ABCD0h. Puesto que inicialmente es un
hexadecimal de 4 cifras, el desplazamiento la transforma en un hexadecimal de 5
cifras.
Segmentos y párrafos
Esta forma de representación segmentada de las direcciones es en realidad una
imagen de cómo son manejadas internamente en el procesador.
Los procesadores 8088 tienen registros de 16 bits que pueden servir para
almacenar los desplazamientos, es decir, cualquier dirección dentro de una zona de
64 KB (que se conoce como segmento). Disponen además de 4 registros de
segmento de 16 bits (CS, SS, DS y ES), en los que se almacenan las direcciones
de inicio del segmento activo en cada momento. Resulta así, que pueden
direccionar un total absoluto de 1MByte, y hasta 64 x 4 = 256 KB sin necesidad de
cambiar los registros de segmento. Esto es lo que se conoce como funcionamiento
en modo real (como puede verse, en realidad es una forma de manejar la memoria).
Memoria expandida
La primera, fue resultado de una iniciativa conjunta de Lotus e Intel, que
desarrollaron una variedad de la técnica de direccionamiento conocida como
conmutación de bancos, a la que llamaron EMS, que proporcionaba 8 MB de
espacio adicional. El procedimiento consistía en añadir al ordenador una placa
adicional de memoria de conmutación de bancos de hasta 32 MB, que era
conducida por un driver adecuado, el EMM cargado por el CONFIG. El truco
consiste en que, en un área en desuso de la memoria superior, se sitúa una zona
64 KB, denominada marco de página, en la que existen 4 secciones de 16 KB que
se emplean como punteros a una página más grande en la memoria de conmutación
de bancos.
Memoria virtual
Esta técnica consiste en hacer creer al programa que dispone de más memoria que
la físicamente disponible en RAM. Este artificio tiene sentido porque en ese
momento (y actualmente), la memoria extendida era mayor que la físicamente
disponible en muchos sistemas, además el disco duro era estándar en todos los
equipos.
Esta RAM ficticia se conoce como memoria virtual; una simulación conocida de
antiguo en el mundo de los mainframes, que fue introducida en la informática
personal a partir del 80286. Este procesador ya disponía de un controlador
hardware para este menester, de forma que su manejo no significaba una gran
sobrecarga para el Sistema. Su funcionamiento se basa en que cuando una
aplicación necesita más espacio y la memoria física está agotada, el controlador de
memoria virtual proporciona espacio auxiliar utilizando un fichero de intercambio
(“Swap file”) situado en memoria externa (disco duro generalmente), donde se
almacena la información que no cabe en la RAM.
REPRESENTACIÓN
CODIGO BCD: El código BCD (decimal codificado en binario) utiliza un
cuarteto o nibble (4bits) para la representación de cada cifra decimal. Existen
varias versiones de este código:
BCD natural: Sistema que codifica cifra a cifra del 0 al 9 con 4 bits y su valor
binario sin más. La tabla de equivalencias entre el sistema decimal y el BCD
natural es:
Representación normalizada
Cada fabricante de ordenadores define para la arquitectura de sus máquinas un
formato de coma flotante para lo que se denomina simple precisión, donde el
número de bits corresponde a una palabra, y otro para la doble precisión, donde se
utiliza una doble palabra. En general, se suelen seguir las siguientes reglas:
Esta operación es una manera diferente que se utiliza para que una variable reciba
un valor de forma directa sin intervención del usuario, o como resultado de la
evaluación de una expresión. Para esta operación se utiliza un operador que varía
de acuerdo al lenguaje, pero que de forma básica puede ser una flecha con
dirección hacia la izquierda.
En una asignación debe tenerse en cuenta que los dos lados de la asignación
deben pertenecer al mismo tipo de dato, y que en el lado izquierdo únicamente
puede aparecer UNA variable.
Ejemplo:
La forma de una proposición de asignación es: a = b donde b es una expresión
permitida, y a es el nombre de la variable donde se dejará el valor resultante de
evaluar b. Por expresión permitida se entiende a aquella expresión matemática que
ocupa las operaciones y funciones nombradas como existentes, y escritas de la
forma que para ellas se señala, respetando así la sintaxis en cada instrucción.
El signo igual, " = ", de a = b tiene el sentido de asignar a la variable a el valor que
resulte de evaluar la expresión permitida b. Es decir, a = b. Que no es la misma
definición usada en matemáticas para el signo: =.
Conceptos básicos
Operadores:
Un operador es un símbolo que indica al compilador que se lleven a cabo
específicas manipulaciones matemáticas o lógicas. El C tiene tres clases de
operadores: aritméticos, relacionales y lógicos y de bits.
Además de otros operadores especiales.
Asignación
Proposiciones:
Cuando la expresión va seguida de un punto y coma (;) se convierte en una
proposición. Ejemplo de proposiciones: i=7; x=3.1+sin (10.8); printf(“hola”); Las
siguientes proposiciones son válidas, pero no tienen ningún significado útil: 3.10;
a+b.
Fases de la asignación
Fase 1: Evaluar el lado derecho de la asignación, es decir resolver la expresión que
se encuentra después del operador de asignación.
Fase 2: Asignar al lado izquierdo, el valor resultante del lado derecho; por lo que la
variable que se encuentra a la izquierda en este instante recibe el valor de la
expresión evaluada en el lado derecho.
Ejemplo:
La asignación es una operación destructiva, esto significa que la variable que recibe
el valor, únicamente conserva el último valor asignado, y pierde el anterior.
Ejemplo:
Esto significa, que cuando una variable recibe un nuevo valor el anterior
desaparece.
Operador de asignación
Los Operadores de Asignación, como su nombre lo indica, se encargan de
asignarle a una variable el resultado de una expresión matemática o el valor de otra
variable.
Se utilizan en forma de expresiones de asignación en los que se asigna en el valor
de una expresión a un identificador. El operador de asignación más utilizado es “=”
y su formato es:
identificador = expresión
Donde el identificador representa por lo general una variable y una constante, una
variable o una expresión más compleja.
Ejemplo:
Operadores:
Aritméticos
Relacionales
Lógicos
+ ------- suma
- -------resta
* -------Multiplicación
/ -------División
% ----Residuo
Ejemplo:
7+3 = 10
Operador Acción
== Igual
!= Diferente
Operadores
|| --------------disyunción (o)
Expresión:
Una expresión es una secuencia de operadores y operandos que describe un
cálculo. Normalmente una expresión se evalúa en tiempo de ejecución
Expresiones.
Una expresión es una combinación de operadores y operandos de cuya
evaluación se obtiene un valor. Los operandos pueden ser nombres que denoten
objetos variables o constantes, funciones, literales de cualquier tipo adecuado de
acuerdo con los operadores u otras expresiones más simples. La evaluación de
una expresión da lugar a un valor de algún tipo, una expresión se dice que es del
tipo de su resultado. Ejemplos de expresiones
a + 5*b
(a >= 0) and ((b+5) > 10)
a
-a * 2 + b -b + sqrt (b**2 - 4*a*c) length(s) > 0
Las expresiones se evalúan de acuerdo cc precedencia de los operadores. Ante
una secuencia de operadores de igual precede la evaluación se realiza según el
orden de escritura, de izquierda a derecha. El orden evaluación puede modificarse
usando paréntesis.
3.8 PRIORIDAD DE
OPERADORES, EVALUACION DE
EXPRESIONES
Prioridad
EVALUACIÓN DE EXPRESIONES
Diseño:
En esta fase se alcanza con mayor precisión una solución
óptima de la aplicación, teniendo en cuenta los recursos
físicos del sistema (tipo de ordenador, periféricos,
comunicaciones, etc…) y los recursos lógicos. (Sistema
operativo., programas de utilidad, bases de datos, etc…)
Explotación:
En esta fase se realiza la implantación de la aplicación en
el sistema o sistemas físicos donde van a funcionar
habitualmente y su puesta en marcha para comprobar el
buen funcionamiento.
Tipos de mantenimiento:
Mantenimiento Correctivo: Consiste en corregir errores no
detectados en pruebas anteriores y que aparezcan con el uso
normal de la aplicación. Este mantenimiento puede estar incluido en la
garantía o mantenimiento de la aplicación.
Mantenimiento Preventivo: Es el destinado a la conservación de equipos o
instalaciones mediante la realización de revisión y reparación que garanticen
su buen funcionamiento y fiabilidad. El mantenimiento preventivo se realiza
en equipos en condiciones de funcionamiento, por oposición al
mantenimiento correctivo que repara o pone en condiciones de
funcionamiento aquellos que dejaron de funcionar o están dañados.
Codificación:
Consiste en traducir los resultados obtenidos a un determinado
lenguaje de programación, teniendo en cuenta las
especificaciones obtenidas en el cuaderno de carga. Se deben de
realizar las pruebas necesarias para comprobar la calidad y
estabilidad del programa.
3.10 PRUEBAS Y
DEPURACIÓN
Documentación.
Es la guía o comunicación escrita en sus variadas formas, ya sean en enunciados,
procedimientos, dibujos o diagramas. A menudo un programa escrito por una
persona, es usado por muchas otras. Por ello la documentación sirve para ayudar
a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento).
La documentación debe presentarse en tres formas, externa, interna y al usuario
final. La primera debe estar integrada por los siguientes elementos:
Ejemplo
DIAGRAMA DE FLOJO – PROBLEMA 1
Dados tres números (A, B, C) determinar si la suma de una pareja de ellos es
igual al tercer número, si se cumple con la condición escribir “iguales” y en el
caso contrario escribir “distintos”. Recuerde que el diagrama debe comprobar
las tres posibilidades que se dan en el ejercicio (A + B = C, A + C = B, B + C = A).
Bibliografía
Lenguajes de Programación: Entornos de programación. (2015). LDP.
http://descargas.pntic.mec.es/mentor/visitas/nav_Inici_Progr/lenguajes/len2
0.html
Espinoza Leal, G. I. (s. f.). ALGORITMOS - 3.9 Elaboración de programas.
Sitesgoogle.Com. Recuperado 30 de junio de 2021, de
https://cutt.ly/gmsYl5h
Gómez, F. J. (s. f.). 5. Estructura de un programa informático | Conceptos
básicos de programación. Hablando con las máquinas: lenguajes de
programación. IEDA. Recuperado 30 de junio de 2021, de
https://cutt.ly/3msYgJK
Tecnológico De Tuxtl Gutierrez. (s. f.). 3.2 Estructura básica de un programa.
- TECNOLOGICO DE TUXTLA GUTIERREZ. Sitesgoogle.com. Recuperado
30 de junio de 2021, de https://cutt.ly/2msYnBf
G. (2021, 1 julio). 3.3 Tipos de datos. Blogger.
https://gemaliortegaroman.blogspot.com/2019/04/33-tipos-de-datos.html
G. (2019, 1 mayo). 3.4 Identificadores. Blogger.
https://geovanysamuelsantisarguelloalgoritmos.blogspot.com/2019/04/34-
identificadores.html?m=1
Pineda, N. C.-C. (s/f). Asignación, 2021, de Edu.ec website:
http://www.utn.edu.ec/reduca/programacion/fundamentos/asignacin.html