CEVA DSP – QA ומולטימדיה

מאת JobHunt

1. נתונה מערכת מולטימדיה שמקבלת שני פרמטרים: א. קבצי אודיו ב. קבצי וידאו.
המערכת מקבלת אך ורק את הפורמטים הנתונים ויכולה לשלב בין שניים (אחד מכל סוג)
למערכת גם מקשי PLAY,REWIND,STOP,SEEK.
תכנן בדיקות למערכת.

לבדיקת התאמה

פתרון
לנסות ולבנות פתרון שמפורק לראשי פרקים: שלב קבלת הפרמטרים, שלב בדיקה, שלב פלט.
לפרק את הבדיקות בין וידאו לאודיו.
לצורך בדיקת תקינות מלאה, לקחת מערכת שאנחנו יודעים שעובדת ולהשוות מולה את הבדיקה שלנו מבחינת איכותה.

2. שאלת תכנות בשפת C, שכללה ידע בביטים (פעולות MSAKING, OR, AND).
מתכנת שיכור רשם את התוכנית הזאת, עליך להבין מה היא עושה, ואיפה המתכנת טעה.
עליך לכתוב מחדש את הפונקציה.
bool func(int *data, int size, int value)
{
int arr[32];
short index;

for(index = 0; index < size; index++)
arr[index] = data[index];
for(index = 0; index < size; index++)
arr[index] = arr[index] & vlaue;
data = &arr[0];
}

לבדיקת התאמה

פתרון:
הפונקציה לוקחת כל תו במערך ומבצעת עליו MSAKING בעזרת המשתנה value.
א. short בעייתי.
ב. גלישת זיכרון (מכוון שההקצאה היא רק ל-32 מקומות ועלולים להיות יותר)
ג. הקצאת המערך בתוך הפונקציה לא תקינה כי מערך סטטי מת בסוף הפונקציה ולכן ההשמה בשורה האחרונה היא בעייתית.
ד. ניתן, וצריך לשכתב על המערך הנתון את הפתרון.