Правильный перенос: програм-мный. Одно из основных правил переноса: разбиваются переносом удвоенные согласные, входящие в корень или образующие стык корня и суффикса. Другие допустимые переносы: прог-раммный, про-граммный. Слово программа может быть перенесено такими способами: про-грамма, прог-рамма, програм-ма.
Если принять во внимание, что отрывать при переносе последнюю букву корня нежелательно, то переноса этого слова следует избегать.
Да, можно. Но лучше: каран-даш.
Хотя слово гастарбайтер пришло из немецкого языка, где раскладывается на Gast 'гость' и Arbeiter 'рабочий', к нему вряд ли можно применить правило о переносе сложных слов «по частям»: в русском языке в слове гастарбайтер части гаст и арбайтер не выделяются. Поэтому руководствуемся основным правилом: нельзя отрывать согласную от следующей за ней гласной. Возможные переносы: гас-тарбайтер, гастар-байтер.
Такой вариант переноса возможен.
Если аббревиатура слоговая (ее можно разбить на слоги, как обычное слово) и пишется строчными буквами, то перенос возможен: зав-хоз, прод-маг. Не подлежат переносу аббревиатуры, пишущиеся полностью или частично прописными (большими) буквами.
Возможны такие варианты переноса: от-чиз-на; оте-че-ство.