AMI Placement Paper
AMI Placement Paper
AMI Paper Whole Testpaper Kolkatha -
24 February 2004
AMERICAN MEGATRENDS Inc.(AMI) BIOS- 24th FEB 2004 (KOLKATHA)
Logical Reasoning:
1. 3 types of
chickens: Baby chickens cost 5 cents, hen
chickens cost 3 dollares, rooster
chickens cost 5 dollars. Buy 100 chickens for 100
dollars.How many will you have from each?
2. Calculate : (x-a)(x-b)(x-c)....(x-z)?
3. What is the day after 4 days after 2 days before the day
before tomorrow?
4. 2 trains each of length 1 mile enter into 2 tunnels of
lenth 1 mileand 2 miles apart. speed if trains are 5 and 10
miles/hr. Give the postion as viewed by a helicopter when
the trains meet?
5. A says I,m not guilty
B says C is not guilty
C says A is not guilty
If all above are true.(i) Can we say anyone is
guilty/innocent?
(ii)Who is most likely to be guilty?
6. 18 story building - Accountant,s office is 5 times the
lawyer,s office. Architects office 2 floors up then he is
halfway between Dentist,s & Accountant,s office. Architects
office halfway down means betweenDentist,s and Lawyer,s
office. Give the order
7. How many tennis matches are to be arranged to conduct a
tournament with 213 players?
8. In a family 7 children don,t eat spinach, 6 don,t eat
carrot, 5 don,t eat beans, 4 don,t eat spinach & carrots, 3
don,t eat carrot & beans, 2 don,t eat beans & spinach. 1
doesn,t eat all 3. Find the no. of children.
C/C++
-----
a. void main()
{
char a[6] = "INDIA";
while(*a)
{
printf("%c",*a);
a++;
}
}
1. india 2. I N D I A 3. no output 4. error 5.Null
b. protected derivation
c. int m = 10;
main()
{
int m = 20;
{int m = 30;}
printf("%d %d",m,::m);
1. 10 10 2. 10 20 3. 20 10 4. 20 30 5. 30 20 6. None
d. inline function is used to
1. reduce program size
2. reduce memory size
e. void func(float newtotal)
{ newtotal = newtotal-2;
}
main()
{
float tot = 100.34;
float sum = tot;
sum++;
func(sum);
cout< }
1. 100.34 2. 99.34 3. 101.34 4. 102.34 5. None
f. unsigned char snapnib(unsigned char misc)
{
int aloha, hamalo;
hamalo = aloha = misc;
misc = (hamalo << 4)+((aloha & 0x0f)>>4);
return(misc);
}
main()
{
int getinp;
unsig char getmisc;
scanf("%x",&getinp);
getmisc = snapnib(getinp & 0xff);
printf("%x",getmisc);
}
1. Change line 4 to misc = (hamalo >> 4)+((aloha & oxof)<<4);
2. remove the 5
3. Change line 4 to misc = (hamalo >> 4)+((aloha & oxfo)<<4);
4. Change line 11 to getmisc = snapnib(getinp);
5. Nothing
g. main()
{
int getinp = 6;
while(--getinp)
{
printf("%d",getinp);
if(getinp++ != 3);
else
break;
if(getinp-- != 5)
continue;
else
getinp = getinp - 2;
}
1. 5421 2. 5420 3. 541 4. 6543 5. 5410
h. unsigned char inn[2] = "5";
int i,j = 0;
sscanf(inn,"%d",&i);
while(i)
{
i = i - 1;
j++;
printf("%d",++j);
}
1. 14 2. 12 3. 24 4. 35 5. none
i. char *fn(int num)
{
char a[] = "Amen";
return(&a[num]);
}
main()
{
int i;
char *prechar;
scanf("%d",&i);
(input is 12)
prechar = fn(i);
printf("%c",*prechar);
}
1. a bus
2. give string "Amen" as global
3. use return(a[num]) instead of return(&a[num])
4. give main before fn
j. unsigned char u = 32767;
unsigned char y = 32768;
u = u + y;
printf("%d",(signed char)u);
1. 65535 2. -65535 3. -1 4. 1 5. none
k. *name = "ANYTHING";
*foo = "ALRIGHT";
*name1 = "WRONG";
strcat(name,name1);
printf("%s %s \n",name,foo);
return(0);
1. ANYTHING WRONG? WRONG?
2. ANYTHING
3. ANYTHING WRONG? ALRIGHT
4. ERROR
5. NONE
Assembly
--------
i) swap 2 variables without temp variables
(use XOR, OR, AND, NOT)
|
|
|
|
|