Основы информатики

Основные возможности Интернет. Основы структурного программирования. Выполнение расчетов на компьютерах. Элементы языка Пролог. Технология дистанционного обучения. Средства обработки данных. Анализ правильности алгоритмов. Элементы математической логики.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 25.11.2013
Размер файла 606,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Здесь в примерах программ решения экзаменационных задач используется самый простой и наиболее удобный для отладки программ способ организации ввода тестовых данных в виде операторов data на языке Бейсик. Однако формулировки задач приводятся так, чтобы исходные данные могли вводиться всеми тремя указанными выше способами.

Рассмотрим образцы решения экзаменационных задач с примерами составления как алгоритмов, так и сценариев диалога. Использование сценариев диалога и является тем средством, которое уравнивает все используемые на персональных ЭВМ языки программирования и позволяет экзаменующимся избегать ошибок ввода-вывода данных, характерных для профессиональных языков программирования.

Составление сценариев диалога позволяет до составления алгоритмов предусмотреть порядок ввода исходных данных и реакции программ на самые различные входные ситуации, которые будут проверяться при тестировании на ЭВМ, и тем самым защитить программу и себя от ошибок в исходных данных.

В качестве основного языка иллюстраций и примеров программ здесь и далее используется язык Basic для компьютеров IВМ PC как из-за удобств описания входных данных, так и из удобств отладки программ на Бейсике на персональных ЭВМ.

Многолетняя практика проведения экзаменов по информатике на ЭВМ показала, что отладка программ на Бейсике стабильно завершается на ЭВМ в два раза быстрее, чем на более «мощных» языках, таких как Паскаль, Си или Фортран, что весьма существенно при жестких ограничениях времени на экзаменах.

Задача 1. «Информационно-логическая».

Составить алгоритм и программу выбора самого легкого по весу ученика по данным из таблицы, содержащей сведения о фамилиях, именах, росте и весе учеников.

фамилия

имя

рост

вес

пол

Иванов

Вова

160

85

муж

Петрова

Катя

167

67

жен

Сидоров

Миша

180

80

муж

Разработку программы решения данной задачи проведем с составления сценария диалога с ЭВМ, что существенно упрощает отладку и работу с программой при решении тестовых задач.

Отметим, что при использовании языка Basic тексты программ и описания алгоритмов полностью идентичны друг другу и по форме и по содержанию. Можно сказать, что текст программы на Бейсике получается переводом русских слов и словосочетаний на язык Бейсик и наоборот.

Задача 2. «Экономическая».

Составить алгоритм и программу определения общей стоимости промышленных товаров по данным из таблицы:

товар

тип

цена

кол-во

ананасы

прод

8000

40

утюги

пром

60000

3

сахар

прод

6000

20

Разработку алгоритма и программы начнем с составления сценария диалога, учитывая возможность отсутствия в таблице требуемых исходных данных.

Рассмотрим в качестве иллюстрации примеры решения экзаменационных задач в МЭСИ - Московском государственном университете экономики, статистики и информатики. Этот университет одним из первых в 1991 году ввел вступительные экзамены по информатике и стал лидером в дистанционном образовании среди государственных вузов Российской Федерации.

Задание на экзаменах в МЭСИ состоит из пяти задач. Первая задача по системам счисления. Вторая задача - на алгебру логики. Третья задача - тест или анализ блок-схемы. Четвертая и пятая задача - задача на составление алгоритмов и программ.

Первые три задачи в экзаменационных билетах МЭСИ по сложности оцениваются на два балла, а четвертая и пятая задача - на четыре и пять баллов. Положительную оценку на экзамене получает та работа, в которой набрано не менее 8 баллов.

Таким образом подсчет баллов показывает, что в МЭСИ для получения положительной оценки на экзаменах по информатике необходимо решить хотя бы одну задачу на составление программ, а решение задач на составление двух программ - гарантирует на экзамене положительную оценку.

В виду указанной особенности вступительных экзаменов по информатике в МЭСИ разберем примеры решения задач на составление программ, используя для описания алгоритмов псевдокод, а не блок-схемы, как это делается в учебниках МЭСИ.

Задача 1. Написать программу на любом языке программирования согласно следующему условию.

Дана целочисленная матрица А размера MN, где M,N - заданные натуральные числа. Найти количество столбцов матрицы, содержащих одни нулевые элементы.

Пример матрицы:

Для представления матрицы в программе на языке Бейсик можно использовать операторы data, в первой строке которых указывается размерность матрицы:

data 5

data 1, 0, 1, 0, 0

data 0, 1, 0, 0, 0

data 0, 0, 1, 0, 0

data 0, 1, 0, 0, 0

data 0, 0, 0, 0, 0

Решением поставленной задачи на ЭВМ можно получить с помощью следующего алгоритма и программа на языке Бейсик. Обратите внимание в программе используются массивы переменной длины, которая определяется при вводе размеров матрицы А:

' подсчет нулевых столбцов ' алг «подсчет нулевых столбцов»

' в квадратной матрице Ann ' нач

read n ' чтение(п)

dim A(n,n), D(n) ' массивы А(1:п,1:п), D(1:n)

print «Матрица A»;n;n;«:» ' вывод («Матрица А»;п;п; «:»)

for k = 1 to n ' от k = 1 до п цикл

for 1 =1 to n ' от l =1 до п цикл

read A(k,l) ' чтение A(k,l)

print A(k,l) ' вывод A(k,l)

next 1 ' кцикл

next k ' кцикл

for k = 1 to n ' om k= 1 до п цикл

D(k) = 0 ' D(k) = 0

for 1 = 1 to n ' от l=1 до п цикл

if A(k, l) = 0 then ' если A(k, l) = 0 то

D(k) = D(k) + 1 ' D(k) = D(k) + 1

end if ' кесли

next 1 ' кцикл

print D(k); ' вывод D(k);

next k ' кцикл

end ' кон

Задача 2. Дана строка символов. Распечатать все слова нечетной длины, отличные от второго слова.

(В этой задаче «словом» называется группа символов, разделенная с одной или обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов.)

Пример строки

Я волком бы выгрыз бюрократизм.

К мандатам почтения нет.

Результат обработки

бы

выгрыз

бюрократизм.

почтения

нет.

Для представления строк в программе на Бейсик можно воспользоваться операторами data:

data «Я волком бы выгрыз бюрократизм.»

data «К мандатам почтения нет.»

data «»

Здесь пустое слово «» означает конец исходного текста.

Для вывода исходных данных и результатов их обработки можно принять следующий сценарий:

исходный текст:

<строка1>

… …

<строкаn>

слова нечетной длины:

<слово1>

… …

<словоm>

Решение поставленной задачи на ЭВМ можно получить с помощью следующих алгоритма и программы на Бейсике, в которых в виде вспомогательного алгоритма и подпрограммы выделена обработка каждой отдельной строки текста:

' выделение слов нечетной длины ' алг «слова нечетной длины»

print «исходный текст:» ' вывод «исходный текст;»

n = 0: s2$ = «» ' n = 0: s2$ = «»

print «исходный текст:» ' вывод «исходный текст:»

do 'цикл

read str$ ' чтение_строки

if str$ = «» then exit do ' при str$ = «» выход

print str$ ' вывод_строки

gosub stroka ' обработка_строки

loop ' кцикл

end ' кон

stroka: ' обработка строки ' алг «обработка строки»

dl = len(sfr$) ' dl = длuнa(str$)

print «слова нечетной длины:» ' вывод «слова нечетной длины:»

sl = 0 ' sl=0

for k=l to dl ' от k = 1 до dl цикл

if str$(k) 0 «» then ' если str$(k) «» то

sl = sl + 1 ' sl = sl + 1

elseif sl > 0 then ' инеc sl > 0 то

p = k - sl + 1 ' p = k - sl + 1

slv$ = mid$(str$,p,sl) ' slv$ = cpeдн.(str$,p,sl)

n = n + 1 ' n = n + 1

if n = 2 then ' если n = 2 то

sl2$ = slv$ ' sl2$ = slv$

elseif slv$ 0 sl2$ then ' инеc slv$ ^ sl2$ то

if (sl/2)*2= si then ' если (sl/2) *2 = sl то

print slv$ ' вывод slv$

end if ' кесли

end if ' кесли

sl = 0 ' sl = 0

end if ' кесли

next k ' кцикл

return ' кон

Экзаменационные задачи МЭСИ (Московский государственный университет экономики, статистики и информатики).

1. Дана действительная квадратная матрица А порядка N, где N - заданное натуральное число, все элементы которой различны. Сколько элементов матрицы равны (МАХ + MIN)/2, где МАХ, MIN - соответственно, максимальное и минимальное значения среди элементов матрицы.

2. Дана целочисленная матрица А размера MN, где М, N - заданные натуральные числа. Сформировать одномерный массив В, где B(i) равно сумме элементов, кратных пяти и расположенных в i строке матрицы i = 1,2, .... М.

3. Дана целочисленная матрица А размера MxN, где М, N - заданные натуральные числа. Найти количество столбцов матрицы, содержащих одни нулевые элементы

4. Дана квадратная целочисленная матрица А порядка N, где N - заданное натуральное число, все элементы которой различны. Поменять местами строку, в которой находится наименьший элемент матрицы, со строкой, где находится наибольший элемент матрицы.

5. Дана целочисленная матрица А размера М х N, где М, N - заданные натуральные числа, причем М > 5. Найти количество столбцов матрицы, в каждом из которых содержится не менее 5 нулевых столбцов.

6. Дана квадратная целочисленная матрица А порядка N, где N - заданное натуральное число. Является ли заданная матрица магическим квадратом, т. е. такой матрицей, в которой суммы элементов во всех строках и столбцах одинаковы

7. Дана действительная матрица А размера MN, где М, N - заданные натуральные числа, все элементы которой различны. Сформировать одномерный целочисленный массив В, где B(j) равно среднему арифметическому значению индексов наибольшего и наименьшего элементов в j -ом столбце j =1,2, .... N.

8. Дана строка символов. Распечатать все слова с количеством символов больше 4 и меньше 10.

9. Дана строка символов. Распечатать самое длинное слово, начинающееся на букву «К».

10. Дана строка символов. Распечатать самое длинное слово, первые две буквы которого «КО».

11. Дана строка символов. Составить одномерный массив из слов, которые отличны от слова INFORMATION.

12. Дана строка символов. Распечатать самое длинное симметричное слово, первые две буквы которого «КО».

13. Дана строка символов. Выяснить, какое слово встречается раньше в строке с наименьшим или наибольшим количеством символов.

14. Дана строка символов. Определить среднее количество символов в словах четной длины.

15. Дана строка символов. Распечатать все слова нечетной длины, начинающиеся и оканчивающиеся на букву «Т».

6.3 Проверка программ на ЭВМ

В экзаменационных задачах и заданиях проверка правильности составленных программ проводится на ЭВМ путем их испытания на специально подбираемых тестах. Эта работа проводится преподавателями или экзаменаторами по завершении отладки программ на ЭВМ.

Напомним два основных определения, на которых базируется оценка правильности программ по результатам их тестирования:

1) программа объявляется содержащей ошибки, если можно указать тесты, при которых выполнение программы на ЭВМ приводит к отказу, сбою или получению неправильных результатов;

2) программа является правильной, если при любых допустимых исходных данных она дает правильные результаты.

Напомним два дополнительных, но весьма существенных определения допустимости исходных данных:

1) исходные данные считаются допустимыми, если для этих данных существует решение поставленных задач;

2) исходные данные недопустимы, если для этих данных поставленная задача не имеет решений.

Наконец правильность результатов решения регламентируется следующими двумя определениями:

1) результаты решения правильные, если они соответствуют требованиям поставленной задачи;

2) результаты решения неправильные, если они противоречат требованиям поставленной задачи.

Подбор тестов для проверки программ опирается на некоторые общие принципы, среди которых можно выделить следующие:

1) проверка частных случаев задачи;

2) проверка основных случаев задачи;

3) проверка граничных случаев.

Частные случаи - те, которые допускают простейшие способы решения и проверки правильности результатов. Граничными случаями объявляются данные, которые лежат на границе между допустимыми и недопустимыми данными. Разбор этих понятий проведем на примере типичной экзаменационной задачи по информатике.

Задача. «Средняя зарплата».

Среди N сотрудников отдела выделить тех, кто получает зарплату выше средней по данным из следующей таблицы:

Иванов

начальник

2500

Петров

сотрудник

1800

Сидоров

секретарь

900

Типичность этой задачи заключается в том, что она является одной из задач обработки данных, представленных в нашем случае таблицей. Частным случаем в этой задаче является таблица, состоящая из одной строки (случай N = 1). Граничным случаем - ситуация, когда все сотрудники получают одинаковую зарплату и никто из них не получает зарплату выше средней.

Типичными ошибками в программах решения этой задачи может быть отсутствие обработки частного случая, когда N = 1, либо отсутствие ответа на граничную ситуацию, когда все получают одинаковую зарплату.

Приведем примеры тестов, применявшихся при проверке на ЭВМ правильности программ решения этой задачи:

1) тест1 (проверка основного случая):

Иванов

начальник

2500

Сидоров

секретарь

900

2) тест2 (проверка частного случая)

Иванов

начальник

2500

3) тест3 (проверка граничных ситуаций):

Иванов

начальник

2000

Петров

сотрудник

2000

Независимо от языка программирования и способа ввода-вывода данных отсутствие каких бы то ни было ответов - есть «отказ», вывод избыточных данных или неполные данные - есть «сбой», неправильный список - есть неправильный результат решения.

Правильными ответами с точностью до формулировок в этой задаче являются:

ответ1 (основной случай):

Иванов

начальник

2500

ответ2 (частный случай):

«никто не получает зарплату выше средней»

ответ3 (граничный случай):

«никто не получает зарплату выше средней»

Приведем правильное решение поставленной задачи в форме программы на языке Basic, в которой исходные данные записываются в списке операторов data. Разработку приводимой ниже программы проведем, начиная с составления сценария, в котором учитываются все ситуации и частные случаи постановки задачи.

Проверку правильности этой программы следует провести на указанных выше трех тестах. Достоинства приведенной программы:

1) хорошо организованный вывод результатов, совмещенный с выводом исходных данных (свойства, заложенные в сценарий);

2) удобная организация структуры программы, позволяющая локализовать возможные ошибки (свойства структурированных алгоритмов);

3) удобная организация исходных данных в тексте программы, позволяющая упростить процедуру тестирования и отладки программы на ЭВМ.

Экзаменационные задачи ГУУ (Государственный университет управления).

Задача 1

Каждое из N фермерских хозяйств представило свой перечень из М машин разных наименований (марок) на их приобретение в единственном экземпляре (N и М заданы). Составить общий перечень необходимых марок машин с указанием их количества, расположив марки в порядке убывания потребности в них.

Задача 2

N сотрудников (известны фамилии) работают в 2 смены по индивидуальному графику (1-й день - «утро», 2-й день - «вечер», 3-й день - «выходной»). Все они в свое нерабочее время должны пройти диспансеризацию в медпункте, который работает ежедневно в 2 смены. В день начала диспансеризации о каждом сотруднике известно в какую смену он работает или то, что он выходной. Составить ежедневные списки посещения сотрудниками медпункта с указанием времени посещения («утро» и «вечер»), учитывая, что в каждой смене медпункта могут быть приняты не более М человек должен посетить медпункт один раз. Числа N и М заданы.

Задача 3

На кинофестивале 35 стран представили свои фильмы. Общее число фильмов не превышает 100. Известны названия стран - участниц и фильмов, а также баллы, полученные каждым из фильмов. Определить фильм, завоевавший первый приз (максимальный балл) и страну, получившую наибольший средний балл за представленные фильмы. Считать, что фильмы в общем списке по странам не упорядочены, а фильм и страна, его представляющая, является единственными победителями.

Задача 4

Известны очки, полученные каждым из М спортсменов-многоборцев в каждом из N видов соревнований (N и М заданы). Для каждого из спортсменов определить, в каких видах соревнований он получил результат не хуже других спортсменов и какой конкретно. Фамилия спортсменов и названия видов соревнований известны.

Задача 5

Даны сведения о соревновании N фигуристов ( N - заданное число): фамилия, наименование спортивного общества, 10 оценок за выступление. Требуется по каждому спортивному обществу определить фигуриста, показавшего наивысший результат, считая его единственным. Баллы, полученные фигуристом, подсчитываются следующим образом: максимальная и минимальная оценки отбрасываются, а из остальных формируется средняя.

6.4 Олимпиадные задачи по информатике

Особый интерес у студентов и школьников, увлекающихся информатикой, вызывают олимпиадные задачи - наиболее сложные задачи из курса информатики, с помощью которых в форме соревнования выявляются наиболее талантливые и способные учащиеся.

Согласно приказу министра образования Российской Федерации № 500 победители и призеры международных олимпиад могут руководством российских вузов зачисляться без экзаменов на профильные специальности и факультеты.

Победителям и призерам российских и региональных олимпиад ректора вузов победы в таких олимпиадах согласно указанному приказу могут засчитывать как успешную сдачу профильных вступительных экзаменов.

Особенностью олимпиад по информатике является то, что решение олимпиадных задач и выполнение конкурсных заданий проводится исключительно на ЭВМ. Второй особенностью олимпиад по информатике в силу использования персональных компьютеров является форма проведения олимпиад.

В 1995 году по инициативе Международной академии информатизации была проведена первая сетевая олимпиада, в которой приняло участие более 200 учащихся Москвы и Московской области. Новацией этой олимпиады было то, что задачи и результаты их решения передавались с помощью электронной почты, а оценка составленных программ проводилась на ЭВМ с использованием заранее подготовленных тестов.

Победителям и призерам этой олимпиады, решившим наибольшее число задач с наименьшим числом ошибок, было предложено поступление без экзаменов в Московский институт электроники и математики (МИЭИ) для обучения по специальностям в области информатики и вычислительной техники.

Примеры олимпиадных задач по информатике в других университетах и вузах Российской Федерации, которые засчитывают результаты побед в региональных, российских и международных олимпиадах по информатике, можно найти в Интернете по запросу «олимпиада информатики» с помощью поисковых систем Апорт, Ремблер или Яндекс. В 1999 году таких вузов было более сорока.

Ниже приводятся тексты задач первого тура первой сетевой олимпиады с указанием максимального числа баллов за решение этих задач, а также примеры программ их решения на языке Basic.

Оценки за решение задач проставлялись по следующей методике:

1) при правильных результатах на всех тестах 100% баллов; 2) при получении правильного решения хотя бы на одном тесте 40% баллов, а за результаты на остальных (n - 1 )-м тестах добавляется 60%/(n - 1) баллов; 3) при неправильных результатах на всех тестах или отсутствии программы оценка не ставилась.

На первом туре первой сетевой олимпиады были предложены четыре задачи информационно-логического и геометрического содержания со следующими оценками сложности, определенными экспертами:

задача 1 («Экзамены») - 50 баллов;

задача 2 («Слова») - 100 баллов;

задача 3 («4 точки») -150 баллов;

задача 4 («Ломаная») - 250 баллов.

Более 120 участников из 200 представили решения задач. Из них более 20 представили решения трех задач, девять участников предложили решения четырех задач. Правильное решение четырех задач представил только один участник, но даже и у него в последней четвертой задаче программа не прошла все тесты.

В целом задачи были подобраны по принципу от простого к сложному. С одной стороны это дало всем успевающим в информатике ученикам довести до успешных результатов хотя бы одну программу, а с другой стороны - сложность и дифференциация задач были таковы, чтобы можно было увидеть уровень подготовки и оценить способности участников.

Рассмотрим формулировки задач, проверочные тесты и правильные решения в форме программ на языке Basic. Первая задача относится к классу информационно-логических.

Задача 1. «Экзамены».

Среди N абитуриентов, сдававших экзамены по информатике, математике и языку, выбрать всех отличников и всех учащихся, набравших в сумме не меньше проходного балла. Данные о проходном балле вводятся с клавиатуры, а данные о результатах сдачи экзаменов представлены таблицей:

фамилия

имя

информатика

математика

язык

Иванов

Саша

4

4

3

Петрова

Катя

5

5

5

Сидоров

Алеша

5

3

3

Приведем проверочные тесты и правильные результаты:

Тест 1:

Иванов

Саша

4

4

3

Петрова

Катя

5

5

5

Сидоров

Алеша

5

3

3

проходной балл =? 12

Правильные результаты:

отличники:

Петрова Катя

не меньше проходного:

Иванов Саша

Петрова Катя

Тест 2:

Иванов

Саша

4

4

3

Сидоров

Алеша

5

3

3

проходной балл =? 12

Правильные результаты:

отличники:

отсутствуют

не меньше проходного:

Иванов Саша 4 4 4

Тест 3:

Сидоров

Алеша

5

3

3

проходной балл =? 14

Правильные результаты:

отличники:

отсутствуют

не меньше проходного:

отсутствуют.

В приведенных тестах анализируются различные логические ситуации с отсутствием «отличников» или «успешно» сдавших экзамены. При составлении программы эти ситуации можно явно предусмотреть в сценарии диалога с ЭВМ:

Сценарий

оценки учащихся:

<фам> <имя> <мат> <инф> <язык> *

………………………………….

проходной балл=? <b1>

отличники:

<фам> <имя> *

……………

отсутствуют

не меньше проходного:

<фам> <имя> <sum> *

……………..

отсутствуют

Программа Алгоритм

' результаты экзаменов алг «результаты экзаменов»

cls нач

? «оценки учащихся:» вывод («оценки учащихся:»)

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

? fm$, nm$, mt, in, zk вывод (fm$, nm$, mt, in, zk)

loop кцикл

input «проходной балл=»,b1 запрос («проходной балл=»,b1)

restore ocenki перезагрузка_ oценки

? «отличники:» вывод («отличники:»)

n = 0 п = 0

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

if mt=5 and in=5 and zk=5 then если mt=5 и in = 5 и zk=5 то

? fin$, nm$ вывод (fm$, nm$)

n = n + 1 n = n + 1

end if кесли

loop кцикл

if n=0 then ? «отсутствуют» если п=0 то вывод(«отсутствуют»)

restore ocenki перезагрузка-оценок

? «не меньше проходного:» вывод («не меньше проходного:»)

n = 0 п = 0

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

sum = mt + in + zk sum = mt + in + zk

if sum >= hi then если sum >= bl то

? fm$, nm$, sum вывод (fm$, nm$, sum)

n = n + 1 n = n + 1

end if кесли

loop кцикл

if n = 0 then ? «отсутствуют» если п = 0 то вывод («отсутствуют»)

end кон

ocenki: 'оценки учащихся

data «Иванов», «Саша», 4, 4, 3

data «Петрова», «Катя», 5, 5, 5

data «Сидоров», «Алеша», 5, 3, 3

data «», «», 0, 0, 0

Рассмотренная задача имеет чисто квалификационный характер проверки знаний информатики по школьной программе и умения самостоятельно составлять алгоритмы и программы решения на ЭВМ простейших информационных задач. С этой задачей справилось большинство участников олимпиады. Однако далеко не все предусмотрели исключительные ситуации и в результате многие из них потеряли определенную часть баллов на указанных тестах.

Вторая олимпиадная задача также относится к классу информационно-логических задач. Ее содержание заключается в переработке символьных данных.

Задача 2. «Слова».

Для фразы на русском языке, в которой нет знаков препинания, а слова отделяются одним единственным пробелом, организовать циклическую перестановку слов.

Исходная фраза:

ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР

Циклическая перестановка слов:

МЫ СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ

СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ

ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ СМОТРИМ

ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР

Сценарий

Исходная фраза:

<строка>

Перестановка слов:

<строка'> *

Проверочные .тесты:

Тест 1: Исходная фраза:

утром был дождь

Правильные результаты:

Перестановка слов:

был дождь утром

дождь утром был

утром был дождь

Тест 2: Исходная фраза:

правильно

Правильные результаты:

Перестановка слов:

правильно

Программа Алгоритм

перестановка слов алг «перестановка слов»

cls нач

? «Исходная фраза:» вывод («Исходная фраза:»)

line input st$ ввод-строки (st$)

? st$ вывод st$

In = len(st$) in = len(st$)

? «Перестановка слов:» вывод («Перестановка слов:»)

s$ = st$ s$ = st$

do цикл

k = instr(s$,«») k = instr(s$,«»)

if k = 0 then если k = 0 то

? s$ вывод (s$)

exit do выход

end if кесли

lf$ = left$(s$,k-l) lf$ = left$(s$,k-l)

rt$ = right(s$,ln-k) rt$ = right(s$,ln-k)

ns$ = rt$ + «» + lf$ ns$ = rt$ + «» + lf$

? ns$ вывод (ns$ )

if ns$ = st$ then exit do при ns$ = st$ выход

s$ = ns$ s$ = ns$

loop кцикл

end кон

Третью задачу можно отнести к числу комбинаторных задач, решение которых заключается в организации перебора различных вариантов данных.

Задача 3. «4 точки».

Для заданных четырех точек на плоскости найти длину минимального и максимального обхода их по замкнутому маршруту. Данные о координатах точек представлены в таблице:

х

у

0

0

0

3

4

0

5

10

Составление алгоритмов и программы для решения этой задачи также полезно начать с составления сценария диалога.

Сценарий

координаты точек:

<х1> <у1>

… … …

<х4> <у4>

максимальный маршрут:

<ml> <m2> <m3> <m4>

длина = <mх>

минимальный маршрут:

<n1> <n2> <n3> <n4>

длина = <mn>

Простейший способ решения этой задачи заключается в организации перебора всех замкнутых маршрутов, проходящих через заданные точки и выбора среди минимального и максимального по длине маршрутов.

Программа Алгоритм

мин. и макс. маршруты алг «мин. и макс. маршруты»

cls нач

n = 4 п = 4

dim x(n),y(n),r(n,n) dim x(n),y(n),r(n,n)

? «координаты точек» вывод («координаты точек»)

gosub vvdan 'ввод данных ввод-координат-точек

restore mrshrt 'маршруты загрузка-маршрутов

? «маршруты:» вывод («маршруты:»)

mr = 1*2*3 mr =1*2*3

mx = 0 тх = 0

for l = 1 to mr от l = 1 до mr

read k1, k2, k3, k4 ввод k1, k2, k3, k4

dl = r(kl,k2) + r(k2,k3) dl = r(kl,k2) + r(k2,k3)

d3 = r(k3,k4) + r(k4,kl) d3 = r(k3,k4) + r(k4,k1)

d = dl + d3 d = d1 + d3

? kl; k2; k3; k4, d вывод (k1; k2; k3; k4, d)

if mx = 0 then если тх = 0 то

mx = d: mn = d mx = d: mn = d

ml = kl: m2 = k2 ml = k1: m2 = k2

m3 = k3: m4 = k4 m3 = k3: m4 = k4

nl = kl: n2 = k2 n1 = k1: n2 = k2

n3 = k3: n4 = k4 n3 = k3: n4 = k4

elseif d > mx then инеc d > mx то

mx = d mx = d

ml = kl: m2 = k2 m1 = k1: m2 = k2

m3 = k3: m4 = k4 m3= k3: m4 = k4

elseif d < mn then инеc d < mn то

mn = d mn = d

nl = kl: n2 = k2 n1 = k1: n2 = k2

n3 = k3: n4 = k4 n3 = k3: n4 = k4

end if кесли

next 1 кцикл

? «максимальный маршрут:» вывод («максимальный маршрут:»)

? ml; m2; m3; m4 вывод (m1; m2; m3; m4)

? «длина =»; mx вывод («длина =»; mx)

? «минимальный маршрут:» вывод («минимальный маршрут:»)

? nl; n2; n3; n4 вывод (n1; n2; n3; n4)

? «длина =»; mn вывод («длина =»; mn)

end кон

vvdan: 'ввод данных алг «ввод данных»

restore tchks загрузка-точек

for k = 1 to n от k = 1 до п

read x(k),y(k) ввод x(k),y(k)

? x(k),y(k) вывод x(k),y(k)

next k кцикл

for k = 1 to n от k = 1 до п

for l = 1 to n от l = 1 до п

dx = x(k) - x(l) dx = x(k) - x(l)

dy = y(k) - y(l) dy = y(k) - y(l)

rs = dx*dx + dy*dy rs = dx*dx + dy*dy

r(k,l) = sqr(rs) r(k,l) = sqr(rs)

next 1 кцикл

next k кцикл

return кон

mrshrt: 'маршруты:

data 1, 2, 3, 4

data 1, 2, 4, 3

data 1, 3, 2, 4

data 1, 2, 4, 3

data 1, 4, 2, 3

data 1, 4, 3, 2

tchks: 'координаты точек

data 0, 0

data 0, 3

data 4, 0

data 4, 3

Результаты выполнения на ЭВМ приведенной программы:

координаты точек:

0 0

03

4 0

4 3

маршруты: длина:

1 2 3 4 16

1 2 4 3 14

1 3 2 4 18

1 2 4 3 14

1 4 2 3 18

1 4 3 2 16

максимальный маршрут:

1 3 2 4

длина =18

минимальный маршрут:

1 2 4 3

длина = 14

Четвертую задачу можно отнести к геометрическим задачам, решение которых опирается на некоторые геометрические законы и свойства.

Эта задача наиболее сложная среди рассмотренных задач из-за необходимости привлечения определенных математических знаний для организации ее решения.

Задача 4. «Ломаная».

Найти все точки самопересечения разноцветной замкнутой линии, заданной на плоскости координатами своих вершин в порядке обхода ломаной.

Данные о ломаной представляются таблицей:

х

у

0

1

1

0

0

1

1

1

Особенность этой задачи - большое число частных случаев, связанных с возможным вырождением или наложением отрезков ломанной линии. Именно эти ситуации и составляют содержание тестов, на которых большинство программ дают неправильные результаты.

Приведем проверочные тесты:

Tecт1. (Основной случай)

0

0

0

1

1

0

1

1

Правильные результаты:

точки пересечения

0.5 0.5

Тест 2. (Основной случай)

0

0

0

1

1

1

1

0

Правильные результаты:

точки пересечения:

отсутствуют

Тест3. (Наложение вершины)

0

0

0

1

0.5

0

1

1

1

0

Правильные результаты:

точки пересечения

0.5 0

Тест4. (Наложение ребра)

0

0

0

1

0.2

0

0.8

0

1

0

Правильные результаты:

отрезок пересечения:

[0.2, 0] - [0.8, 0]

Для систематического конструирования алгоритмов и программы необходима разработка сценария диалога и описание метода решения поставленной геометрической задачи.

Сценарий

точек: <n>

координаты точек:

<k>: <x> <у>

……..

точки пересечения:

отрезок: <k> - <k+l> *

отрезок: <1> - <1+1>

точка: <х> <у>

………

отсутствуют

Метод решения данной задачи может быть основан на вычислении точек пересечения отрезков (х1, у1) - (x2, у2) и (х3, y3) - (х4, y4) как точек пересечения линий, проходящих через заданные отрезки, с помощью системы уравнений:

(y2 - y1 )( x - x1) - (x2 - x1)(y - у1) = 0;

(у4 - у3)(x - x3) - (x4 - x3)(у - y3) = 0.

Решение этих уравнений может быть проведено вычислением определителей D, Dx, Dy приведенной системы уравнений:

(у2 - у1)х - (х2 - х1)у = (у2 - y1)х1 - (x2 - x1)y1;

(у4 - y3)х - (х4 - х3) у = (у4 - у3)х3- (x4 - x3)y3,

для которой будет справедлив следующий набор расчетных формул:

х = Dx/D;

у = Dy/D;

D = (у2 - у1)(х4 - x3) - (x2 - x1)(y4 - y3);

Dx = (y2 - yl)xl - (х2 - x1)y1 - (x4 - х3) - (x2 - x1)[(y4 - y3)x3 - (х4 - х3)y3;

Dy = (у2 - у1)(у4 - у3)х3 - (x4 - x3)у3 - [(у2 - y1)x1 - (х2 - x1)y1](y4 - y3).

Факт пересечения пар отрезков может быть установлен из этих же уравнений подстановкой в правые части координат точек альтернативного отрезка и сравнением значений этих выражений. А именно отрезок [(х3, у3) - (х4, у4)] пересекает линию, проходящую через отрезок [(x1, y1) - (х2, у2)], если эти выражения имеют разные знаки:

(у2 - у1)(х3 - x1) - (х2 - х1)(y3 - у1) (у2 - у1)(х4 - x1) - (х2 - x1)(y4 - y1) 0.

Соответственно, отрезок [(х1, у1) - (х2, у2)] пересекает линию, проходящую через отрезок [(х3, у3) - (х4, у4)], если аналогичные выражения имеют разные знаки:

(у4 - у3)(х1 - х3) - (х4 - х3)(у1 - у3)(у4 - у3)(х2 - х3) - (х4 - х3)(у2 - у3) 0.

И наконец, самый тонкий момент - это частные случаи, когда отрезки ломаной оказываются на одной прямой линии. В этом случае отрезки либо вообще не пересекаются, либо имеют общую часть, которую можно определить из взаимного расположения отрезков на прямой.

В последнем случае общая часть отрезков находится из взаиморасположения отрезков [(х1, у1) - (х2, у2)] и [(х3, у3) - (х4, у4)] на прямой. В данной ситуации взаиморасположение вершин отрезков можно выяснить, вычислив взаиморасположение между ними на прямой относительно отрезка [(х1, у1) - (х2, у2)] по следующим формулам:

d1 = 0;

d2 = (х2 - х1)(х2 - х1) + (у2 - у1)(у2 - 1);

d3 = (х3 - х1)(x2 - х1) + (у3 - у1)(у2 - 1);

d4 = (х4 - х1)(х2 - х1) + (у4 - y1)(y2 - 1).

Если d2 < min (d3, d4) или max (d3, d4) < 0, то отрезки не пересекаются. В противном случае необходимо выделить и отбросить две крайние точки, и тогда оставшиеся две точки зададут общую часть этих отрезков.

Опираясь на эти математические факты можно приступить к составлению алгоритмов и программы. Приведем программу, в которой установлено максимальное число точек nt = 200. Реальное число точек устанавливается при вводе исходных данных из перечня операторов data, записанных в конце текста программы.

самопересечение ломаной

nt = 200

dim x(nt), y(nt)

gosub wod 'ввод данных

? «точки пересечения:»

np = 0 'число пересечении

for k = 1 to nt - 1

xl = x(k): yl = y(k)

x2 = x(k + I): y2 = y(k + 1)

for 1 = k + 1 to nt - 1

x3 = x(I): y3 = y(I)

х4 = x(I + 1): y4 = y(I + 1)

gosub pint 'пересечение

next 1

next k

if np = 0 then ? «отсутствуют»

end

pint: точка пересечения:

d213 = (у2 - yl)*(x3 - х1) - (х2 - х1)*(у3 - у1)

d214 = (у2 - у1)*(х4 - х1) - (х2 - х1)*(у4 - у1)

d431 = (у4 - у3)*(х1 - хЗ) - (х4 - х3)*(у1 - уЗ)

d432 = (у4 - у3)*(х2 - хЗ) - (х4 - х3)*(у2 - уЗ)

if d213*d2l4 > 0 or d431*d432 > 0 then

' нет пересечения

elseifd213*d214 < 0 or d431*d432 < 0 then

gosub tchki ' расчет точки

else ' отрезки на одной прямой

gosub lin 1

end if

return

tchki: ' расчет точки пересечения

np = np+1

? «отрезок:»; k; k + 1

? «отрезок:»; I; I + 1

D = (у2 - yl)*(x4 - хЗ) - (х2 - х1)*(у4 - уЗ)

Dx = [(у2 - у1)*х1 - (х2 - х1)*у1]*(х4 - хЗ)

Dx = Dx - (х2 - х1)*[(у4 - у3)*х3 - (х4 - х3)*у3]

Dy = (у2 - у1)*[(у4 - у3)*х3 - (х4 - х3)*у3]

Dy = Dy - [(у2 - yl)*xl - (х2 - х1)*у1]*(у4 - уЗ)

х = Dx/D

у = Dy/D

? х; у

return

lin 1: 'отрезки на одной прямой

d2 = (х2 - х1)*(х2 - х1) + (у2 - у1)*(у2 - 1)

d3 = (хЗ - х1)*(х2 - х1) + (уЗ - у1)*(у2 - 1)

d4 = (х4 - xl)*(x2 - х1) + (у4 - у1)*(у2 - 1)

if d3 > d2 and d4 > d2 then

' нет пересечения

Iseif d3 < 0 and d4 < 0 then

' нет пересечения

else ' отрезки пересекаются:

gosub otrеz ' общий отрезок

end if

return

otrez: 'расчет общего отрезка

np = np + 1

? «отрезок пересечения:»

if d3 < 0 or d4 < 0 then

? х1; у1; «-»

elseif d3 < d4 then

? х3; у3; «-»

else

? х4; у4; «-»

end if

if d2 < d3 or d2 < d4 then

? х2; у2

elseif d3 < d4 then

? x3; y3

else

? х4; у4

end if

return

vvod: ' ввод данных

restore test1

read n

? «точек:»;nt

for k = 1 to nt

read x(k), y(k)

? x(k); y(k)

next kn

t = nt + 1

x(nt) = x(l)

y(nt) = y(l)

return

test1: 'точки ломаной:

data 4

data 0, 0

data 1, 0

data 0, 1

data 1, 1

test2: 'точки ломаной:

data 4

data 0, 0

data 1, 0

data 0, 1

data 1, 1

В тексте данной программы записаны два варианта тестовых данных, смена которых может быть проведена изменением имени метки test1 или test2 в операторе перезагрузки restore в подпрограмме ввода данных.

6.5 Технология дистанционного обучения

Дистанционное образование - это новая технология обучения, основанная на использовании персональных компьютеров, электронных учебников и сетей телекоммуникации. Эта новая технология и форма обучения самым тесным образом связана с развитием сети Интернет [7, 8, 9].

В Российской Федерации подготовлен законопроект, по которому дистанционное образование приравнивается к традиционным формам очного, заочного и вечернего обучения. В настоящее время пять ведущих вузов России ведут эксперименты по отработке технологий дистанционого обучения студентов.

В Республике Казахстан дистанционные формы обучения получили официальное признание после принятия нового закона об образовании летом 1999 года. В Законе об образовании Казахстана дистанционное обучение определено как «одна из форм обучения лиц, находящихся в отдалении от организаций образования, с помощью электронных и телекоммуникационных средств».

Началом распространения новых компьютерных технологий обучения послужило введение в середине 80-х годов курса информатики во всех средних школах нашей страны [16]. Основной целью школьного курса информатики с конца 80-х годов было обучение всех учащихся компьютерной грамотности - умениям читать, писать и получать информацию с помощью персональных ЭВМ [17].

Эксперименты с дистанционным образованием в вузах России начались с середины 90-х годов. Технологической базой для дистанционного обучения являются персональные компьютеры, электронные учебники и вычислительные сети. Развитие сети телекоммуникаций и появление образовательных серверов в сети Интернет сделало реальностью распространение новых технологий дистанционного обучения [7, 8. 9].

За рубежом развитие сети Интернет в 90-х годах привело к появлению первых электронных университетов как новых компьютерных форм получения образования. Насыщение персональными компьютерами университетов, колледжей и средних школ создает предпосылки для создания новых дистанционных форм обучения студентов и старшеклассников у нас в стране и зарубежом.

В США, Великобритании, Австралии, Канаде, Германии развитие сети Интернет создало условия для организации сетей дистанционного обучения, переживающих настоящий бум. При этом наиболее продвинутые проекты дистанционного образования развиваются на базе или при поддержке крупнейших компьютерных фирм - IBM, Apple, DEC, Sun, Novel, Microsoft и т. д.

Одним из наиболее известных зарубежных проектов дистанционного обучения является создание Открытого университета Великобритании. В этом университете обучение в форме компьютерных телеконференций началось в конце 80-х годов.

Основной технологической идеей этого проекта была передача заданий и результатов их выполнения с помощью электронной почты и обсуждение работ посредством телеконференций. К середине 90-х годов эти курсы пользовались успехом более чем у 5000 студентов, имевших домашние компьютеры.

Однако главным достижением проекта стали комплекты бумажных учебников, изданные университетом для дистанционного обучения и подготовки менеджеров в области информационных технологий. Это позволило Открытому университету перейти к дистанционному обучению студентов на международном уровне.

Одна из ветвей этого международного проекта получила развитие в России на базе образовательной корпорации LINK, использующей эти учебники. В настоящее время в Открытом Университете в дистанционной форме обучается несколько тысяч студентов.

Вторым по развитию у нас в стране является проект Института дистанционного образования Московского государственного университета экономики, статистики и информатики (МЭСИ). В российском проекте дистанционного образования в настоящее время обучается более 25 тысяч студентов по различным экономическим специальностям, для которых созданы соответствующие комплекты бумажных и электронных учебников.

Еще один проект дистанционного образования был развернут в середине 90-х годов Российским Государственным технологическим университетом (МАТИ) на базе более 120 школ Москвы, Подмосковья, Челябинска и Приднестровья. Целью этого проекта была дистанционной подготовка учащихся средних школ к вступительным экзаменам в вузы Российской Федерации.

Для данного проекта были созданы учебные пособия для поступающих в вузы по информатике, математике и английскому языку с использованием тестов, электронных учебников и электронных задачников. В рамках данного проекта был разработан и апробирован электронный учебник по информатике, используемый в настоящем учебном пособии [20].

Особую роль в развитии дистанционного образования, на наш взгляд, может и должен сыграть вузовский курс информатики, который позволит отработать технологию компьютерного обучения с использованием сети Интернет и электронных учебников и организацией компьютерной технологии приема и сдачи экзаменов.

Новыми в дистанционном обучении для отечественной системы образования являются электронные учебники с использованием компьютерных методов тестирования знаний. Отличительной особенностью электронных учебников является то, что работа с ними имеет форму диалога, в ходе которого учащиеся усваивают знания в виде фактов, вопросов, суждений, утверждений и т. п.

Кроме того, в электронных учебниках система контрольных тестов позволяет учащимся самостоятельно проверять усваиваемые знания. Большую помощь при этом могут оказать бумажные учебники, поскольку в них могут быть найдены ответы на вопросы, которые заложены в электронный учебник.

В этом назначении электронные учебники для систем дистанционного обучения могут выполнять функции репетиторов, оказывающих учащимся помощь в изучении различных учебных дисциплин. Консультации преподавателей при этом переносятся на обсуждение индивидуальных заданий с учетом интересов учащихся.

Настоящий бумажный учебник по информатике вместе со своими электронными версиями - пример новой технологии обучения, которая может использоваться в вузах и школах для изучения курса информатики, в домашних условиях и учебных центрах - для самообразования и дистанционного обучения.

Необходимым условием для этого является возможность доступа к персональным компьютерам и электронной версии настоящего учебника. Для работы в системе дистанционного обучения необходим доступ к сети Интернет, а также электронный почтовый ящик, по которому можно получать электронную корреспонденцию из центра дистанционного обучения.

Сетевые электронные версии настоящего учебника по информатике можно найти в сети Интернет с помощью информационно-поисковых систем Яндекс или Апорт по запросу «Каймин учебник информатика». Отличием этих электронных учебников является то, что в них можно не только листать и читать текст учебника, но и найти тесты, с помощью которых можно перепроверить свои знания по информатике.

Данные тесты по информатике с 1997 года используются в системе дистанционного контроля знаний учащихся средних школ, созданных на психологическом факультете Московского Государственного Университета и получившей название Телетестинг. Использование психологами этих тестов в течение последних трех лет показало удивительные результаты.

Все школьники, прошедшие телетестинг (дистанционный контроль знаний), показали самый высокий уровень компьютерной грамотности. Однако на вопросы об алгоритмизации и о программировании выпускники школ в основном продемонстрировали удовлетворительные либо даже неудовлетворительные знания.

Объяснением этим фактам может служить следующее. Участвовать в телетестинге могут только те школьники, которые умеют работать на ЭВМ, а для этого необходимо получить соответствующие знания. Самые первые учебники ориентировались на изучение основ алгоритмизации без работы и отладки программ на ЭВМ [16].

В новейших учебниках по информатике изучение элементов программирования либо вовсе отсутствует, либо проходит в отрыве от изучения основ алгоритмизации [18, 19, 21. По этой причине знания учащихся либо фрагментарны, либо неверны.

Освоению компьютерной грамотности с последующим изучением алгоритмизации и отладки программ на ЭВМ был посвящен базовый школьный учебник [17], признанный лучшим в 1997 году. Однако он не переиздавался и стал недоступен.

Настоящий учебник, созданный в соответствии с требованиями государственных стандартов образования, ориентирован на изучение студентами современного уровня развития информатики как информационной индустрии и освоение техники решения профессиональных задач на ЭВМ.

В этом смысле он является развитием и продолжением нашего школьного учебника по информатике и построен так, чтобы его можно было использовать как в условиях очного, так и дистанционного обучения. При этом в учебник введена линия на опережающее изучение Интернет, для того чтобы студенты как можно скорее могли получить доступ к его информационным ресурсам, электронным книгам, журналам и центрам дистанционного образований.

Самую большую библиотеку электронных книг и учебников по экономике можно найти на серверах Института дистанционного образования МЭСИ. В этой библиотеке можно найти электронную версию настоящего учебника по информатике для студентов.

В настоящее время практически все ведущие вузы Российской Федерации, имеющие отделения или факультеты информатики или информационных технологий, включились в развитие технологий дистанционного обучения и ввели в той или иной форме вступительные экзамены или испытания по информатике.

Подробную информацию о всех Российских вузах и новостях дистанционного образования можно найти в сети Интернет на сервере Информатика Министерства образования Российской Федерации.

Приложение

ИНТЕРПРЕТАТОР ЯЗЫКА ПРОЛОГ

Назначение интерпретатора Пролога

Интерпретатор языка Пролог предназначен для проведения практикума на персональных компьютерах с базами знаний, экспертными системами и изучением принципов логического вывода в системах искусственного интеллекта.

Данный интерпретатор может использоваться на персональных компьютерах IBM PC с операционной системой MS DOS или Windows. Для работы интерпретатора достаточно иметь оперативную память не менее 250 Кбайт и накопитель на гибком или жестком диске.

Запуск интерпретатора Пролога

Интерпретатор Пролога находится на жестком диске или дискете в каталоге с именем PROLOG. Запуск интерпретатора проводится с помощью команды

> prolog

из каталога, в котором он находится.

Интерпретатор может быть запущен одновременной с загрузкой некоторой базы знаний или программы на Прологе следующей командой:

> prolog <имя>

где <имя> - это имя некоторого файла данных. Если запуск прошел успешно, то на экране появится изображение такого вида:

Настоящая версия диалогового интерпретатора языка Пролог предоставляет следующие возможности:

работа в диалоге с базами данных и программами на Прологе;

поиск и чтение программ и баз данных, записанных на дисках;

ввод и редактирование новых программ и баз данных;

запись на диски новых или отредактированных программ;

вывод на печать программ и баз данных на Прологе.

Для работы с интерпретатором используются следующие клавиши-команды:

F1 - получение подсказки;

F2 - работа с файлами;

F3 - открытие нового окна;

Alt-F3 - закрытие текущего окна;

F4 - начало диалога с программой;

F10 - обращение к верхнему меню.

Диалог с программами на Прологе.

Диалог с программами на Прологе начинается после нажатия клавиши F4 - начало диалога с программой.

В режиме «Диалог» можно вводить вопросы по отношению к фактам и правилам, имеющимся в программе или базе данных, которые размещены в оперативной памяти ЭВМ. Поиск ответов на вопросы начинается нажатием клавиши ввода Enter. Ответы на вопросы выводятся здесь же в окне диалога вслед за вопросом.

В окне диалога можно, задать серию вопросов к текущей программе или базе знаний, вернуться к любому вопросу и запустить его еще раз с новыми данными, а также просматривать протокол диалога в любом порядке.

Для завершения диалога с программой необходимо закрыть окно диалога с помощью команды Alt-F3 - закрытие текущего окна.

Ввод и редактирование программ.

Для ввода новых программ или редактирования имеющихся необходимо перейти в режим «Редактор». Для перехода к вводу новой программы или базы данных необходимо нажать клавишу F3 - открытие нового окна - и приступить к построчному вводу текста программы.

Ввод и редактирование текстов программ и баз данных на Прологе выполняется по правилам, традиционным для редакторов текстов.

Признаком конца строки служит нажатие клавиши ввода Enter. Последний введенный символ стирается нажатием клавиши BS. Удаление символов в текущей позиции проводится нажатием клавиши Del.

Для исправления текущей строки используются клавиши управления курсором - стрелки вправо-влево, а также клавиши перехода в начало строки Ноmе и перехода в конец строки End.

Для вставки символов необходимо перейти в режим «Вставка», нажав клавишу Ins. Признаком режима «Вставки» служит размер курсора: в режиме «Вставка» видна половина курсора, а в режиме «Замена» курсор целиком закрывает текущий символ. Переключение режимов вставка/замена производится нажатием клавиши Ins.

Рассечение строки осуществляется в режиме «Вставка» нажатием клавиши ввода Enter. Для обратной операции - склейки строк курсор переводится в конец верхней строки, где нажимается клавиша удаления символов Del. В результате нижняя строка «приклеится» к верхней. Удаление текущей строки произойдет при одновременном нажатии клавиш Ctrl и Y.

Для удаления всего текста в целом для начала ввода нового текста программы необходимо перейти в режим «Файл», нажав клавишу F2, а затем указать в появившемся подменю режим «Новый».

Операции с файлами.

Для выполнения операций с файлами на дисках - записи, чтения, поиске, смене каталогов в настоящем интерпретаторе необходимо перейти в режим «Файл» нажатием клавиши F2 - работа с файлами.

Для выбора файла из текущего каталога необходимо нажать клавишу TAB, затем стрелками вверх и вниз указать имя нужного файла и нажать клавишу ввода Enter.

Для перехода в другой подкаталог, имя которого заканчивается символом « \ », требуется выбрать это имя и нажать клавишу ввода Enter. Для возврата в предыдущий каталог выбирается имя « ../ ».

Для записи текстов программ на диски необходимо перейти в режим работы с файлами (F2 - работа с файлами) и выбрать один из двух режимов:

Сохранить F2

Сохранить как ...

Режим «Сохранить как ...» из меню «Файл» служит для сохранения файла, открытого в текущем окне, под другим именем. При выполнении этой операции на экране появится следующее окно, в котором нужно будет указать новое имя файла.

При указании в меню «Работы с файлами» режима «Смена каталога» на экране ЭВМ появится панель «Смена каталога», в которой указывается текущий каталог или устройство.

Для завершения работы с интерпретатором необходимо перейти в меню «Файл» и указать в нем подпункт «Выход». Этого же можно достичь нажатием клавиш Alt-X.

Если в каком-либо окне осталась измененная, но несохраненная программа или база данных, то вы будете предупреждены об этом.

Краткое описание языка Пролог

Базовые понятия языка Пролог

Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются опис...


Подобные документы

  • Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему программирования и операторы языка Си. Организация работы с файлами. Особенности программирования на С++.

    методичка [126,3 K], добавлен 07.12.2011

  • Модульная структура программного продукта и типовые управляющие структуры алгоритмов обработки данных различных программных модулей в основе структурного программирования. Особенности пошаговой разработки программ. Основные типы базовых конструкций.

    контрольная работа [163,7 K], добавлен 04.06.2013

  • Сущность языка программирования, идентификатора, структуры данных. Хранение информации, алгоритмы их обработки и особенности запоминающих устройств. Классификация структур данных и алгоритмов. Операции над структурами данных и технология программирования.

    контрольная работа [19,6 K], добавлен 11.12.2011

  • Электронно-вычислительная машина (ЭВМ) как средство обработки информации. Аппаратные и программные средства ЭВМ. Системы счисления и представления информации. Элементы структурного программирования. Построение блок-схем алгоритмов решения задач.

    презентация [152,5 K], добавлен 26.07.2013

  • Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.

    курсовая работа [728,4 K], добавлен 10.07.2017

  • Обзор образовательных стандартов педагогического образования в области искусственного интеллекта. Построение модели предметной области в виде семантических сетей. Характеристика проблемного обучения. Основные средства языка программирования Пролог.

    дипломная работа [387,8 K], добавлен 01.10.2013

  • Автоматизация сбора и обработки данных. Основы, таблицы и средства для работы с базами данных. Инструментальные средства и компоненты. Технология создания приложения. Работа с псевдонимами и со связанными таблицами. Система управления базами данных.

    методичка [1,5 M], добавлен 06.07.2009

  • Понятие большой системы управления. Модель структурного сопряжения элементов. Организация многоуровневой структуры управления. Общая задача линейного программирования. Элементы динамического программирования. Постановка задачи структурного синтеза.

    учебное пособие [1,3 M], добавлен 24.06.2009

  • Программное обеспечение как один из видов интеллектуальной собственности, принципы разработок. Общая технология программирования, используемые языки и их функционал. Введение в Object Pascal, его назначение, структура и основные элементы, основы работы.

    учебное пособие [2,0 M], добавлен 12.04.2012

  • Основы Интернет-технологий и элементы управления, построение информационных систем в сети Интернет, стандартизация пользовательского интерфейса, механизм работы элементов управления, технология статистической и динамической публикации, база данных.

    курсовая работа [738,0 K], добавлен 22.06.2011

  • Рассмотрение функциональных возможностей графического редактора Paint. Запуск и элементы окна. Создание и сохранение рисунка. Элементы панели инструментов и палитры цветов. Характеристика оборудования, необходимого для подключения к сети Интернет по ADSL.

    контрольная работа [3,1 M], добавлен 14.02.2012

  • Дискретная математика; функции и автоматы. Множества и операции над ними. Отношение как базовое понятие в реляционных базах данных. Логические элементы компьютера: триггеры, классификация сумматоров. Элементы теории алгоритмов, двоичное кодирование.

    презентация [270,4 K], добавлен 27.02.2014

  • Основы языка программирвоания C++. Элементы управления в Microsoft Visual C++. Алгоритмические конструкции языка программирования Visual C++ и базовые элементы управления. Глобальные константы и переменные. Управление программой с помощью клавиатуры.

    курсовая работа [1,7 M], добавлен 08.04.2015

  • Основные этапы решения задач на ЭВМ. Элементы управления и пользовательская форма VBA. Ввод и вывод информации. Открытие и закрытие файла. Операторы цикла и подпрограммы. Реализация разветвляющихся алгоритмов в VBA. Типы данных, переменные и константы.

    учебное пособие [1,4 M], добавлен 21.05.2009

  • Назначение и функции информационной системы как программно-аппаратного комплекса, предназначенного для хранения и обработки данных какой-либо предметной области. Каскадная схема создания ИС с обратной связью. Основные элементы языка программирования С++.

    контрольная работа [1,7 M], добавлен 14.05.2012

  • Факторы, влияющие на пропускную способность в беспроводных сетях. Использование скриптового языка программирования PHP для разработки базы данных интернет-магазина, его основные преимущества. Современные методы и средства тестирования web-приложений.

    дипломная работа [3,5 M], добавлен 10.07.2015

  • Системы программирования и их графические возможности. Разработка мультимедиа курса, способствующего эффективному усвоению учащимися базовой школы темы "Графические возможности языка программирования" (на примере языков программирования Basic и Pascal).

    дипломная работа [588,3 K], добавлен 29.12.2010

  • Теоретические и практические основы Web-программирования. Проблемы и перспективы Интернет-магазинов. Типы данных, используемые в PHP. Работа с базой данных. Особенности встраивания РНР кода. Схема работы Интернет-магазина. Язык Web-программирования РНР.

    курсовая работа [3,8 M], добавлен 27.12.2012

  • Технология программирования, основные этапы развития. База данных, понятие,характеристика, основные типы баз. Действие и структура программы С++. Процесс подготовки и решения задач на компьютерах. Написание и отладка программы на языке программирования.

    курсовая работа [32,8 K], добавлен 26.01.2011

  • Общая характеристика дистанционного образования. Описание приложений и ресурсов, с помощью которых осуществляется дистанционное обучение. Правила размещения курсов в СДО "Moodle". Разработка структуры курса "Правовые основы прикладной информатики".

    курсовая работа [1,8 M], добавлен 20.12.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.