Примерни задачи за изпит
Тема 1
Зад. 1. Да се напише:
а) булев израз, който да има стойност истина тогава и само тогава, когато: предпоследната цифра на дадено естествено число a е 0 или числото a не се дели на последната му цифра;
б) булев израз, който да има стойност истина тогава и само тогава, когато: дадена точка с координати (x,y) принадлежи на оцветената област:
в) програма, която пресмята следния израз по дадени две цели числа a и b, без да използва стандартните функции за модул и максимум: $$\sum_{i=a, i = i+2}^b | \max((i + 4.1)^2, \sqrt{|i|}) |$$
Зад. 2.
а) Да се напише програма, която в дадена правоъгълна целочислена матрица a проверява дали съществува ред, в който за всички елементи е изпълнено aij=i*j.
б) Да се напише функция, която по даден масив от дробни числа намира индекса на последния негов елемент, който е равен на средното аритметично от неговите съседни елементи (крайните елементи имат само по един съседен). Ако такъв елемент не съществува, да се връща -1.
Зад. 3. Да се напише функция, която замества всички срещания на даден низ what в даден друг низ where с толкова на брой символи „*“, колкото е дължината на what. Функцията да връща указател към последния заместен символ в where или NULL, ако няма такъв, както и броя на срещанията на what в where, които са заместени със звездички.
Зад. 4. Да се напише програма, която проверява дали в даден лабиринт между дадена начална и крайна точка съществува път с четна дължина (минава през четен брой клетки). За целта да се дефинира подходяща рекурсивна функция.
Тема 2
Зад. 1. Да се напише:
а) булев израз, който да има стойност истина тогава и само тогава, когато: предпоследната цифра на дадено естествено число a е различна от 0 и числото a се дели на предпоследната си цифра;
б) булев израз, който да има стойност истина тогава и само тогава, когато: дадена точка с координати (x,y) принадлежи на оцветената област:
в) програма, която пресмята следния израз по дадени две цели числа a и b, без да използва стандартните функции за модул и минимум:
$$\sum_{i=a, i = i+2}^b | \min(i + 0.5, \sqrt{i^2+1}) |$$
Зад. 2.
а) Да се напише програма, която в дадена правоъгълна целочислена матрица a проверява дали съществува стълб, в който всеки елемент е равен на сумата от индексите си (aij=i+j).
б) Да се напише функция, която по даден масив от дробни числа намира броя на неговите елементи, които са равни на средното аритметично на неговите съседни елементи (крайните елементи имат само по един съседен).
Зад. 3. Да се напише функция, която изтрива всички срещания на даден низ what в даден друг низ where. Функцията да връща указател към позицията на първия изтрит подниз в where или NULL, ако не е изтрит нито един подниз, както и броя на срещанията на what в where, които са изтрити.
Пример: where=“aa bb aac ac“, what=“aa“, след изпълнението where=“** bb **c ac“
Зад. 4. Да се напише програма, която проверява дали в даден лабиринт между дадена начална и крайна точка съществува път с нечетна дължина (минава през нечетен брой клетки). За целта да се дефинира подходяща рекурсивна функция.