1 of 10

Качествен код

Конвенции в С

2 of 10

Административно

  • Домашни - няма
    • Отново ще имате задачи за упражнение вкъщи, но ние няма да ги оценяваме и няма да се взимат предвид при оформянето на оценката
  • Изпитвания - по 1 на месец
    • Всяка 4-та седмица ще има ГОЛЯМО контролно
  • Стари презентации

3 of 10

Що е то конвенция

  • Два основни вида
    • Community-based правила (за опън сорс)
    • Company guidelines (правила в рамките на фирмата)
  • Правила свързани с
    • Наименоване
    • Идентация
    • Позиция на скоби (вечният въпрос)
    • Други...

4 of 10

Защо?

5 of 10

Ко речи?

6 of 10

Self-documented code

Примери

7 of 10

Задачи(1)

Да се напише програма на C, която прочита число n, след което прочита n числа и накрая прочита последно число x. Да се дефинира функция int last_index_of(int haystack[100], int needle, int n), която получава прочетените числа и елемента който се търси и връща последния индекс на който се среща или -1, ако числото не бъде намерено.

8 of 10

Задачи(2)

Да се напише програма на C, която събира две много големи числа. Числата да се прочетат от стандартния вход във вид на текст и да се направи функция void print_big_num_sum(char first[50], char second[50]), която принтира сумата на двете числа.

9 of 10

Задачи(3)

Да се напише програма на C, която прочита от стандартния вход цял ред. Дефинирайте функцията int has_all_letters_once(char line[256]), която връща дали прочетеният ред съдържа всички букви от английската азбука само по веднъж, като считате ‘A’ и ‘a’ за буквата ‘a’. Изведете резултата от извикването на функцията в main-а.

10 of 10

Задачи(4)

Да се напише програма на C, която прочита от стандартния вход цял ред. Дефинирайте функцията void print_unique_letters(char line[256]), която принтира стрингът line, като маха всички повторни срещания на отделните букви, т.е. оставя само първото срещане. Буквите ‘A’ и ‘a’ се считат за една и съща. Извикайте функцията в main-а.

Пример:

The quick brown fox jumps over the lazy dog

The quick brown fx jmps v lazy dg