double arrow
Листинг программ

Приложение Б

Листинг программ

Приложение А

Список литературы

Описание результатов

Результатом курсового проекта являются скриншоты работы программ:

Задача №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.






Сейчас читают про: