Курсовая по информатике icon

Курсовая по информатике



НазваниеКурсовая по информатике
Дата конвертации31.07.2012
Размер29.48 Kb.
ТипКурсовая
Курсовая по информатике


Министерство путей сообщения Российской Федерации Дальневосточный государственный университет путей сообщения Кафедра ”Информационные технологии и системы ” Курсовая работа по информатике Вариант № 9 Выполнил: ст. 419г. Киршев И. Ф. Проверил: Березнев Д. П. 1998Составить программу определения минимального числа цветов, необходимых дляраскраски карты произвольной конфигурации таким образом, чтобы страны содинаковой раскраской не соприкасались. Схему границ карты представитьмассивом. На внешних файлах расположить 3 - 4 схемы расположениястран. Итоги представить в виде текста с указанием выбранных длякаждой из стран цветов. Желательно завершить программу графическимприложением. Переменные: "num" - номер файла, выбираемый пользователем. "filen" - имя файла. "g[1..100] - массив, используемый "генератором перебора всех вариантов" "s:array[i,j]" - массив "связей" показывает, есть ли связь междустранами "i" и "j". "n" - количество цветов, используемых для раскраски."max - максимально возможное количество стран (определяется присчитывании данных). "s1,s2,k,j,i,a" - переменные, для работы "генератора". "f, f1" - переменные для работы с файлами. "function get:integer;" Функция считывает текущее число, из файла связанного с переменной -"f" и ищет максимальное число из всех считанных. Пока строка = '' или символ является: - цифрой, - "-", - "." считывает символ. Если символ является: - цифрой, - "-", - ".",то он добавляется в строку "s". Строка цифр "s" преобразуется в число. Если "max" меньше числа, то"max" приравнивается считанному числу. "function pr:boolean;" Функция проверяет, можно ли страну - i закрасить цветом - g[i](Можно ли углубляться по дереву). Перебирает все раскрашенные страны (от "1" до "i-1") и сравнивает цветакаждой из них с цветом страны "i". "function gen(n:integer):boolean;" Функция, определяющая возможность раскраски стран "n"-ым кол-вомцветов. Каждому элементу массива "g" присваивает значение равное "0". Текущемуномеру рассматриваемой страны "i" задает значение "1". Повторяет действия: Повторяет действие: К номеру цвета рассматриваемой страны прибавить "1" ("g[i]:=g[i]+1;"),пока нельзя страну "i" раскрасить в цвет "g[i]" или цвет "i"-ой страны небольше числа "n". Если цвет "i"-ой страны больше числа "n" то: номеру цвета рассматриваемой страны приравнивает "0" и понижает номер рассматриваемой страны на "1". Иначе повышает номер рассматриваемой страны на "1", пока номеррассматриваемой страны не равен "1" или номер рассматриваемой страны небольше количества стран. Значение функции равно "True", если номер рассматриваемой страныбольше количества стран. Основная программа: Вывод сообщений пользователю (см. рабочую программу) Запрос номера файла ("num"). Выполняются действия в переменную "num" запрашивается символ нажатойклавиши, если нажата клавиша не от 1 до 3 то выводится сообщение об ошибкепока не нажата клавиша от 1 до 3. Формируется имя исходного файла filen:='input'+num+'.txt' . Сообщение пользователю о выбранном файле. Считывание данных Открывается файл "filen" для считывания данных. "max:=0". Каждой ячейке массива связей присваивается “ложь” Пока файл не кончился считываются пара стран, в массив связей синдексами: [страна с меньшим номером, с большим] присваивается значениеистина. Закрывается файл "filen". Блок, определяющий минимальное количество цветов.Начальное количество цветов = 1. Повторять действия: Повысить количество цветов на единицу. Пока не возможна раскраска всех стран данным количеством цветов. Запись данных. Создать файл "Output.txt". Считать в него количество цветов. Считатьв него список раскраски стран. Закрыть файл. Текст программыprogram mag; uses crt; var num:char; filen:string; g:array [1..100]of integer; s:array[1..100,1..100]of boolean; max,s1,s2,j,n,i,a:integer; f:file of char; f1:text; Функция считывает текущее число, из файла связанного с пеpеменной - f. function get:integer; var k,c:integer; s:string; ch:char; begin s:=''; k:=50; while ((s='')or(k=43)or(k=45)or((k>47)and(k<58)))and(not eof(f)) do begin read(f,ch); k:=ord(ch); if (k=43)or(k=45)or((k>47)and(k<58)) then s:=s+ch; end; val(s,c,k); if max< c then max:=c; get:=c; end; Функция проверяет, можно ли страну - i закрасить цветом - g[i]. function pr:boolean; var j:integer; begin pr:=true; if i>1 then for j:=1 to i-1 do if s[j,i] then if g[i]=g[j] then pr:=false; end; function gen(n:integer):boolean; begin for j:=1 to max do g[j]:=0; i:=1; repeat repeat g[i]:=g[i]+1; until pr or (g[i]>n); if (g[i]>n) then begin g[i]:=0; i:=i-1; end else i:=i+1; until (i=1)or(i>max); gen:=i>max; end;begin clrscr; writeln(' Haжмите цифру, указывающую номер файла'); writeln(' с которого будут счтываться данные. '); writeln(''); for i:=1 to 3 do writeln(' ',i,' - файл input',i,'.txt'); Запpос номеpа файла. repeat num:=readkey; if not((num='1')or(num='2')or(num='3')) then writeln(' Вы в чем-то ошиблись'); until (num='1')or(num='2')or(num='3'); filen:='input'+num+'.txt'; writeln(''); writeln(' Выбран файл - ',filen); writeln(''); Считывание данных Assign(f,filen); Reset(f); max:=0; for s1:=1 to 100 do for s2:=1 to 100 do s[s1,s2]:=false; while not eof(f) do begin s1:=get; s2:=get; if s1>s2 then s[s2,s1]:=true else s[s1,s2]:=true; end; Close(f); n:=1; repeat n:=n+1; until gen(n); Вывод данных в файл - 'output.txt'. Assign(f1,'output.txt'); Rewrite(f1); writeln(f1,' Число стран = ',max); writeln(f1,''); writeln(f1,'N cтран = ',n); for j:=1 to max do writeln(f1,'cтрана - ',j,', цвет - ',g[j],' '); Close(f1); end. Koнец. Данные из Input1.txt: 1 2 1 7 2 7 2 3 2 8 3 4 3 9 3 8 4 9 4 5 5 6 5 9 5 13 6 13 6 14 6 15 7 8 7 11 8 9 8 10 8 11 9 10 9 12 9 13 10 11 10 12 10 14 11 15 12 14 13 14 14 15 Результат в output.txt: Число стран = 15 N стран = 4 страна - 1, цвет - 1 страна - 2, цвет - 2 страна - 3, цвет - 1 страна - 4, цвет - 2 страна - 5, цвет - 1 страна - 6, цвет - 2 страна - 7, цвет - 3 страна - 8, цвет - 4 страна - 9, цвет - 3 страна - 10, цвет - 1 страна - 11, цвет - 2 страна - 12, цвет - 2 страна - 13, цвет - 4 страна - 14, цвет - 3 страна - 15, цвет - 1




Похожие:

Курсовая по информатике iconКурсовая по информатике

Курсовая по информатике iconКурсовая работа по информатике

Курсовая по информатике iconРабочая программа по информатике и икт в 7 классе на 2011-2012 учебный год в мбоу грушевской оош учитель Киреева Т. А
«Народное образование» №9 2006г, федерального компонента государственного стандарта по информатике и икт ( сборника нормативных документов...
Курсовая по информатике iconРабочая программа по информатике и икт 10 класс(2 часа/нед) 68 часов
Икт (базовый уровень) от 05. 03. 2004 №108) и Примерной программы среднего полного общего образования (базовый уровень) по «Информатике...
Курсовая по информатике iconПрограмма по информатике и информационно коммуникационным технологиям 10 11 класс базовый уровень
Икт (базовый уровень) от 05. 03. 2004 №108) и Примерной программы среднего полного общего образования (базовый уровень) по «Информатике...
Курсовая по информатике iconТребования к содержанию и оформлению курсовых работ по информатике и мпи
Содержание каждой курсовой работы определяется самой темой, ее спецификой. Курсовая работа строится по плану (см. Приложение 2)
Курсовая по информатике iconВсероссийская олимпиада школьников красноярского края по информатике 2009-2010 учебный год
Всероссийской олимпиады школьников Красноярского края по информатике и направлены в помощь муниципальным комиссиям при подготовке...
Курсовая по информатике iconРабочая программа по информатике и икт составлена на основе примерной программы основного общего образования по информатике и информационным технологиям. (9 класс), авторы И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова

Курсовая по информатике iconПояснительная записка 2 Структура программы 7 Учебно-тематический план 8 Календарно-тематическое планирование 9 Список литературы для учителя 16 Список литературы для учащихся 17 Приложение 18 Приложение 22
Подготовка к егэ по информатике стала актуальной с введением экзамена по информатике по выбору при окончании средней школы и введением...
Курсовая по информатике iconПросим вас при проведении I (школьного) этапа всероссийской олимпиады школьников (далее – Олимпиада) по информатике обратить внимание на рекомендации предметно-методической комиссии регионального этапа Олимпиады по информатике (приложение)
О проведении школьного этапа всероссийской олимпиады школьников по информатике в 2010-2011 учебном году
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы