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


Introduccion a la programacion orientada a objetos, Guías, Proyectos, Investigaciones de Programación Java

Detalla los conceptos fundamentales de la programacion en java

Tipo: Guías, Proyectos, Investigaciones

2020/2021

Subido el 26/02/2021

mario-mendoza-8
mario-mendoza-8 🇲🇽

1 documento

1 / 34

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Jiménez Mendoza José Mario 191165
UNIVERSIDAD CULTURAL
PROGRAMA DE LICENCIATURA EN SISTEMAS
COMPUTACIONALES
ASIGNATURA: PROGRAMACION EN SISTEMAS II
“PORTAFOLIO DE EVIDENCIAS”
JOSE MARIO JIMENEZ MENDOZA
MATRICULA: 191165
Ing. José Luis Ortiz Candela
CIUDAD JUAREZ, CHIHUAHUA, MEXICO
19 DE FEBRERO 2021
P á g i n a 1 | 34
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Vista previa parcial del texto

¡Descarga Introduccion a la programacion orientada a objetos y más Guías, Proyectos, Investigaciones en PDF de Programación Java solo en Docsity!

UNIVERSIDAD CULTURAL

PROGRAMA DE LICENCIATURA EN SISTEMAS

COMPUTACIONALES

ASIGNATURA: PROGRAMACION EN SISTEMAS II

“PORTAFOLIO DE EVIDENCIAS”

JOSE MARIO JIMENEZ MENDOZA

MATRICULA: 191165

Ing. José Luis Ortiz Candela

CIUDAD JUAREZ, CHIHUAHUA, MEXICO

19 DE FEBRERO 2021

INDICE

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:

  1. Un lenguaje para transmitir a la máquina las órdenes que se le quieren dar; esto es, el lenguaje de programación y una manera de pensar y concebir dar órdenes a la computadora.
  2. El algoritmo traducido en programa. El uso de un lenguaje siempre debe respetar un conjunto de reglas de sintaxis y de semántica; sin embargo, un programa que es correcto desde el punto de vista del lenguaje no siempre va a realizar la tarea o a resolver el problema que se quiere solucionar. En el proceso de aprendizaje de un programa, si ya se conoce programar con algún otro lenguaje de programación, resulta más fácil aprender otro lenguaje, sin muchas explicaciones, mejor aún si el segundo lenguaje pertenece al mismo paradigma de programación. Por esta razón, considero que el lenguaje C es el más óptimo de aprender como primer lenguaje, ya que es un lenguaje imperativo, que permite un manejo muy preciso de conceptos importantes de la programación, como las variables, los apuntadores, las funciones y los arreglos, entre otros aspectos. Cualquier otro lenguaje de programación, como Pascal, los lenguajes de los softwares MATLAB o SCILAB o el lenguaje R, los lenguajes C++ o Java, deberán aprenderse después de que se conoce y se maneja de manera óptima el lenguaje C que, como ya se dijo antes, es mucho más fácil de entender y manejar. LENGUAJES NATURALES Y ARTIFICIALES

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.

Un ejemplo de lenguaje interpretado

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 ejemplo de lenguaje compilado

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.

Características

 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:

  1. Los lenguajes de primera generación - 1GL, son lenguajes de bajo nivel conocidos como lenguaje de máquina. Se utilizan para programar las computadoras a un nivel muy bajo de abstracción.
  2. Los lenguajes de segunda generación - 2GL, también son lenguajes ensambladores de bajo nivel. Se usan en kernels y unidades de hardware, además de ser usados comúnmente para edición de video, gráficos y videojuegos.
  3. Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel, como C, C+ +, C#, Java, BASIC, JavaScript y Visual Basic.
  4. Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten en declaraciones similares a las declaraciones hechas en un lenguaje humano. Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python, Ruby y SQL.
  5. Los lenguajes de quinta generación - 5GL, son lenguajes de programación que contienen herramientas visuales para ayudar a desarrollar un programa. Ejemplos de lenguajes de quinta generación incluyen Mercury, OPS5 y Prolog. En resumen, los lenguajes de las generaciones 1GL y 2GL son también de bajo nivel y los de las generaciones 3GL, 4GL y 5GL son de alto nivel. TIPOS DE ERRORES AL PROGRAMAR Los errores de programación responden a diferentes tipos y pueden clasificarse dependiendo de la fase en que se presenten. Algunos tipos de errores son más difíciles de detectar y reparar que otros, veamos entonces:

Errores de sintaxis:

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.

Advertencias :

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.

Errores de enlazado:

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.

Errores de ejecución:

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

PROGRAMA ORIGINAL

CODIGO

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: