Actividades prácticas Programación en ensamblador de MIPS: ejercicios avanzados de desarrollo
|
|
- Eugenia Domínguez Paz
- hace 6 años
- Vistas:
Transcripción
1 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA ESTRUCTURA DE COMPUTADORES Grado en Ingeniería Informática Grado en Ingeniería de Computadores Actividades prácticas Programación en ensamblador de MIPS: ejercicios avanzados de desarrollo CURSO Susana Mata Fernández Ángel Serrano Sánchez de León Luis Rincón Córcoles Departamento de Arquitectura y Tecnología de Computadores y CCIA
2
3 Actividades prácticas 1 Introducción En esta actividad práctica se realizarán diversos ejercicios de programación en ensamblador de MIPS, utilizando para ello la herramienta MARS, realizada por Peter Sanderson y Kenneth Vollmar de la Missouri State University. Será preciso descargar la última versión del mismo. Puesto que MARS está escrito en Java, para poder ejecutarlo será preciso tener instalada una versión reciente del Java Runtime Environment. Se proporcionarán esqueletos para los programas que deben realizarse. LOS EJERCICIOS SE REALIZARÁN DE FORMA INDIVIDUAL. Trabajo preparatorio Es imprescindible estudiar los contenidos teóricos del bloque de ensamblador al completo. Antes de comenzar El material necesario para realizar las actividades de esta sesión se encuentra en el archivo comprimido actividad05-apoyo.zip. Este archivo deberá ser copiado en una carpeta de un medio de almacenamiento, junto con el archivo MARS.jar, y descomprimido posteriormente. Sólo aparecen archivos fuente en ensamblador. Al descomprimir actividad05-apoyo.zip se generará un subdirectorio por cada ejercicio, para que el código de unos ejercicios y otros se pueda ensamblar y simular de forma independiente. Dado que en todos los ejercicios el código fuente está dividido en varios cheros, será preciso activar en MARS la opción Settings Assemble all les in directory. También será recomendable denir la etiqueta main al principio del programa ejecutable, y declararla como símbolo global con la directiva.globl, así como activar en MARS la opción Settings Initialize Program Counter to global 'main' if dened. Ejercicio 1: subrutina de ordenación de tres valores enteros Realizar un programa en ensamblador de MIPS que ordene tres números enteros de mayor a menor. Para ello se diseñará una subrutina auxiliar que realice la tarea antedicha. La subrutina se denominará ordenar3. Los tres parámetros de la subrutina se pasarán por referencia a través de los registros $a0, $a1 y $a2. La subrutina pondrá el número más grande en la variable pasada por referencia en primer lugar (apuntada por $a0), el número intermedio en la variable pasada por referencia en segundo lugar (apuntada por $a1), y el número menor en la variable pasada por referencia en tercer lugar (apuntada por $a2). Se podrá partir de la siguiente versión del programa en C: void ordenar3 (int *x, int *y, int *z); int x,y,z; entrada(); ordenar3(&x,&y,&z);
4 2 Programación MIPS: ejercicios avanzados de desarrollo void ordenar3 (int *x, int *y, int *z) { int tmp; if (*x < *y) { tmp = *x; *x = *y; *y = tmp; if (*x < *z) { tmp = *x; *x = *z; *z = tmp; if (*y < *z) { tmp = *y; *y = *z; *z = tmp; return; En el chero ejercicio01.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero ordenar3.asm y lo entregará a través del Aula Virtual. Ejercicio 2: subrutina para calcular si tres lados pueden formar un triángulo rectángulo Como se sabe, el teorema de Pitágoras establece que en un triángulo rectángulo se cumple la relación h 2 = c c 2 2, donde h es la hipotenusa y c 1 y c 2 son los dos catetos. Además, se deberá cumplir que h > 0, c 1 > 0 y c 2 > 0. Se precisa diseñar un programa en ensamblador de MIPS que determine si tres lados pueden formar un triángulo rectángulo. Para realizar el cálculo se diseñará una subrutina denominada pitagoras, que devolverá el valor 1 si los tres lados pueden formar triángulo rectángulo, y 0 si no. Para poder funcionar correctamente, la subrutina recibirá como primer parámetro de entrada el lado más largo (que podría ser la hipotenusa), y los dos restantes parámetros de entrada serán los dos lados más cortos (los hipotéticos catetos). Una versión del programa y la subrutina en C podría ser la siguiente int pitagoras (int h, int c1, int c2); int lon1, lon2, lon3, h, c1, c2; int es_rect;
5 Actividades prácticas 3 // La función de entrada pone el primer lado en lon1, el segundo en lon2 // y el tercero en lon3 entrada(); c1 = lon1; c2 = lon2; h = lon3; ordenar3(&h,&c1,&c2); es_rect = pitagoras(h,c1,c2); int pitagoras (int h, int c1, int c2) { return ( (h*h) == ((c1*c1) + (c2*c2)) ); En el chero ejercicio02.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero pitagoras.asm y lo entregará a través del Aula Virtual. Se deberá usar la subrutina ordenar3 realizada en el ejercicio previo, para lo cual el chero ordenar3.asm se copiará en el mismo directorio en el que se encuentren ejercicio02.asm y pitagoras.asm, si bien no deberá entregarlo de nuevo. Ejercicio 3: valores máximo y mínimo de un vector de enteros Diseñar un programa en ensamblador de MIPS que calcule los valores máximo y mínimo de un vector de enteros. Se puede partir del siguiente código en C: #define N 16 int vector[n] = {1,-3,55,8905,-111,90,543,-4321,0,43,99,-34,-55,4231,45, int maximo, minimo; register int i, aux; maximo = vector[0]; minimo = maximo; for (i = 1; i < N; i++) { aux = vector[i]; if (aux < minimo) minimo = aux; else if (aux > maximo) maximo = aux; En el chero ejercicio03.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual.
6 4 Programación MIPS: ejercicios avanzados de desarrollo Ejercicio 4: suma de vectores Diseñar un fragmento de programa en ensamblador de MIPS que, dados dos vectores que contienen 16 números de 32 bits expresados en complemento a 2, sume sus componentes y genere como resultado un nuevo vector de igual tamaño que los anteriores. Se puede partir del siguiente código en C: #define N 16 int x[n] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; int y[n] = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600; int z[n]; register int i; for (i = 0; i < N; i++) z[i] = x[i] + y[i]; En el chero ejercicio04.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual. Ejercicio 5: serie de Fibonacci Realizar un programa en ensamblador de MIPS que calcule los 16 primeros términos de la serie de Fibonacci y los almacene en un vector de datos. A continuación se muestra una posible solución en C: #define N 16 int fibo[n]; register int i; fibo[0] = 1; fibo[1] = 1; for (i = 2; i < N; i++) fibo[i] = fibo[i-1] + fibo[i-2]; En el chero ejercicio05.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual.
7 Actividades prácticas 5 Ejercicio 6: contar cifras en un string Diseñar un programa en ensamblador de MIPS que, dada una cadena de caracteres, cuente cuántos de ellos corresponden con dígitos del `0' al `9'. A continuación se muestra una posible solución en C: void entrada (char *str); int digitos; register int i; char string[30]; register char caracter; entrada(string); digitos = 0; i = 0; while ( (caracter = string[i])!= '\0' ) { if ( (caracter >= '0') && (caracter <= '9') ) digitos++; i++; En el chero ejercicio06.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual. Ejercicio 7: reemplazar caracteres en un string Diseñar un fragmento de programa en ensamblador de MIPS que, dada una cadena de caracteres, reemplace todas las ocurrencias del carácter c1 por el carácter c2. Es decir, si la cadena de entrada es Hola a todos, y los caracteres c1 y c2 son c1='o' y c2='i', entonces la cadena resultante será Hila a tidis. A continuación se muestra una posible solución en C: char string[30]; char c1, c2; register char caracter; register int i; entrada(); i = 0; while ( (caracter = string[i])!= '\0' ) { if (caracter == c1)
8 6 Programación MIPS: ejercicios avanzados de desarrollo string[i] = c2; i++; En el chero ejercicio07.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual. Ejercicio 8: palíndromos Diseñar un programa en ensamblador de MIPS que determine si una cadena de caracteres ASCII es o no palíndroma. Una cadena es palíndroma si se lee igual de derecha a izquierda que de izquierda a derecha. A continuación se muestra una posible solución en C: register char *ini, *fin; char string[30]; char palin; entrada(); // Buscar el final de la tira ini = fin = string; while (*fin!= '\0') fin++; fin--; // Comparar los caracteres palin = 'S'; while (ini < fin) { if (*ini == *fin) { ini++; fin--; else { palin = 'N'; break; En el chero ejercicio08.asm se proporciona un esqueleto de la solución. El alumno lo completará y entregará el código nal a través del Aula Virtual.
9 Actividades prácticas 7 Ejercicio 9: polinomios Se pretende diseñar un programa en ensamblador de MIPS que calcule el valor de un polinomio P (x) para un valor concreto de la variable x. Para ello se utilizará una subrutina llamada horner, que recibirá como parámetros un vector con los coecientes del polinomio, un entero que indica su grado y otro entero para la variable independiente, y realizará la evaluación del polinomio mediante el algoritmo de Horner. A continuación se muestra una posible solución en C: float horner (float *poly, int grado, float x); float polinomio[10] = {11.0,5.0,3.5,4.0,0.0,0.0,0.0,0.0,0.0,0.0; int grado = 3; float x = 2.5; float valor; valor = horner(polinomio,grado,x); float horner (float *poly, int grado, float x) { register int i; register float v; i = grado; v = 0; do { v = v * x + poly[i]; i--; while (i >= 0); En el chero ejercicio09.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero horner.asm y lo entregará a través del Aula Virtual. Ejercicio 10: media aritmética de un vector Diseñar un programa en ensamblador de MIPS que calcule la media aritmética de un vector de números en coma otante de precisión simple. Se utilizará una subrutina llamada promedio, que recibirá como parámetros un vector de datos de tipo float y un entero con el número de elementos del mismo. A continuación se muestra una posible solución en C: float promedio (float *poly, int n);
10 8 Programación MIPS: ejercicios avanzados de desarrollo float vector[10] = {1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5; int n = 10; register float suma; float media; suma = promedio(vector,n); float promedio (float *vec, int n) { register int i; register float v; i = 0; v = 0; do { v = v + vec[i]; i++; while (i < n); return (v/n); En el chero ejercicio10.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero promedio.asm y lo entregará a través del Aula Virtual. Ejercicio 11: función atoi Diseñar un programa en ensamblador de MIPS que convierta una tira de caracteres a un valor numérico de tipo entero. Para ello se diseñará una subrutina llamada atoi, que recibirá como parámetro la tira de caracteres, y devolverá un entero con el valor representado. La tira deberá estar compuesta por caracteres entre el `0' y el `9' (aparte del carácter nulo que marca el nal de la misma), y podrá ir precedida de un signo positivo o negativo. Si en cualquier punto aparecen caracteres en blanco, letras u otros caracteres diferentes, se considerará que la tira es errónea, y atoi devolverá un 0. Se puede partir de la siguiente versión en C: int atoi (char *string); int valor; char string[30]; entrada(); valor = atoi(string);
11 Actividades prácticas 9 int atoi (char *string) { register int i, v, signo; register char caracter; i = 0; if (string[0] == '-') { signo = -1; i = 1; else { signo = 1; if (string[0] == '+') i = 1; v = 0; while ( (caracter = string[i])!= '\0' ) { if ( (caracter >= '0') && (caracter <= '9') ) { v = v * 10 + (caracter - '0'); i++; else { v = 0; break; return (v * signo); En el chero ejercicio11.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero atoi.asm y lo entregará a través del Aula Virtual. Ejercicio 12: función strcmp Dos tiras de caracteres son iguales si tienen la misma longitud y sus caracteres coinciden. Por otra parte, se dice que una cadena es menor que otra si los caracteres de la primera preceden en orden alfabético a los de la segunda. Diseñar un programa en ensamblador de MIPS que, dadas dos cadenas de caracteres ASCII de longitud desconocida, las compare y diga si una es mayor que la otra o son iguales. Para ello se utilizará la subrutina strcmp, que recibirá las direcciones de comienzo de las dos cadenas, y que devolverá un entero que contendrá un 0 si ambas cadenas son iguales, un -1 si la primera es menor que la segunda, y un +1 si la segunda es menor que la primera. Se puede partir de la siguiente versión de la solución en C: int strcmp (char *str1, char *str2); int valor; char string1[30], string2[30];
12 10 Programación MIPS: ejercicios avanzados de desarrollo entrada(); valor = strcmp(string1,string2); int strcmp (char *str1, char *str2) { register int res; register char c1, c2; res = 2; do { c1 = *str1; c2 = *str2; if (c1 < c2) res = -1; else if (c1 > c2) res = 1; else if (c1 == '\0') res = 0; else { str1++; str2++; while (res == 2); return (res); En el chero ejercicio12.asm se proporciona la reserva de espacio para variables, así como el programa principal completo. El alumno realizará la subrutina en el chero strcmp.asm y lo entregará a través del Aula Virtual.
Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros
Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Más detalles2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 SUMA
Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección C ) Profesor: Jaime Soto Examen #1 - Fecha: 07-03-2012
Más detallesLENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesUso avanzado de punteros
Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detallesObjetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)
Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma
Más detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Arquitectura de Ordenadores Tutor: Antonio Rivero Cuesta Unidad Didáctica 1 Representación de la Información y Funciones Lógicas Tema 1 Representación de la Información
Más detallesPROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesPROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I
PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6
Más detallesEstatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesProgramación Estructurada
Programación Estructurada Código de materia 01 Prof Titular Ing Rafael Brizuela Facultad de tecnología informática UNIVERSIDAD ABIERTA INTERAMERICANA GUÍA DE REPASO CONCEPTUAL PREGUNTAS Unidad 1: Conceptos
Más detalles4.- Leer tres números y escribirlos en orden decreciente
Ejercicios tema 3 2.- Leer dos números y decir cuál es el menor 3.- Leer tres números y decir cuál es el mayor 4.- Leer tres números y escribirlos en orden decreciente 5.- Los siguientes fragmentos de
Más detallesCaracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesTema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas
Tema 9 Algoritmos sobre listas Programación 2015-2016 Programación - Tema 9: Algoritmos sobre listas 1 Tema 9. Algoritmos sobre listas Algoritmos sobre Arrays. Búsqueda. Inserción. Ordenación. Programación
Más detallesExpresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Más detallesLenguajes de programación
Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas
Más detallesCadena de caracteres. 1. Fundamentos de cadenas y caracteres
1. Fundamentos de cadenas y caracteres Cadena de caracteres Los caracteres son bloques de construcción fundamentales para los programas fuente. Un programa puede contener constantes de carácter. Una constante
Más detallesPROBLEMAS DEL TEMA 7: Subprogramas y Modularidad
PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realiza un programa que lea por teclado
Más detallesPROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX
PROCESADORES DE LENGUAJE Ingeniería Informática Especialidad de Computación Tercer curso Segundo cuatrimestre Departamento de Informática y Análisis Numérico Escuela Politécnica Superior de Córdoba Universidad
Más detallesUniversidad de Managua
Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesTEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
Más detalles4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Más detallesEl lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Más detallesPROGRAMACION / Clave: 11214
PRACTICA 10. Programas en DevC++ 1.- Programa que imprima las tablas de multiplicar del 1 al 10, se deberá hacer una pausa entre tabla y tabla de multiplicar. 2.- Programa que se repita N cantidad de veces
Más detallesDatos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesEste método se basa en buscar el elemento menor el vector y colocarlo en la primera
Lectura ORDENACIÓN DE ARREGLOS Con frecuencia se requiere clasificar u ordenar los elementos de un vector (arreglo unidimensional) en algún orden en particular. Por ejemplo, ordenar un conjunto de números
Más detalleshttps://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf
1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para
Más detallesProgramación en java. Estructuras algorítmicas
Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica
Más detallesOpuesto de un número +3 + (-3) = (+5) = 0. N = 0,1, 2,3,4, Conjunto de los números naturales
Números enteros Opuesto de un número Los números enteros son una extensión de los números naturales, de tal forma, que los números enteros tienen signo positivo (+) ó negativo (-). Los números positivos
Más detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detalles#include <stdio.h> /* Factorial de un número - versión 1- */
Ejemplo 1: Programa que calcula el factorial de 'n' números introducidos desde teclado. Primera versión: /* Factorial de un número - versión 1- */ long int factorial (int x) /*definición de función*/ int
Más detallesLaboratorio de Arquitectura de Redes. Punteros en lenguaje C
Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones
Más detallesJava para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
Más detallesRepresentación de la información
Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS
Más detalles12 símbolos (13 si se incluye el espacio en blanco)
Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección L y P ) Profesor: Jaime Soto Examen #1 - Fecha: 09-03-2012
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesFunciones Tipos de funciones y Recursividad
Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más
Más detallesMetodología y Tecnología de la Programación
Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);
Más detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Más detallesMétodos que devuelven valor Dado el siguiente triángulo rectángulo:
Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán
Más detallesEstructuras de Repetición (Repita para)
Estructuras de Repetición (Repita para) Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 REPITA PARA Fijar
Más detallesFundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Más detallesRepresentación de datos y aritmética básica en sistemas digitales
Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:
Más detallesLEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
Más detallesLenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa
Más detallesSe desea estudiar el comportamiento de una función a medida independiente x se aproxima a un valor específico.
Tema: Límites de las funciones Objetivos: Comprender el concepto de límite de una función y las propiedades de los límites. Calcular el límite de una función algebraica utilizando las propiedades de los
Más detallesDescripción y Contenido del Curso. Programación C++ Capacity Academy.
Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo
Más detallesINTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Más detallesInstituto Tecnológico de Celaya
CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)
Más detallesAlgoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison
Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo
Más detallesLA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Más detallesEstructuras de Repetición (Hacer-Mientras)
Estructuras de Repetición (Hacer-Mientras) Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería
Más detalles5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
Más detallesTema 7. Generación de código
Departamento de Tecnologías de la Información Tema 7 Generación de código Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Visión general 7.2 Código de tres direcciones 2 Índice 7.1 Visión
Más detallesPráctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:
Práctica 4 Organización del Computador 1 12 de septiembre de 2005 Algunas consideraciones preliminares: Donde aparece xxxxxxxx quiere decir que el valor correcto ya está en esa dirección de memoria Todos
Más detallesESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN TEMA 3. Aritmética y codificación 3.1 Aritmética binaria 3.2 Formatos de los números y su representación 3.3 Definiciones
Más detallesSolución - práctico 10
Solución - práctico 10 Complejidad Ejercicio 1 a) Una implementación del algoritmo es la siguiente: /* Procedimiento que se encarga de realizar la unión de los dos conjuntos * ordenados der1 e izq1 son
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesProblema - Sumando Digitos
Primera Olimpiada de Informática Problema - Sumando Digitos Comenzando con un entero entre 00 y 99 inclusive, escritos como dos dígitos (use un cero a la izquierda en caso de que el numero sea menor que
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detallesUn identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /
undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No
Más detallesProgramación En Lenguaje C
Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un
Más detallesCurso de Programación en C. Licenciatura, FCQeI. APUNTADORES.
APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación
Más detallesTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Más detalleswww.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
Más detallesFundamentos de programación JAVA
Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:
Más detallesPráctica 3: Vectores y matrices en C.
Práctica 3: Vectores y matrices en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos de algoritmia (bucles y bifurcaciones) empleando vectores y matrices.
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras
Más detallesMÓDULO 8: VECTORES. Física
MÓDULO 8: VECTORES Física Magnitud vectorial. Elementos. Producto de un vector por un escalar. Operaciones vectoriales. Vector unitario. Suma de vectores por el método de componentes rectangulares. UTN
Más detallesAUTOEVALUACIÓN PROBLEMAS CON ECUACIONES DE SEGUNDO GRADO. OPCIONES DE PROBLEMA
AUTOEVALUACIÓN PROBLEMAS CON ECUACIONES DE SEGUNDO GRADO. OPCIONES DE PROBLEMA ORIENTACIONES RESPUESTA 1 5,6,7 ó -5,-6,-7 trabajo. Excelente. Buen 1. Hallar tres números enteros consecutivos sabiendo que
Más detallesCurso de Programación Avanzada en C
Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados
Más detallesTema 7 Vectores y cadenas de caracteres. Fundamentos de Informática
Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices
Más detallesAritmética de Enteros
Aritmética de Enteros La aritmética de los computadores difiere de la aritmética usada por nosotros. La diferencia más importante es que los computadores realizan operaciones con números cuya precisión
Más detallesPráctica 1. Introducción a la programación en ensamblador
Práctica 1 Introducción a la programación en ensamblador 1. Generalidades 2. Introducción 3. Cuestiones 1. Generalidades El desarrollo de las prácticas consistirá en una breve introducción del tema por
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Más detallesPreparación para Álgebra 1 de Escuela Superior
Preparación para Álgebra 1 de Escuela Superior Este curso cubre los conceptos mostrados a continuación. El estudiante navega por trayectos de aprendizaje basados en su nivel de preparación. Usuarios institucionales
Más detallesDescripciones de los niveles de logro modificados (ALD, siglas en inglés) de la prueba de evaluación MCA en matemáticas Grados 5 a 8
Descripciones de los niveles de logro modificados (ALD, siglas en inglés) de la prueba de evaluación MCA en matemáticas Grados 5 a 8 Grado 5 No cumple los estándares de logro modificados (Grado 5) Los
Más detallesUnidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas
Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar
Más detalles7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.
86 Capítulo 7. ORDENAMIENTO. 7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico. Si los elementos a ordenar son compuestos
Más detallesEQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO
EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO TIPOS DE DATOS BÁSICOS: Tipo Tipo Tamaño aproximado en bits Rango mínimo Carácter char 8 0 a 55 Entero int 16-3767 a 3767 Real float 3
Más detallesIdentificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Más detalles