October 14, 2004
Задачи 1: Скаларни данни
Това са задачки към лекциите за скаларни данни (лекции 1 и 2). Вижте дали можете да измислите нещо по тях; това ще правим на упражнението в понеделник, 18 октомври. Ако четете това на главната страница на сайта, изберете "Още от...", за да видите пълния текст на задачите.
Обновено: 14 октомври, 20:20 - уточнения по първа и четвърта задачки.
В задачите, където е дадено началото на програмата и там са дефинирани променливи и са им дадени стойности, целта е да допишете програмата така, че тя да работи правилно дори и след като променим тези стойности - решения като безусловно извеждане на 1, 1, 2, 3 за първата задача не се приемат :)
Зад. 1 - Фибоначи
#!/usr/bin/perl -w $n1 = 1; $n2 = 1;
Това е началото на програма на Perl. $n1 и $n2 са първите две числа в редица от типа на тази на Фибоначи - всеки член от третия нататък е сумата от предходните два. Допишете я така, че да изчислява следващите две и да извежда четирите на стандартния изход.
Зад. 2 - Телефонни номера
#!/usr/bin/perl -w $num1='+359888123456'; $num2='+359887192919'; $num3='+359886112233'; $num4='+359889112255';
Четирите низа съдържат телефонни номера в опростения международен формат, без скоби, тирета, интервали и т.н. Допишете програмата така, че да извежда четирите номера в формат "Код: CC Номер: XXX-XXXX", където CC е двуцифреният код на оператора, а XXX-XXXX - седемцифреният номер.
Зад. 3 - Още телефонни номера
Променете програмата от зад. 2 така, че да може един или повече от номерата да са зададени в още по-съкратения формат '0887112233'. Да, това наистина може да бъде направено без използване на условни оператори (if, unless, while и т.н.), по поне два различни начина - един е достатъчен :)
Зад. 4 - Хазарт ;)
Използвайки функцията rand(), напишете програма, която симулира хвърляне на два шестстенни зара и извежда на стандартния изход:
- получените числа;
- сумата им;
- получените числа, повдигнати на втора степен.