میانترم برنامه نویسی C،فردوسی مشهد،طارقیان 21/9/1379
به نام خدا
اللهم صل علی محمد و آل محمد
نام آزمون : میانترم برنامه نویسی پیشرفته
نام استاد : دکتر طارقیان
تاريخ برگزاري : 21/9/1379
دانشگاه : فردوسی مشهد
دانشكده : علوم ریاضی
رشته : ریاضی کاربردی
1. برنامه ای بنویسید تا یک عدد چهار رقمی را بخواند. سپس با تفکیک ارقام آن و مربع کردن هر رقم و جمع بستن مربع ارقام، عدد جدیدی به دست آورد. برنامه باید عدد جدید را به عنوان عدد خوانده شده تلقی کرده و فرایند فوق ( تفکیک ارقام... ) را آنقدر ادامه دهد تا عدد جدید به دست آمده برابر 1 باشد و یا عدد 20 برای دومین بار حاصل شود.
2. با استفاده از اشاره گرها برنامه ای بنویسید تا معدل n دانشجو را بخواند و در خروجی دو معدلی را که اختلاف آن ها کمترین است، چاپ نماید.
3. با تعریف دستورات و اجرای برنامه ی زیر به ازای ورودی های یک رقمی، منظور آن را مشخص کنید:
#include
Void mail ( void )
{
Unsigned short w,n;
scanf ("%hu" , &w);
n = w << ( sizeof ( short)*8 -1);
w >>= 1;
w |= n;
printf("\n%hu", w);
}
4. با توجه به دستورات اعلان داده شده، پس از بررسی صحت دستورات چاپ، خروجی های زیر را تعیین کنید :
char *list[]={"Ali","Ahmad","Alireza"," Jalal ","Mohammad"};
prinf("%s",list[2]);
prinf("%c",*list[2]);
prinf("%c",*list[2]+5);
prinf("%c",*(list[2]+5));
توجه: در مسائل فوق، متغیر های char 1 بایتی و short 2 بایتی بوده و کمیت های منفی به روش متمم 2 محاسبه می شوند.