Primer Parcial Arquitectura 2012 02

4
UNIVERSIDAD NACIONAL DE COLOMBIA – SEDE MEDELLÍN FACULTAD DE MINAS ESCUELA DE MECATRÓNICA Asignatura: ARQUITECTURA DE COMPUTADORES Grupo: 01 Nota: Examen: PRIMER PARCIAL Valor: 25% Nombre del estudiante: Documento: Nombre del docente HUGO DE JESÚS MESA YEPES Fecha: Octubre 25 de 2012 Dados los siguientes programas en lenguaje C. transformarlo a lenguaje ensamblador. No es indispensable tener en cuenta los aspectos de presentación de los datos. 1. (25%) #include <stdio.h> void main(void){ int n, i = 1, m; float fact, suma = 0; printf("Ingrese el valor de n: "); scanf("%d",&n); do { fact = 1; m = i; while(m > 1){ fact *= m; m--; } suma+=fact; printf("\t %d! = %0.f \n",i,fact); i++; }while(i <= n); printf("\n\tsuma = %0.f\n\n",suma); } 2. (25%) #include <stdio.h> #define SIZE 3 void main(void) { double matriz[SIZE][SIZE]; double vector[SIZE]; double solucion[SIZE]; double sum; int i,j; printf("Introduce los datos de la matriz:\n"); for(i=0; i<SIZE ; i++) { for(j=0; j<SIZE; j++) { printf("\nElemento (%d,%d): ", (i+1), (j+1)); scanf(" %lf", &matriz[i][j]); } } printf("\n\nIntroduce los datos del vector:\n"); for(i=0; i<SIZE ; i++) { printf("\nElemento %d: ", (i+1)); scanf("%lf", &vector[i]); } for(i=0; i<SIZE; i++) { sum=0; for(j=0; j<SIZE; j++) { sum+=matriz[i][j]*vector[j]; } solucion[i]=sum; } printf("\nEl vector solucion es:\n"); for(i=0; i<SIZE; i++) { printf("Elemento %d = %lf\n", i+1, solucion[i]); } } 3. Transformar el siguiente pseudocódigo a un programa en lenguaje ensamblador (25%) Pseudocódigo Inicio Haga c_num,c_div, num=0, c_mod=0, c_npr=0 ,c_pr=0 Para (c_num=0,c_num<=5,c_num++) Mostrar “Digite numero” Capturar num Para (c_div=1,c_div<=num,c_div++) si ((num mod c_div)=0) entonces Haga c_mod=c_mod+1 Fin si Fin Para si ((num mod c_div)=0) entonces Haga c_pr=c_pr+1 Si no Haga c_npr=c_npr+1 Fin si Fin Para Mostrar “Cantidad de primos es: ”,c_pr Mostrar “Cantidad de no primos es: ”, c_npr Fin 4. Elaborar el pseudocódigo del siguiente programa dado en lenguaje ensamblador (25%) TITLE XXXXXX INCLUDE Irvine32.inc .data intArray SWORD 0,0,0,0,1,20,35,-12,66,4,0 ;intArray SWORD 1,0,0,0 ;intArray SWORD 0,0,0,0 ;intArray SWORD 0,0,0,1 noneMsg BYTE "A non-zero value was not found",0 .code main PROC mov ebx,OFFSET intArray mov ecx,LENGTHOF intArray L1: cmp WORD PTR [ebx],0 jnz found add ebx,2 loop L1 jmp notFound found:

description

Quiz de la asignatura Arquitectura de Computadores. La arquitectura de computadores, es la materia que enseña como funciona internamente el computador.

Transcript of Primer Parcial Arquitectura 2012 02

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLNFACULTAD DE MINASESCUELA DE MECATRNICA

Asignatura:ARQUITECTURA DE COMPUTADORESGrupo:01Nota:

Examen:PRIMER PARCIALValor:25%

Nombre del estudiante:Documento:

Nombre del docenteHUGO DE JESS MESA YEPESFecha: Octubre 25 de 2012

Dados los siguientes programas en lenguaje C. transformarlo a lenguaje ensamblador. No es indispensable tener en cuenta los aspectos de presentacin de los datos.1. (25%)

#include void main(void){int n, i = 1, m;float fact, suma = 0;printf("Ingrese el valor de n: ");scanf("%d",&n);do {fact = 1;m = i;while(m > 1){fact *= m;m--;}suma+=fact;printf("\t %d! = %0.f \n",i,fact);i++;}while(i