Basic Pascal Tutorial/Chapter 3/Solution/bg
English · Français · Български · 中文(中国) · 日本語
Решения на задачите
(author: Tao Yue, state: unchanged)
Решение на задачата за числата на Фибоначи
(* Автор: Tao Yue
Дата: 19 July 1997
Описание:
Намиране на първите 10 числа на Фибоначи
Версия:
1.0 - original version
*)
program Fibonacci;
var
Fibonacci1, Fibonacci2 : integer;
temp : integer;
count : integer;
begin (* Main *)
writeln ('Първите 10 числа на Фибоначи са:');
count := 0;
Fibonacci1 := 0;
Fibonacci2 := 1;
repeat
write (Fibonacci2:7);
temp := Fibonacci2;
Fibonacci2 := Fibonacci1 + Fibonacci2;
Fibonacci1 := Temp;
count := count + 1
until count = 10;
writeln;
(* Разбира се, можете да използвате цикли FOR или WHILE
за да решите задачата. *)
end. (* Main *)Решение на задачата за степените на 2
(* Автор: Tao Yue
Дата: 13 July 2000
Описание:
Показване на всички степени на 2 по-малки от 2000, 5 на ред
Версия:
1.0 - original version
*)
program PowersofTwo;
const
numperline = 5;
maxnum = 20000;
base = 2;
var
number : longint;
linecount : integer;
begin (* Main *)
writeln ('Степени на ', base, ', 1 <= x <= ', maxnum, ':');
(* Подготовка за цикъл *)
number := 1;
linecount := 0;
(* Цикъл *)
while number <= maxnum do
begin
linecount := linecount + 1;
(* Изпиши запетайка освен ако не е
първото число на реда *)
if linecount > 1 then
write (', ');
(* Изпиши числото *)
write (number);
(* Изпиши запетайка и премини на нов ред ако е
последното число ОСВЕН ако е последното
число от редицата *)
if (linecount = numperline) and not (number * 2 > maxnum) then
begin
writeln (',');
linecount := 0
end;
(* Увеличи числото *)
number := number * base;
end; (* while *)
writeln;
(* Тази програма може да се напише и с използване на
цикъл REPEAT..UNTIL. *)
end. (* Main *)Забележете използването на три константи: основата base, броя на числата за изписване на един ред numperline и максималното число maxnum. Това позволява програмата да бъде лесно адаптирана в бъдеще.
Използването на константи вместо литерали е добър навик. Когато пишете наистина големи програми, вие можете да използвате определени числа стотици пъти. Ако ги запишете директно в кода и се наложи да ги промените, ще трябва да ги търсите едно по едно. Също така, може да се окаже, че същото число се използва и за други цели и тогава не можете просто да използвате глобално търсене и замяна (Search-and-Replace). Използването на константа опростява разширяването на програмата.
Забележете също че е използван типа longint за променливата number. Това е така защото за да се излезе от цикъла трябва израза number <= 20000 да бъде FALSE, което означава че number ще трябва да бъде 32768. Това надвишава диапазона на типа integer, който е от -32768 до 32767. Опитайте с тип integer вместо longint и вижте какво ще се получи.
From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/Solution/bg", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
