


























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Detalla los conceptos fundamentales de la programacion en java
Tipo: Guías, Proyectos, Investigaciones
1 / 34
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



























INTRODUCCION En programación de sistemas dos hemos trabajado con los lenguajes de programación de c++ y java, así mismo el enfoque ha sido entender como funciona los entornos de programación y el código fuente de un programa. Hicimos algunos algoritmos para entender la lógica conceptual de los programas y su estructura, pasando de código natural a código fuente. INTRODUCCION A LA PROGRAMACION La programación es un conocimiento que se aprende, como se aprende hacer reacciones químicas en un laboratorio, resolver ecuaciones matemáticas o andar en bicicleta. El principal objetivo de este libro es mostrar que el aprendizaje de la programación puede
ser fácil, si se empieza desde lo básico y se continúa de manera gradual, hasta que se es capaz de escribir un programa que resuelve un problema. La primera dificultad del aprendizaje de la programación radica en la necesidad de aprender dos cosas bastante diferentes de manera simultánea:
Los lenguajes artificiales se aprenden voluntaria y conscientemente. Aunque algunos tienen la característica de la infinitud discreta, son muy diferentes a los lenguajes naturales. Un ejemplo de lenguaje artificial son los lenguajes de programación utilizados para desarrollar programas informáticos usados para controlar el comportamiento de una máquina, especialmente una computadora, Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.
LENGUAJES COMPILADOS E INTERPRETADOS La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilación, que convierte el código que escribes a lenguaje de máquina. Un lenguaje interpretado, por otro lado, es convertido a lenguaje de máquina a medida que es ejecutado. Ejemplos de lenguajes compilados incluyen C, C++, Java, Go y Rust, entre muchos otros. Ejemplos de lenguajes interpretados incluyen Ruby, Python y JavaScript, entre muchos otros. A todos estos lenguajes se les conoce como lenguajes de alto nivel.
Ruby es un lenguaje interpretado, así que podemos crear un archivo llamado hola.rb con el siguiente código, o cualquier código válido en Ruby (a esto se le conoce como el código fuente): puts "Hola Mundo" Y ejecutarlo directamente ingresando el siguiente comando en la consola: $ ruby hello.rb Te debería aparecer debajo la cadena “Hola Mundo“. Si quieres puedes cambiar el código fuente y volverlo a ejecutar.
Un lenguaje compilado tiene un paso adicional. Si tienes un compilador de C como gcc puedes crear un archivo llamado hello.c con el siguiente contenido, o cualquier código válido en C: #include <stdio.h> int main() { printf("Hola Mundo");
lenguaje interpretado está optimizado para hacerle la vida más fácil al programador, aunque eso signifique una carga adicional para la máquina. Se puede decir que los lenguajes de alto nivel se pueden dividir en tres ramas: puramente compilados (C++, Go, etc.), parcialmente compilados (Java, Elixir, etc.) e interpretados (Ruby, JavaScript, etc.). Sin embargo, la brecha entre estas ramas cada vez es menor. Hoy existen lenguajes compilados a lenguaje de máquina como Go y Rust que se inclinan cada vez más en la productividad y felicidad del programador mientras que los lenguajes interpretados son cada vez más rápidos en ejecución. LENGUAJE ENSAMBLADOR El lenguaje ensamblador, o assembler (en inglés assembly language y la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina. Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y se llaman macro ensambladores. Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido. También es utilizado en el desarrollo de controladores de dispositivo (en inglés, device drivers) y en el desarrollo de sistemas operativos, debido a la necesidad del acceso directo a las instrucciones de la máquina. Muchos dispositivos programables (como los microcontroladores) aún cuentan con el ensamblador como la única manera de ser manipulados.
El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca más bien al lenguaje máquina, es decir, lenguaje de bajo nivel. El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para poder ser usado en otra máquina distinta, aun con el mismo Microprocesador, solo pueden ser reutilizados secciones especiales del código programado.
Existen 5 generaciones de lenguajes de programación:
Son errores en el código fuente. Pueden deberse a palabras reservadas mal escritas, expresiones erróneas o incompletas, variables que no han sido declaradas, etc. Los errores de sintaxis se detectan en la fase de compilación. El compilador, además de generar el código objeto, nos dará una lista de errores de sintaxis. De hecho, nos dará sólo una cosa o la otra, ya que si hay errores no es posible generar un código objeto.
Además de errores, el compilador puede dar también advertencias (warnings). Las advertencias son errores, pero no lo suficientemente graves como para impedir la generación del código objeto. No obstante, es importante corregir estos errores la mayoría de las veces, ya que ante un aviso el compilador tiene que tomar decisiones, y estas no tienen por qué coincidir con lo que nosotros pretendemos hacer, ya se basan en las directivas que los creadores del compilador decidieron durante la creación del compilador. Por lo tanto, en ocasiones, ignorar las advertencias puede ocasionar que nuestro programa arroje resultados inesperados o erróneos.
El programa enlazador también puede encontrar errores. Normalmente se refieren a funciones que no están definidas en ninguno de los ficheros objetos ni en las bibliotecas. Puede que hayamos olvidado incluir alguna biblioteca, o algún fichero objeto, o puede que hayamos olvidado definir alguna función o variable, o lo hayamos hecho mal.
Incluso después de obtener un fichero ejecutable, es posible que se produzcan errores, durante la ejecución del código. En el caso de los errores de ejecución normalmente no
básicos de la programación y su estructura para que cuando estemos programando nos sea mas sencillo relacionarnos con su entorno. Por otro lado, se encuentra la capacidad de transferir de lenguaje natural a código fuente un algoritmo, si bien se requiere practica para hacer algoritmos mas eficientes, basta con hacer un profundo análisis del problema y ejecutar paso a paso cada instrucción para poder definir los pasos a seguir. En resumen, la programación resultara sencilla dependiendo que tanto fundamento teórico tengas. EVIDENCIA DE PROGRAMAS
package sistemas2; import java.util.Scanner; public class Calculadora { public static void main(String[] args) {
double n1, n2, resultado; int op; Scanner reader = new Scanner(System.in); System.out.println(" CALCULADORA BASICA\n "); do { System.out.println("Que operacion deseas realizar?\n 1 = Suma\n2 = Resta\n3 = Multiplicacion\n4 = Division\n5 = SALIR"); op = reader.nextInt(); switch (op) { case 1: System.out.println("Dame el primer numero: "); n1 = reader.nextFloat(); System.out.println("Dame el segundo numero: "); n2 = reader.nextFloat(); resultado = n1 + n2; System.out.println("El resultado es: "+resultado); break; case 2: