Приложение Б
Листинг программ
Приложение А
Список литературы
Описание результатов
Результатом курсового проекта являются скриншоты работы программ:
Задача №1
Построить вертикальную гистограмму функции Y=420 div X+X2 в диапазоне X=1…55.
Рисунок 9 – вертикальная гистограмма.
Задача №2
Для заданного клеточнго поля найти все размещения наименьего числа ферзей таким образом, чтобы они били все его свободные поля.
Рисунок 10 – Клеточное поле (Массив).
Программа выводит клеточное поле, с показанной на нем расстановкой ферзей. Где 0 – пустое поле, 1 – ферзь.
Заключение
Вместе с развитием вычислительных систем, стремительно развиваются и другие отрасли цифрового мира. С каждым днем цифровые технологии все больше входят в нашу жизнь. И уже сложно представить себе окружающий мир без различных цифровых устройств, которые с каждой секундой появляются все новые и новые, и становятся все интеллектуальнее и интеллектуальнее.
Цель данной курсовой была достигнута. Рассмотренны теоретические вопросы:
- Краткая история World Wide Web7
- Язык HTML. Построение Web–документов
- Создание списков
- Ссылки
- Другие элементы языка HTML
- Альтернативные средства составления Web–документов
В работе реализованы задачи на языке Turbo Pascal, такие как: построение вертикальных гистограмм, нахождение размещения наименьего числа ферзей на клеточном поле, заданное массивом.
В ходе работы над курсовой работой была изучена научная и учебная литература по теме «Информатика и программирование» и изучены материалы Интернет – ресурсов.
1. Кловский Д.Д. Теория передачи сигналов.- М.,“Связь”,1973.
2. Ткаченко А.П. Бытовая радиоэлектронная техника. Энциклопедический справочник. – Мн.: БелЭн, 1995.
3. Шинаков Ю.С. Теория передачи сигналов в электросвязи. – М.: Радио и связь. 1989.
4. Галкин, В. А. Телекоммуникации и сети [Текст]: учеб. пособие для студентов вузов по специальности «Автоматизированные системы обработки информации и управления» направления подготовки дипломированных специалистов «Информатика и вычислительная техника» / Под ред. В. А. Галкина, Ю. А. Григорьева. - М.: МГТУ им. Н.Э. Баумана, 2006.
5. Вирт Н., Алгоритмы + Структуры данных = программы Паскаль/ Пер. с англ. C.П. Забродина, А.В. Шалашова. М.: Мир, 1985.
6. Зуев Е.А., Язык программирования Turbo Pascal 7.0, М.: Унитех, 1997.
(обязательное)
program vertical_histogram;
uses graph;
const
SIZE = 55;
type
ArrType= array[1..SIZE] of integer; var
arr: ArrType;
xx: integer;
procedure Draw(y1: Integer);
var gd, gm: integer;
x, y: Integer;
begin
gd:=detect;
initgraph(gd, gm, '');
SetColor(5);
y:=100;
for x:=2 to SIZE do
begin
Line(arr[x-1], y, arr[x], y+y1);
y:=y+y1;
end;
end;
begin
for xx:= 1 to SIZE do
begin
arr[xx]:= 420 div (xx+(xx*xx));
end;
Draw(15);
writeln;
ReadLn;
end.
(обязательное)
program ferz;
{uses
SysUtils;}
type desk = array [1..8,1..8] of 0..2;
{0-пусто; 1-поле которое бьёт ферзь; 2-ферзь}
var
cur_desk: desk;
now_f: byte;
count: byte;
variants: word;
fi,fj: array[1..5] of byte;
i,j: byte;
ferzes: desk;
procedure st(ki,kj:byte);
var i:integer;
begin
for i:=1 to 8 do
begin
if cur_desk[ki,i] <> 2 then
cur_desk[ki,i]:= 1;
if cur_desk[i,kj] <> 2 then
cur_desk[i,kj]:= 1;
end
end;
procedure diag(ki,kj:byte);
var i,j:integer;
begin
for i:=1 to 8 do
for j:=1 to 8 do
begin
if abs(i-ki)=abs(j-kj) then
if cur_desk[i,j]<>2 then cur_desk[i,j]:=1;
end
end;
function filled: boolean;
var
i, j: integer;
fl: boolean;
begin
fl:=true;
for i:=1 to 8 do
for j:=1 to 8 do
if cur_desk[i,j] = 0 then fl:= false;
filled:= fl
end;
procedure print_ar;
var
i,j:integer;
begin
for i:=1 to 8 do
begin
for j:=1 to 8 do
write(ferzes[i,j],' ');
writeln
end;
readln
end;
procedure put(after_i,after_j:byte);
var
old_desk: desk;
i,j: integer;
tempk: byte;
begin
old_desk:= cur_desk;
for i:=after_i to 8 do
begin
if i=after_i then tempk:=after_j
else tempk:=1;
for j:=tempk to 8 do
begin
if cur_desk[i,j] = 0 then
begin
inc(now_f);
inc(count);
fi[now_f]:=i;
fj[now_f]:=j;
cur_desk[fi[now_f],fj[now_f]]:=2;
st(fi[now_f],fj[now_f]);
diag(fi[now_f],fj[now_f]);
if count <> 5 then
begin
put(i,j);
cur_desk:= old_desk;
fi[now_f]:=0;
fj[now_f]:=0;
dec(count);
dec(now_f)
end
else
begin
fillchar(ferzes,sizeof(ferzes),0);
ferzes[fi[1],fj[1]]:= 1;
ferzes[fi[2],fj[2]]:= 1;
ferzes[fi[3],fj[3]]:= 1;
ferzes[fi[4],fj[4]]:= 1;
ferzes[fi[5],fj[5]]:= 1;
fi[now_f]:=0;
fj[now_f]:=0;
dec(count);
dec(now_f);
if filled then
begin
inc(variants);
print_ar;
cur_desk:=old_desk;
end
else
begin
cur_desk:=old_desk;
end
end
end
end
end
end;
begin
for i:=1 to 8 do
for j:=1 to 8 do
begin
count:= 0;
now_f:= 0;
fillchar(cur_desk,sizeof(cur_desk),0);
fi[1]:=i;
fj[1]:=j;
cur_desk[fi[1],fj[1]]:=2;
st(fi[1],fj[1]);
diag(fi[1],fj[1]);
inc(count);
inc(now_f);
put(i,j);
end;
write('Число вариантов: ');
writeln(variants);
readln
end.