О методическом обеспечении организации внеаудиторной самостоятельной работы студентов первого курса филологического факультета, отделение журналистики Докладчик Бабенко Т.А. Самостоятельная работа студентов состоит в изучении рекомендуемой литературы, проработке лекционного материала, решении предложенных преподавателем заданий ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ» Оформление и сдача заданий Письменные задания должны быть выполнены на листах формата А4. На титульном листе укажите Вашу фамилию и инициалы, курс, факультет, группу, а также название дисциплины и номер задания. Оформленное задание в указанные преподавателем сроки сдайте под роспись, с указанием даты сдачи преподавателю. Раздел 1 Задание № 1. Создайте дерево папок, показанное на рисунке. Проверяйте правильность создаваемого дерева по левому окну Проводника. Вариант 1 Вариант№1 -Искусство - Великие художники -Леонардо да Винчи -Тайная вечеря -Рембрандт - Шедевры живописи -Рабочая папка -Задание№2. .txt Вариант 2 Вариант№2 -История -Правители -Срупные битвы -Бородино -Биология -Информатика -Рабочая папка -Задание№2.txt Вариант 3 Вариант№3 -Музыка -Музыкальные инструменты -Струнные -Скрипка Вариант 4 Вариант№4 -Биология -Млекопитающие -Птицы -Певчие птицы -Великие композиторы -Ноты '-Рабочая папка -Задание№2Лх! Вариант 5 -Скворец -Хищники -Волк -Рабочая папка -Задание№2 .txt Вариант 6 Вариант№5 -Литература -Русские писатели -Лев Толстой -Война и мир -Английские писатели -Уильям Шекспир -Венера и Адонис -Рабочая папка Задание №2.txt Вариант№6 -Физиология человека -Кости -Скелет -Органы тела -Сердце -Легкие -Мускулатура -Рабочая папка Задание №2.txt Вариант 7 Вариант 8 Вариант №7 Вариант №8 Общие законы естествознания Планеты Солнечная система Марс Венера Созвездия Большая медведица Малая медведица -Рабочая папка Математика Плоские фигуры Круг Треугольник Прямоугольник Объемные фигуры Пирамида Сфера -Рабочая папка Зпдание №2.txt Вариант 9 Вариант 10 Вариант№9 Вариант№10 -География -Материки -Евразия Австралия -Океаны -Атлантический океан -Тихий океан 'Горы -Анды -Рабочая папка -Задание№2 .txt -Развлечения -Звукозаписи -Сказки -Буратино -Пиноккио -Музыка -Видеозаписи -Ужасы -Сказки -Буратино -Рабочая папка Задание№2.txt В левом окне Проводника раскройте содержимое папки «Вариант №» (номер вашего варианта). Скопируйте вид экрана в буфер обмена, используя клавишу PrtScn (PrintScreen). Создайте текстовый документ MS Word с именем «Экран» и вставьте в него содержимое буфера обмена. Представьте документ «Экранное» в распечатанном виде. Задание № 2. Дайте развернутые ответы на вопросы, представленные ниже. Работа должна быть напечатана на компьютере в любом текстовом редакторе (например, в Блокноте), и представлена как в распечатанном на принтере виде, так и в электронном виде. В конце приведите используемые источники. Сохраните файл под именем «Задание№ 2» и поместите в Рабочую папку (см. Раздет 1). Вариант 1 1. Что изучает информатика? 2. В чем заключается принцип открытой архитектуры? 3. В чем различие между активным и пассивным окном? 4. Опишите способы переключения между окнами. 5. Как осуществляется поиск файлов или папок по имени? 6. Перечислите режимы отображения значков в окне папки и опишите способы их изменения. 7. Каким образом осуществляется перемещение группы файлов через Буфер обмена с использованием меню в окне «Мой компьютер»? 8. Как добавить файл в уже существующий архив в оболочке WinRAR и в программе Проводник? 9. Что является компьютерной сетью и каково ее назначение? Вариант 2 1. Что такое информация и какие ее виды вы знаете? 2. Что такое драйверы? 3. Перечислите и опишите способы открытия папки. 4. Дайте описание оконного меню и перечислите способы его вызова. 5. Как осуществляется поиск файлов по дате последнего редактирования? 6. Опишите операции с папками: создание, переименование, удаление. 7. Каким образом осуществляется копирование группы файлов через Буфер обмена с использованием кнопок на панели инструментов в окне «Мой компьютер». 8. Как удалить файл из группы файлов в уже существующем архиве в оболочке WinRAR? 9. Дайте классификацию компьютерных сетей по охватываемой территории. 1. 2. 3. 4. 5. Вариант 3 Перечислите области применения ПК с пояснениями. Что такое операционная система? Опишите процедуру выключения компьютера. Как осуществляется поиск файлов по размеру? Опишите операции с файлами: создание, переименование, удаление. 6. Каким образом осуществляется перемещение группы файлов через Буфер обмена с использованием кнопок на панели инструментов в окне «Мой компьютер». 7. Каким образом осуществляется копирование и перенос файлов на дискету в окне приложения Проводник. 8. Опишите процедуру преобразования созданного архива в самораспаковывающийся и наоборот. 9. Что может являться общими ресурсами компьютерных сетей? Вариант 4 1. Перечислите основные устройства компьютера, их функции. 2. Что такое файл? Какое он может иметь имя? 3. Опишите процедуру изменения размеров и позиции окна с помощью клавиатуры и мыши. 4. Как упорядочить значки на Рабочем столе? Перечислите все варианты упорядочивания значков. 5. Как осуществляется поиск файлов по фрагменту текста? 6. Опишите операции с ярлыками: создание, переименование, удаление. 7. Перечислите сочетания клавиш, используемые для копирования и переноса информации. 8. Перечислите цели создания архивов. 9. Дайте классификацию компьютерных сетей по способу соединения. вариант 5 1. Перечислите составляющие системного блока. 2. Что такое каталог, подкаталог, надкаталог, текущий каталог? 3. Опишите технологические операции работы с мышью. 4. Приведите алгоритмы создания или изменения фоновых узоров Рабочего стола. 5. Для чего используется справочная система Windows? Как можно вызвать справку в диалоговом окне. 6. Опишите способы восстановления удаленного элемента из Корзины. 7. Опишите элементы оконного интерфейса приложения Проводник. 8. Приведите алгоритм создания архива файлов в оболочке WinRAR. 9. Что такое INTERNET? 1. 2. 3. 4. 5. 6. 7. 8. Вариант 6 Какие клавиши на клавиатуре называются специальными? Как составляются шаблоны имен при поиске файлов? Дайте описание и перечислите функции объекта «Мой компьютер». Каким образом осуществляется настройка часов? Опишите способы выделения группы файлов. Опишите назначение кнопок на панели инструментов программы Проводник. Перечислите и опишите средства работы с Буфером обмена. Приведите алгоритм создания архива файлов в программе Проводник. 9. Дайте определение и опишите функции электронной почты? Вариант 7 1. Что такое процессор, и какие характеристики он имеет? 2. Перечислите единицы измерения информации? 3. Что называется значком объекта? Приведите несколько стандартных значковдля различных объектов, которые использует Windows. 4. Опишите процедуру использования метода «Drag-and-Drop». 5. Каким образом осуществляется настройка клавиатуры? 6. Каким образом осуществляется копирование группы файлов методом «Drag-and-Drop» в окне «Мой компьютер». 7. Опишите способы запуска приложения Проводник. 8. Приведите алгоритм извлечения группы файлов из архива в оболочке WinRAR. 9. Что такое компьютерный вирус? Вариант 8 1. Перечислите и опишите составляющие внутренней (основной) памяти компьютера? 2. Что является путем к файлу? Как записывается путь от корневого каталога к файлу? 3. Опишите три варианта представления окон на экране. 4. Что такое Панель задач? Опишите ее положение, размеры, параметры. 5. Опишите элементы оконного интерфейса приложения «Мой компьютер». 6. Каким образом осуществляется перемещение группы файлов методом «Drag-and-Drop» в окне «Мой компьютер»? Раздел 2 Задание № 1. Подготовить текстовый документ с иллюстрациями. Содержание документа (номер темы соответствует последней цифре вашей зачетной книжки): 1) письмо на фирменном бланке; 2) приглашение; 3) визитка; 4) рекламный буклет; 5) театральная афиша; 6) объявление; 7) поздравительная открытка; 8) инструкция по использованию бытовой техники; 9) обложка CD; 10) обложка журнала. Текст документа должен обязательно содержать заголовок, повествовательный текст, список (нумерованный или маркированный). Каждый законченный фрагмент документа должен быть отформатирован особым образом. Рисунки должны быть выполнены самостоятельно в графическом редакторе Paint и вставлены в текстовый документ. В контрольной работе необходимо описать порядок подготовки документов, формат отдельных фрагментов текста, способ добавления иллюстраций в основной документ. Реферат в обязательном порядке должен включать в себя: 1. Титульный лист. 2. Содержание. 3. Подготовленные документы. 4. Описание работы. 5. Список литературы. Поля страниц основного текста — 3 см слева, по 2 см — снизу, сверху и справа. Шрифт основного текста - Times New Roman Cyr 12 размера. Отступ первой строки у абзацев основного текста — 1 см. Задание № 2. Найти в Internet информацию по следующим темам (номер задания соответствует последней цифре вашей зачетной книжки): 1. Вузы Краснодарского края. 2. Компьютерные газеты и журналы. 3. Газеты и журналы по экономике. 4. Газеты и журналы по маркетингу. 5. Туристические агентства Краснодарского края. 6. Компьютерные фирмы Краснодарского края. 7. Спортивные новости (по отдельному виду спорта). 8. Услуги операторов сотовой связи в Краснодарском крае. 9. Предложения любого предмета бытовой техники или электроники в Краснодарском крае (холодильник, телевизор и т.п. - на Ваш выбор). 10.Предложения работы в Краснодарском крае (по конкретной специальности). Описание работы должно содержать: 1. названия поисковых серверов, которыми Вы пользовались; 2. ключевые слова, указанные Вами; 3. список ссылок на электронные источники информации (5-10); 4. краткую аннотацию на информацию, содержащуюся в указанных Вами источниках (по каждой ссылке). Раздел 3 Требования к работе: представить реферат по выбранной теме. Просьба излагать материал в тезисной форме. Реферат должен быть выполнен на компьютере в текстовом редакторе Word. Объем основного текста - не более 20, но не менее 10 страниц формата А4. Реферат в обязательном порядке должен включать в себя: 1. Титульный лист. 2. Содержание. 3. Введение. 4. Основную часть. 5. Заключение. 6. Список литературы. Поля страниц основного текста - 3 см слева, 2,5 - снизу, 2,5 - сверху, 2,5 — справа. Шрифт основного текста - Times New Roman Cyr 12 размера, с обычным межбуквенным расстоянием. Абзацы основного текста должны иметь полуторные междустрочные интервалы и красные строки 1 см, выравнивание по ширине. Верхний колонтитул должен содержать название института, фамилию и инициалы студента. Нижний колонтитул должен содержать номер страницы, выровненный по центру. Реферат должен иметь автоматическую нумерацию страниц, автоматически созданное содержание, заголовки должны быть выполнены с использованием стилей. В работе должны быть приложения, содержащие примеры, раскрывающие тему работы (таблицы, фирменные бланки, схемы и т.д.). Объем данных приложений выбирается автором работы. Возможные темы рефератов: 1. Применение текстового редактора в бухгалтерии. 2. Применение текстового редактора Word в работе секретаря-референта. 3. Применение текстового редактора Word в работе менеджерамаркетолога. 4. Применение текстового редактора Word в работе экономиста. 5. Применение текстового редактора Word в работе психолога. В реферате могут быть рассмотрены следующие вопросы: - сохранение документов; форматы текстовых файлов; формат шрифта, абзаца; работа с таблицами; разделы; - параметры страницы; списки; работа с графикой; шаблоны; колонтитулы и др. Выбранная тема реферата должна быть согласована с преподавателем. Раздел 4 Требования к работе: представить реферат по использованию программы MS Excel в решении профессиональных задач. Необходимо изложить экономический аспект проблемы с расшифровкой всех терминов, описать алгоритм решения, инструментарий, применяемый при решении задачи. Просьба излагать материал в тезисной форме. Работа должна содержать приложения, раскрывающие тему работы (таблицы Excel, диаграммы и др.). Объем данных приложений выбирается автором работы самостоятельно. Требования к объему и оформлению реферата см. в Р. 1. Возможные темы рефератов: I. Решение комплексных практических задач в работе экономиста. 1. Расчет зарплаты на современном малом предприятии. 2. Расчет страхового запаса на товарном складе. 3. Анализ работы дилеров и т.п. темы. II. Решение комплексных практических задач в работе психолога. 1. Проведение и обработка результатов анкетирования на предприятии. 2. Проведение и обработка результатов тестирования на предприятии. 3. Анализ психологической совместимости кадров на предприятии и т.п. темы. III. Исследовательская работа. 1. Применение команд для работы со списками «Фильтр», «Итоги», «Сводная таблица», «Формы» в решении профессиональноориентированных задач. 2. Применение команд «Подбор параметров», «Сценарии» в решении профессионально-ориентированных задач. IV. Применение финансовых функций при решении экономических задач. Выбранная тема реферата должна быть согласована с преподавателем. Раздел 5 Требования к работе: представить реферат по разработке модели и созданию структуры реляционной базы данных. Необходимо изложить назначение базы данных в целом и всех ее элементов (таблиц, форм, запросов, отчетов); описать процесс создания объектов и их структуру. Просьба излагать материал в тезисной форме. Работа должна содержать приложения, раскрывающие тему работы (таблицы формы, запросы, отчеты и др.). Объем данных приложений выбирается автором работы самостоятельно. Требования к оформлению реферата: см. в Р. 1. Приложите дискету или CD с файлом созданной базы данных. Возможные темы рефератов: Создание базы данных с помощью программы Microsoft Access: 1. Отдел кадров предприятия. 2. Реализация продукции. 3. Склад. 4. Библиотека. 5. Студенты вуза. 6. Абоненты и услуги сотовой связи и т.п. Раздел 6 Требования к работе: представить реферат по созданию презентаций в программе MS PowerPoint. Подготовить презентацию по выбранной теме. Презентация должна содержать 10-12 слайдов. На слайдах применить эффекты анимации. Предусмотреть возможность перехода между слайдами (с помощью кнопок, гиперссылок). В реферате необходимо изложить назначение и возможное использование презентации; описать основные этапы ее подготовки: выбранный метод оформления слайдов, создание и назначение ссылок, добавление эффектов анимации. Просьба излагать материал в тезисной форме. Работа должна содержать приложения с распечаткой выдач, содержащих по 6 слайдов на странице. Требования к оформлению реферата: см. в Р. 1. Объем реферата - не более 10 страниц. Приложить дискету или CD с файлом созданной презентации. Возможные темы презентаций: 1. Ваша фирма 2. Ваша профессия 3. Реклама товара или услуги 4. Назначение компьютерной программы (MS Word, Excel, Access и др.) 5. Инструкция по эксплуатации бытовой техники и т.д. Итоговый тест 1. Чему равен 1 Кбайт? а) 23 байт; б) 103 байт; в) 103 бит; г) 1024 байт; д) 10000 байт. 2. Дискета - это: а) устройство для создания, хранения, обработки и отображения информации; б) устройство для хранения, обработки и отображения информации; в) устройство для хранения и отображения информации; г) устройство для хранения информации; д) ни одно из выше перечисленного. 3. Файл - это: а) единица измерения информации; б) программа; в) программа или данные на диске, имеющие имя; г) все вышеперечисленное; д) ни одно из выше перечисленного. 4. Заражение компьютера вирусами может произойти в процессе: а) работы больного человека за компьютером; б) работы с файлами; в) форматирования дискеты; г) выключения компьютера; д) форматирования винчестера. 5. Архиваторы - это: а) работники библиотеки, работающие с архивами; б) люди, создающие электронные библиотеки; в) программы, предназначенные для создания электронных базы данных; г) программы, позволяющие сжимать информацию; д) ни одно из выше перечисленного. 6. При выключении персонального компьютера вся информация стирается: а) на дискете; б) на CD-диске; в) на винчестере; г) в оперативном запоминающем устройстве; д) в постоянном запоминающем устройстве. 7. Центральный процессор расположен на: а) видеоплате; б) звуковой плате; в) материнской плате; г) плате видеозахвата; д) сетевой плате. 8. Задан полный путь к файлу C:\WORK\PROBA.TXT. Каково расширение файла, опреде ляющее его тип? а) C:\WORK\PROBA.TXT; б) WORK\PROBA.TXT; в) PROBA.TXT; г) .ТХТ; д) ТЕКСТ. 9. Электронная почта (e-mail) позволяет передавать: а) только сообщения; б) только файлы; в) сообщения и приложенные файлы; г) только видеоизображение; д) ни одно из выше перечисленного. 10. В графическом редакторе MS Paint после выполнения операции «Вставить» необходимо: а) изменить параметры шрифта; б) задать выделение фрагмента; в) задать масштаб отображения; г) переместить объект; д) сохранить файл. 11.Чтобы сохранить текстовый файл (документ) в определенном формате, необходимо задать: а) размер шрифта; б) тип файла; в) параметры абзаца; г) поля на страницах; д) параметры страницы. 12. Программа Microsoft Word предназначена: а) только для создания текстовых документов; б) для создания текстовых документов с элементами графики; в) только для создания графических изображений; г) только для создания графических изображений с элементами текста; д) ни для одного из выше перечисленного. 13. В процессе редактирования текста изменяется: а) размер шрифта; б) параметры абзаца; в) последовательность символов, слов, абзацев; г) параметры страницы; д) ни одно из выше перечисленного. 14. В текстовом редакторе Microsoft Word при задании нового раздела можно: а) изменить ориентацию страниц в новом разделе документа; б) изменить содержимое колонтитулов нового раздела документа; в) изменить нумерацию страниц в новом разделе документа; г) осуществить все выше указанное; д) невозможно ни одно из выше перечисленных действий. 15. Перед изменением типа границ в таблице при помощи меню необходимо: а) установить курсор рядом с таблицей; б) выделить ячейки таблицы; в) Вызвать панель «Рисование»; г) установить курсор в одной из ячеек таблицы; д) не нужно делать никаких предварительных действий. 16. Буфер обмена принадлежит: а) графическому редактору Microsoft Paint; б) текстовому редактору Microsoft Word; в) операционной системе Microsoft Windows; г) электронным таблицам Microsoft Excel; д) ни одному из выше перечисленного. 17. Компьютерным вирусом является: а) любая программа, созданная на языках низкого уровня; б) программа проверки и лечения дисков; в) программа, скопированная с плохо отформатированной дискеты; г) специальная программа небольшого размера, которая может приписывать себя к другим про граммам, она обладает способностью «размножаться»; д) ярлык. 18. Реляционная база данных это совокупность: а) полей; б) форм; в) таблиц; г) записей; д) ни одно из выше перечисленного. 19. Какой из документов является алгоритмом? а) б) в) г) правила техники безопасности; инструкция по получению денег в банкомате; расписание занятий; список класса; д) анкета. 22. Как осуществляется выделение строки текста? а) двойной клик левой кнопкой мыши в центре строки; б) клик правой кнопкой мыши в центре строки; в) клик левой кнопкой мыши по пункту правка основного меню; г) клик правой кнопкой мыши на правом поле напротив строки; д) клик левой кнопкой мыши на левом поле напротив строки. 23. При вырезании фрагмента текста происходит: а) копирование фрагмента текста; б) удаление фрагмента текста; в) запись фрагмента текста в буферную память; г) перемещение фрагмента текста; д) размножение фрагмента текста. 24. ОС Windows поддерживает длинные имена файлов. Длинным именем файла считается: а) любое имя файла без ограничения на количество символов в имени файла; б) любое имя файла латинскими буквами, не превышающее 255 символов; в) любое имя файла русскими буквами, не превышающее 255 символов; г) любое имя файла, не превышающее 255 символов; д) любое имя файла, не превышающее 125 символов. 25. В MS Excel ссылка С2: а) не изменяется при автозаполнении; б) изменяется при автозаполнении в любом направлении; в) изменяется при автозаполнении вниз; г) изменяется при автозаполнении вправо; д) в таком виде ссылка не указывается. 26. Программа MS Access предназначена для: а) обработки графической информации; б) обработки текстовой информации; в) осуществления расчетов; г) для хранения больших массивов данных и вывода нужных сведений; д) управления ресурсами компьютера. 27. Режим, в котором обычно изменяют структуру объектов MS Access, называют: а) режимом таблицы; б) режимом формы; в) режимом импорта; г) режимом конструктора; д) режимом инструментов. 28. Устройство, предназначенное для подключения компьютера к компьютерной сети, на зывается: а) TV-тюнер; б) сетевой кабель; в) сетевая карта; г) видеоадаптер; д) привод DVD-RW. 29. Сервер - это: а) компьютер, предоставляющий в доступ пользователям какие-либо ресурсы; б) компьютер, имеющий подключение к сети Интернет; в) переносной компьютер; г) рабочая станция; д) компьютер с модемом, подключенный к телефонной линии. 30. Ярлыком называется: Литература основная 1. Бент Б. Андерсен, Катя ван ден Бринк. Мультимедиа в образовании: специализированный учебный курс. – М., Дрофа, 2007. -224 с. 2. Гурская Е.С. Компьютер для школьника. Домашние задания быстро и просто. – СПб.: Питер, 2007. – 304 с. 3. Долженков В.А., Колесников Ю.В. Microsoft Excel 2000. Санкт-Петербург: БХВ-Петербург, 2001. - 188C. 4. Intel® «Обучение для будущего»: Учеб. пособие. - М., 2006. - 128 с. 5. Ларина И.Б. Сборник задач по курсу «ИКТ в образовании»: Для студентов педагогических специальностей. Часть I. – Армавир, РИЦ АГПУ, 2008. – 31 с. 6. Ларина И.Б., Нелин В.М. Некоторые особенности проектирования интерфейса педагогических программных продуктов. Учебно-методическое пособие для студентов, обучающихся по специальности «Информатика». – Армавир, 2005. – 23 с. 7. Рычков В. Самоучитель Excel 2000. Санкт- Петербург: Питер, 1999. -336C. 8. Сборник нормативных документов. Информатика и ИКТ.-Москва: Дрофа, 2004. -60C. 9. Соловьева Л.Ф. Компьютерные технологии для учителя. - СПб., 2004. - 160 с. 10.Шилова О.Н., Лебедева М.Б. Как разработать эффективный учебнометодический пакет средствами информационных технологий. - М., 2006. 144 с. 11. Якушина Е. Интернет для отдыха и работы. Самоучитель. – СПб.: Питер, 2005. – 239 с. 12. Периодические издания: "Информатика и образование", "Информатика", "Педагогическая информатика", "Компьютерные учебные программы и инновации", "Мир ПК", "КомпьютерПресс" и др. Литература дополнительная 1. Волков В.Б. Понятийный самоучитель работы в Excel / В.Б. Волков.-Санкт Петербург: Питер, 2006. -223C. 2. Компьютерная подготовка решений и документов: Учеб. пособие/Сост.: Т.В. Жидкова и др.— М.: Дело, 2002. 3. Могилев А.В. и др. Информатика: учеб. пособие для пед. вузов./ Могилев А.В., Пак Н.И., Хеннер Е.К.-Москва: АСАDEMIA, 1999. -816C. 4. Могилев А.В., Пак Н.И., Хеннер Е.К. Практикум по информатике: Учеб. пособие/Под ред. Е.К. Хеннера.— М.: ИЦ "Академия", 2001. 5. Нелин В.М., Талочкин Н.А. Гипертекстовая среда HYTE. Методическое пособие. Ч.I. Основы программирования мультимедиа приложений в среде HYTE. – Армавир, 2000. 6. Нелин В.М., Талочкин Н.А. Гипертекстовая среда HYTE. Методическое пособие. Ч.II. Методические основы разработки мультимедиа приложений в среде HYTE, ориентированных на практическое применение. – Армавир, 2000. 7. FrontPage 2000: Базовый курс.— М.: Мультимедиа технологии и дистанц. обучение, 2002. 8. Заварыкин В.М., Житомирский В.Г., Лапчик М.П. Основы информатики и вычислительной техники. - М.: Просвещение, 1989. 9. Левин А. Самоучитель работы на компьютере. - М.: Нолидж, 1998. 10.Менсфилд Р. Windows 95 для занятых./Пер. с англ. СПБ: Питер, 1998. 11.Менсфилд Р. Excel 97 для занятых./Пер. с англ. СПБ: Питер, 1997. 12.Борланд Р. Эффектная работа с Word 7.0. - СПБ: Питер, 1996. 13.Филатов О.К. Информационные современные технологии обучения в высшей школе, - Ростов - на - Дону, 1997. 14.Фигурнов В.Э. IBM PC для пользователя. - М.: ИНФРА - М, 1997. 15. Могилев А.В. и др. Информатика: Учеб. пособие для студ. пед. вузов. – М.: 1999. О методическом обеспечении организации внеаудиторной самостоятельной работы студентов первого курса факультета ПИМФ ВМ ИВТ по дисциплине «Теория алгоритмов» Докладчик Бабенко Т.А. Самостоятельная работа студентов состоит в изучении рекомендуемой литературы, проработке лекционного материала, решении задач. Предполагаются следующие виды самостоятельной работы студентов: 1) работа студентов с конспектами лекций и рекомендованной литературой; 2) работа студентов по разбору заданий, выполняемых на семинарских занятиях; 3) подготовка студентов к контрольной работе, коллоквиуму, экзамену. 4) Подготовка рефератов 5) Выполнение теста Образцы контрольных заданий. Вариант №1. 1. Пусть дан алфавит А{в,с}. Постройте алгорифм И, перерабатывающий всякое слово Р в алфавите А, содержащее хотя бы одно вхождение буквы “в” в слово, которое получается вычеркиванием в Р самого левого вхождения “в”. Пустое слово перерабатывает в пустое. Алгорифм И неприменим к непустым словам, не содержащим вхождений буквы “в”. 2. Пусть А произвольный алфавит {а0, а1,…, аn}. Постройте нормальный алгорифм И в алфавите В=А такой, чтобы для любого слова Р в алфавите А выполнялось равенство И(Р)=Р. Причем Р- слово, обратное слово или обращение слова Р. 3. Пусть дан произвольный алфавит {а0, а1,…, аn}. Постройте нормальный алгорифм И, перерабатывающий всякое слово в пустое. 4. Постройте алгорифм И над алфавитом А, приписывающий к произвольному слову Р в А фиксированное слово в алфавите А слева. 5. Постройте алгорифм И в алфавите В=А, приписывающий к произвольному слову Р в А фиксированное слово в алфавите В справа. А={а0, а1,…, аn}. Вариант №2. 1. Пусть дан произвольный алфавит {а0, а1,…, аn} и пусть В=А. Постройте алгорифм И в В такой, что И(Л)=Л и И(Р)=Р для любой буквы А и для произвольного слова Р в А. (т. е. алгорифм, “стирающий” первую букву во всяком слове а алфавите А). 2. Пусть буква не входит в алфавиты А и В, и пусть а0, а1,…, аn – фиксированные буквы алфавита А, а о0, о1,…, оn – фиксированные слова в алфавите В. Постройте нормальный алгорифм в алфавите А В, перерабатывающий всякое слово Р в алфавите А в слово, полученное в результате одновременной подстановки слов а0, а1,…, аn в слово Р вместо букв о0, о1,…, оn. 3. Постройте нормальный алгорифм над алфавитом А={а0, а1,…, аn}, “стирающий” произвольное слово в алфавите А и заменяющий его фиксированным словом О в алфавите А. 4. Постройте алгорифм над алфавитом А={а0, а1,…, аn}, заменяющий каждую букву в произвольном непустом слове буквой. Постройте нормальный алгорифм над алфавитом А={а0, а1,…, аn}, перерабатывающий пустое слово в О и всякое непустое слово в алфавите В в пустое ТЕМЫ ДЛЯ РЕФЕРАТОВ Проблема алгоритмической разрешимости в математике. Основатели теории алгоритмов – Клини, Черч, Пост, Тьюринг. Основные определения и теоремы теории рекурсивных функций Тезис Черча. Проблемы вычислимости в математической логике. Машина Поста. Машина Тьюринга. Нормальные алгоритмы Маркова и ассоциативные исчисления в исследованиях по искусственному интеллекту. Неформальные аксиоматические теории Формальные аксиоматические теории Неразрешимые алгоритмические проблемы Применение логики предикатов к логико-математической практике и формализованном исчислении предикатов Свойства аксиоматических теорий Логика предикатов ВОПРОСЫ К КОЛЛОКВИУМУ 1. Понятие алгоритма и его характерные черты. Уточнение понятия алгоритма. 2. Алгоритм как формальная математическая система. 3. Разрешимые и перечислимые множества. 4. Вычислимые функции. Частично рекурсивные функции. 5. Машина Тьюринга. 6. Примеры схем машины Тьюринга. 7. Нормальные алгоритмы Маркова. 8. Исчисление высказываний 9. Неразрешимые алгоритмические проблемы (обзор). и общерекурсивные Тест по курсу «Теория алгоритмов» Свойство алгоритма записываться в виде упорядоченной совокупности отделенных друг от друга предписаний (директив): 1) понятность; 2) определенность; 3) дискретность; 4) массовость. Свойство алгоритма записываться в виде только тех команд, которые находятся в Системе Команд Исполнителя, 2. называется: 1) понятность; 2)определенность; 3) дискретность; 4) результативность. Свойство алгоритма записываться только директивами однозначно и одинаково интерпретируемыми разными 3. исполнителями: 1) детерминированность; 2) результативность; 3) дискретность; 4) понятность. Свойство алгоритма, что при точном исполнении всех предписаний процесс должен прекратиться за конечное 4. число шагов с определенным ответом на поставленную задачу: 1) детерминированность; 2) результативность; 3) дискретность; 4) понятность. Свойство алгоритма обеспечения решения не одной задачи, а целого класса задач этого типа; 1) понятность; 2) 5. детерминированность; 3) дискретность; 4) массовость. 6. Что называют служебными словами в алгоритмическом языке: 1. слова, употребляемые для записи команд, входящих в СКИ; 2. слова, смысл и способ употребления которых задан раз и навсегда; 3. вспомогательные алгоритмы, которые используются в составе других алгоритмов; 4. константы с постоянным значением? Рекурсия в алгоритме будет прямой, когда: 7. 1. рекурсивный вызов данного алгоритма происходит из вспомогательного алгоритма, к которому в данном алгоритме имеется обращение; 2. порядок следования команд определяется в зависимости от результатов проверки некоторых условий; 3. команда обращения алгоритма к самому себе находится в самом алгоритме; 4. один вызов алгоритма прямо следует за другим. 8. Рекурсия в алгоритме будет косвенной, когда: 1. рекурсивный вызов данного алгоритма происходит из вспомогательного алгоритма, к которому в данном алгоритме имеется обращение; 2. порядок следования команд определяется в зависимости от результатов проверки некоторых условий; 3. команда обращения алгоритма к самому себе находится в самом алгоритме; 4. один вызов алгоритма прямо следует за другим. Команда машины Поста имеет структуру п Km, где: 9. 1) n — действие, выполняемое головкой; К — номер следующей команды, подлежащей выполнению; m порядковый номер команды; 2) n - порядковый номер команды; К — действие, выполняемое головкой; m — номер следующей команды, подлежащей выполнению; 3) n — порядковый номер команды; К - номер следующей команды, подлежащей выполнению; m — действие, выполняемое головкой; 4) n — порядковый номер команды; К— действие, выполняемое головкой; m — номер клетки, с которой данную команду надо произвести. 10. Сколько существует команд у машины Поста: 1) 2; 2) 4; 3) 6; 4) 8? 11. В машине Поста останов будет результативным: 1) при выполнении недопустимой команды; 2) если машина не останавливается никогда; 3) если результат выполнения программы такой, какой и ожидался; 4) по команде «Стоп». 12. В машине Поста некорректным алгоритм будет в следующем случае: 1) при выполнении недопустимой команды; 2) результат выполнения программы такой, какой и ожидался; 3) машина не останавливается никогда; 4) по команде «Стоп». 1. 13. В машине Тьюринга рабочий алфавит: 1) А = {a40 0, b40 1, c40 2, … , w40 t}; 2) А = {a40 0, a40 1, a40 2, … , a40 t}; 3) А = {a40 0, a41 0, a42 0, … , a4t 0}; 4) А = {a10 0, a20 0, a30 0, … , a90 0} 14. В машине Тьюринга состояниями являются: 1){a40 0, a40 1,a402, …,a40 t}; 2) {q41, q42, q43, …, q4s}; 3){q41, q42, q43, …, q4s, a40 0, a40 1, a40 2,…,a40 t}; 4){q40, q41, q42, …, q4s}. 15. В машине Тьюринга предписание L для лентопротяжного механизма означает: 1) переместить ленту вправо; 2) переместить ленту влево; 3) остановить машину; 4) занести в ячейку символ. 16. В машине Тьюринга предписание R для лентопротяжного механизма означает: 1) переместить ленту вправо; 2) переместить ленту влево; 3) остановить машину; 4) занести в ячейку символ. 17. В машине Тьюринга предписание S для лентопротяжного механизма означает: 1) переместить ленту вправо; 2) переместить ленту влево; 3) остановить машину; 4) занести в ячейку символ. 18. В алгоритме Маркова ассоциативным исчислением называется: 1) совокупность всех слов в данном алфавите; 2) совокупность всех допустимых систем подстановок; 3) совокупность всех слов в данном алфавите вместе с допустимой системой подстановок; 4) когда все слова в алфавите являются смежными. 19. В ассоциативном счислении два слова называются смежными: 1) если одно из них может быть преобразовано в другое применением подстановок; 2) если одно из них может быть преобразовано в другое однократным применением допустимой подстановки; 3) когда существует цепочка от одного слова к другому и обратно; 4) когда они дедуктивны. 20. В алгоритме Маркова дана цепочка Р P1 Р2 ... Рк, Если слова P1 , Р2 ,..., Рк-1, смежные, то цепочка называется: 1) ассоциативной; 2) эквивалентной; 3) индуктивной; 4) дедуктивной. 21. В алгоритме Маркова дана цепочка Р P1 Р2 ... Рк,. Если слова P1 , Р2 ,..., Рк-1, смежные и цепочка существует и в обратную сторону, то слова Р и Рк называют: 1) ассоциативными; 2) эквивалентными; 3) индуктивными; 4) дедуктивными. 22. В алгоритмах Маркова дана система подстановок в алфавите А = {а, b, с}: abc — с; ba — cb; са — аb. Преобразуйте с помощью этой системы слово bacaabc: 1) cbc; 2) ccbcbbc; 3) cbacba; 4) cbabc. 23. В алгоритмах Маркова дана система подстановок в алфавите А = {а, b, с}: cb — abс; bac — ac; саb — b. Преобразуйте с помощью этой системы слово bcabacab: 1) ccb; 2) cab; 3) cbc; 4) bcaab. 24. Способ композиции нормальных алгоритмов будет суперпозицией, если: 1) выходное слово первого алгоритма является входным для второго; 2) существует алгоритм С, преобразующий любое слово р, содержащееся в пересечении областей определения алгоритмов А и В; 3) алгоритм D будет суперпозицией трех алгоритмов А В С, причем область определения D является пересечением областей определения алгоритмов А В и С, а для любого слова р из этого пересечения D(p)=A(p), если С(р) = е, D(p) = В(р), если С(р) = е, где е — пустая строка; 4) существует алгоритм С, являющийся суперпозицией алгоритмов А и B такой, что для любого входного слова р С(р) получается в результате последовательного многократного применения алгоритма А до тех пор, пока не получится слово, преобразуемое алгоритмом В. 25. Способ композиции нормальных алгоритмов будет объединением, если: 1) выходное слово первого алгоритма является входным для второго; 2) существует алгоритм С, преобразующий любое слово р, содержащееся в пересечении областей определения алгоритмов А и В; 3) алгоритм D будет суперпозицией трех алгоритмов А В С, причем область определения D является пересечением областей определения алгоритмов А В и С, а для любого слова р из этого пересечения D(p) = A(p), если С(р) = е, D(p) = В(р), если С(р) = е, где е — пустая строка; 4) существует алгоритм С, являющийся суперпозицией алгоритмов А и В, такой, что для любого входного слова р С(р) получается в результате последовательного многократного применения алгоритма А до тех пор, пока не получится слово, преобразуемое алгоритмом В. 26. Способ композиции нормальных алгоритмов будет разветвлением, если: 1) выходное слово первого алгоритма является входным для второго; 2) существует алгоритм С, преобразующий любое слово р, содержащееся в пересечении областей определения алгоритмов А и В; 3) алгоритм D будет суперпозицией трех алгоритмов A B C, причем область определения D является пересечением областей определения алгоритмов А В и С, а для любого слова р из этого пересечения D(p) = А(р), если С(р) = е, D(p) — В(р), если С(р) = е, где е — пустая строка; 4) существует алгоритм С, являющийся суперпозицией алгоритмов А и В такой, что для любого входного слова р С(р) получается в результате последовательного многократного применения алгоритма А до тех пор, пока не получится слово, преобразуемое алгоритмом В. 27. Способ композиции нормальных алгоритмов будет итерацией, если: 1) 2) 3) 4) выходное слово первого алгоритма является входным для второго; существует алгоритм С, преобразующий любое слово р, содержащееся в пересечении областей определения алгоритмов А и В; алгоритм D будет суперпозицией трех алгоритмов A B C, причем область определения D является пересечением областей определения алгоритмов А В и С, а для любого слова р из этого пересечения D(p) = А(р), если С(р) = е, D(p) — В(р), если С(р) = е, где е — пустая строка; существует алгоритм С, являющийся суперпозицией алгоритмов А и В такой, что для любого входного слова р С(р) получается в результате последовательного многократного применения алгоритма А до тех пор, пока не получится слово, преобразуемое алгоритмом В. СПИСОК РЕКОМЕНДУЕМОЙ ДЛЯ ИЗУЧЕНИЯ ЛИТЕРАТУРЫ. Основная литература 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Брой М., Румпе Б. Введение в информатику: сборник задач. Структурированное собрание упражнений с образцами решений./Пер. с нем. – М.: Научный мир, Диалог-МИФИ, 2000 – 374с. Брой М. Информатика. Основополагающее введение. Ч.4./Пер. с нем. – М.: Диалог – МИФИ, 1998 – 224с. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. Зюзьков В.М., Шелупанов А.А. Математическая логика и теория алгоритмов. Учебное пособие для вузов. – 2-е изд. – М.: Горячая линия – Телеком, 2007. – 176с. Игошин В.И. Математическая логика и теория алгоритмов. – Саратов: Издательство Саратовского университета, 1991. Козлов К.П. Алгоритмы: Учеб. пособие. – Л., ЛГПИ, 1989. – 39с. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. – 4-е изд. – М.: ФИЗМАТЛИТ, 2001. – 256с. Лихтарников Л.М., Сукачева Т.Г. Математическая логика. Курс лекций. Задачник-практикум и решения. Серия «Учебники для вузов. Специальная литература». – Спбю: Издательство «Лань», 1999. – 288с. Мальцев А.И. Алгоритмы и рекурсивные функции. – 2-е изд. – М.: Наука, 1986. Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. – М.: Мир, 1972. Кейслер Г., Чен Ч. Теория моделей. - М.: Мир, 1977. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. – 2-е изд., перераб. и доп. – М.: Энергоатомиздат, 1988.-480с. Алферова З.А. Теория алгоритмов. – М.: Статистика, 1973. Манин Ю.И. Вычислимая и невычислимое, - М.: Сов. радио, 1980. Машины Тьюринга и вычислимые функции: Пер. с нем., - М.: МИР, 1972. Трахтенброт Б.А. Алгоритмы и вычислительные автоматы. – М.: Сов. радио, 1974. Успенский В.А. Машина Поста. – М.: Наука, 1988. Языки и автоматы. Сборник переводов./Под ред. Маслова А.К. - М.: Мир. Могилев А.В. и др. Практикум по информатике: Учеб. пособие для студ. всш. учеб. заведений/ А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера. – М.: Издательский центр «Академия», 2001. – 608с. 20. Могилев А.В. и др. Информатика: Учеб. пособие для студ. всш. учеб. заведений/ А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера. – М.: Издательский центр «Академия», 1999. – 608с. Дополнительная литература 1) Бауэр Ф.Л., Гооз Г.. Информатика. В 2-х тт. М., “Мир”, 1990. 2) Вирт Н. Алгоритмы и структуры данных. М., “Мир”, 1989. 3) Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск данных. М., “Мир”, 1978. 4) Лавров И. А. , Максимов А. А.. Задачи по теории множеств, математической логике и теории алгоритмов. М., 1975. 5) Мальцев А. И. Алгоритмы и рекурсивные функции. М., Наука,1965. 6) Яблонский С.В.. Введение в дискретную математику. М., “Высшая школа”, 2001. 7) Ахо А.В., Хопкрофт Д.Э., Ульман Д.Д. Структуры данных и алгоритмы. М-СПб-К, “Вильямс”, 2001. 8) Горбатов В.А. Фундаментальные основы дискретной математики. М., “Наука. Физматлит”, 2000. О методическом обеспечении организации внеаудиторной самостоятельной работы студентов первого курса факультета ПИМФ ВМ Физ по дисциплине Курс по выбору «Программирование» Докладчик Бабенко Т.А. Методическое пособие для самостоятельной работы ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ................................................................................................................. 4 ВАРИАНТЫ ЗАДАНИЙ .......................................................................................... 5 I. ЛИНЕЙНЫЕ ПРОГРАММЫ .............................................................................. 6 II. ОПЕРАТОРЫ ВЫБОРА И УСЛОВНОГО ПЕРЕХОДА ........................... 12 III. ЦИКЛЫ .............................................................................................................. 19 IV. ПРОЦЕДУРЫ. .................................................................................................. 25 V. ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ ....................................................................... 31 ЛИТЕРАТУРА ......................................................................................................... 38 ВВЕДЕНИЕ Основная цель пособия - помочь студентам в проведении самостоятельной работы, которая может быть реализована в форме типового расчета. Пособие содержит примеры решения задач и задачи по программированию на языке Паскаль. Всего предложено 25 вариантов, содержащих по 15 задач и охватывающих следующие темы: Линейные программы, операторы выбора и условного перехода, циклы, процедуры, функции пользователя. К каждому разделу приводятся несколько типовых задач с решениями, что позволяет студентам самостоятельно выполнить типовой расчет. В настоящем пособии приводится список литературы, которая может быть использована при работе над типовым расчетом. Работа над типовым расчетом заключается в том, что студенты в начале семестра получают варианты заданий и во время самостоятельной работы решают предложенные задачи. Все задачи должны быть аккуратно записаны в тетрадь и на магнитный носитель.На обложке тетради должны быть указаны следующие данные: 1. Номер группы. 2. Фамилия И. О. 3. Номер варианта. В тетради должны быть указаны номера и названия разделов, номера и условия задач. На электронных носителях информация должна храниться в виде файлов исходных модулей программ на языке Паскаль. Структура названия файла должна содержать вариант, раздел, номер задачи в виде: вариант_раздел_номер задачи. Например, для варианта 10, названия файлов имеют вид. 10_1_5.pas 10_2_5.pas 10_3_11.pas 10_4_20.pas 10_1_8.pas 10_2_17.pas 10_3_15.pas 10_5_10.pas 10_1_22.pas 10_2_22.pas 10_3_21.pas 10_5_20.pas 10_2_1к.pas 10_3_4.pas 10_4_10.pas Проверка типового расчета производится в два этапа. 1. Проверка типового расчета. Осуществляется преподавателями, ведущими практические занятия. 2. Защита типового расчета. Осуществляется лектором во время коллоквиума. В процессе защиты оценивается самостоятельность работы, понимание материала, использованного в типовом расчете. Выполнение и защита типового расчета является необходимым условием итоговой аттестации по курсу "Программирования" ВАРИАНТЫ ЗАДАНИЙ № варианта 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 I Разделы III II 1 2 3 4 5 1 2 3 6 7 8 9 10 11 12 6 13 14 15 16 17 18 19 20 1а 1б 1в 1г 1д 1е 1ж 1з 2 3 4 5 6 7 2 3 8 9 10 11 12 13 14 15 22 23 24 25 26 27 28 29 4 5 1 7 8 9 21 22 23 1и 1к 1а 4 16 5 17 6 18 30 22 23 2 3 4 5 1 2 3 4 5 1 2 3 4 5 10 11 12 6 7 8 9 10 11 12 6 7 8 9 24 25 13 14 15 16 17 18 19 20 21 22 23 24 1б 1в 1г 1д 1е 1ж 1з 1и 1к 1а 1б 1в 1г 1д 7 2 3 4 5 6 7 2 3 4 5 6 7 2 24 25 26 27 28 29 30 22 23 24 25 26 27 28 19 20 21 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 7 8 9 10 11 7 8 9 10 11 7 8 9 10 11 7 8 9 10 11 7 8 9 10 11 12 13 14 15 16 17 12 13 14 15 16 17 12 13 14 15 16 17 12 13 14 15 16 17 12 IV 18 19 20 21 22 23 18 19 20 21 22 23 18 19 20 21 22 23 18 19 20 21 22 23 18 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 V 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 I. ЛИНЕЙНЫЕ ПРОГРАММЫ Типы переменных в Паскале: INTEGER – целый тип (диапазон -32768...32767) REAL – действительный, вещественный тип (диапазон 2.9*10-39...1.7*10+38) CHAR – литерный, символьный тип BOOLEAN – логический тип BYTE – целые числа от 0 до 255 LONGINT – целый тип (диапазон -2147483648... 2147483647) STRING – СТРОКОВЫЙ ТИП (ОТ 0 ДО 255 СИМВОЛОВ) Стандартные операции и функции от скалярных данных. Функция, операция A+B Назначение Сумма Тип переменных REAL, INTEGER Тип результата операции, функции REAL, INTEGER A-B Разность REAL, INTEGER REAL, INTEGER A*B Произведение REAL, INTEGER REAL, INTEGER A/B Частное REAL, INTEGER REAL ABS(x) Абсолютное значение REAL, INTEGER REAL, INTEGER SQR(x) Вычисление х2 REAL, INTEGER REAL,INTEGER sin(x) Нахождение sin x REAL,INTEGER REAL cos (x) Вычисление cos x REAL, INTEGER REAL Arctan(x) Вычисление arctan x Вычисление экспоненты ех Вычисление ln x REAL, INTEGER REAL REAL, INTEGER REAL REAL, INTEGER REAL х REAL, INTEGER REAL INTEGER INTEGER INTEGER INTEGER REAL, INTEGER INTEGER Exp(x) Ln(x) SQRT(x) Вычисление Нахождение целой части при делении А на B Нахождение остатка при делении А на B Нахождение целой части х Округление х в сторону ближайшего целого Зарезервированная константа число π A div B A mod B TRUNC(x) ROUND(x) PI REAL, INTEGER INTEGER REAL Некоторые математические функции, не реализованные в языке Паскаль. В математике xn log b a tg x ctg x ОПЕРАТОРЫ: В программировании на языке Паскаль exp(n*ln(x)) ln(a)/ln(b) sin(x)/cos(x) cos(x)/sin(x) Оператор Readln Writeln Read Write Назначение ввод значений с клавиатуры c переводом курсора на новую строку вывод значений на экран c переводом курсора на новую строку ввод значений с клавиатуры вывод значений на экран Синтаксис Readln( перем1, …, перемN) Writeln('Текст') Writeln(перем1, ..., перемN) Read( перем1, …, перемN) Write('Текст') Write(перем1, ..,перемN) ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ: Пример 1. Составить программу расчета значения функции. Z = |cos х4 – 3 tg х2 |+0.8 sin yх2+ 10 при любых значениях х и у. Результат вывести в виде: при х= и у=… z=… Решение: program pr1; var x,y,z: real; begin writeln('введите X Y'); {вывод строки подсказки} readln (x,y); {ввод аргументов x и y} z:=abs(cos(sqr(x)*sqr(x)-3*sin(sqr(x))/cos(sqr(x))))+0.8*sin(y*sqr(x))+10; writeln('при x=',x:8:2,' y=',y:8:2,' z=',z:8:2); {вывод результата} readln; {задержка до нажатия клавиши Enter} end. Результат: введите X Y 12 при x=1.00 y=2.00 z=11.59 Пример 2. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме сложения, получить 7а за четыре операции. Решение: program pr2; var a,b,c,d:real; begin write('введите a '); readln (a); b:=a+a; {2a} c:=b+b; {4a} d:=b+c; {6a} a:=d+a; {7a} writeln('7a=',a:8:2); readln; end. Результат: введите a 2 7а= 14.00 Пример 3. Найти площадь круга и длину окружности. Решение: program pr3; var d,r,s:real; begin write('введите радиус окружности '); readln (r); d:= 2*Pi*r; s:=Pi*sqr(r); writeln('длина окружности= ',d:4:2); writeln('площадь окружности= ',s:4:2); readln; end. Результат: введите радиус окружности 5 длина окружности=31.42 площадь окружности=78.54 Пример 4. Вычисление суммы цифр введенного натурального двузначного числа. Решение: Program pr4; Var n, a, b: integer; begin write('n= '); readln(n); a:=n div 10; b:=n mod 10; writeln('сумма = ', a+b); end. {1-я цифра} {2-я цифра} Результат: n=48 сумма=12 Пример 5. Введенное 4-значное число изменить так, чтобы 2 и 3 цифры поменялись местами. Решение: program pr5; var n,a,b,c,d:integer; begin write('введите n '); readln (n); a:=n div 1000; {1-я цифра числа} b:=n div 100 mod 10; {2-я цифра числа } c:=n div 10 mod 10; {3-я цифра числа } d:=n mod 10; {4-я цифра числа} n:= a*1000+c*100+b*10+d; {получение числа в виде суммы разрядных слагаемых} writeln('результат', n); readln; {задержка до нажатия клавиши Enter} end. Результат: введите n 1234 результат 1324 Пример 6. Обмен значениями переменных x и y. Решение: Program pr6; Var x,y,t: integer; begin write('Введите x y '); readln(x,y); t:=x; x:=y; y:=t; writeln('x=', x, 'y=',y); readln end. Результат: Введите x y 3 x=7 y=3 7 Пример 7. Вычислить значение y = (3tg x 2– ex )/2sin x для х = -34, 0.89, 1.23 Решение: program pr7; var x,y:real; begin Write('введите x '); readln (x); y:=(3*sin(sqr(x))/cos(sqr(x))-exp(x))/(2*sin(x)); Writeln('при x=',x:4:2,' y=',y:4:2); readln; end. Результат: 1 случай: введите x 34 при x=34.00 y=-551389941339996.31 2 случай: введите x 0.89 при x=0.89 y=0.39 3 случай: введите x 1.23 при x=1.23 y=25.64 ЗАДАНИЯ 1. Составить программу расчета значения функции Z = |3 ех+3 – 2 ln ху| + 1,8х2 + 1 при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=… 2. Составить программу расчета значения функции Z = tg х3 – |2 sin х2у + 7.8 cos х |+ 10 при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=… 3. Составить программу расчета значения функции Z = (х4 – 2 ctg х2у2 )/| 8х2 – 5 arctg у| при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=… 4. Составить программу расчета значения функции Z = tg х5 – 21 ctg ху2 /(18 sin х – 13 cos у + 11) при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=… 5. Составить программу расчета значения функции Z = (2eх-4 – |sin х2у| )/( 2.1ctg х2 + 10.2) при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=… 6. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a4 за две операции. 7. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a6 за три операции. 8. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a7 за четыре операции. 9. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a8 за три операции. 10.Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a9 за четыре операции. 11.Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a10 за четыре операции. 12.Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме сложения, получить 6a за три операции. 13.Найти произведение цифр введенного 4-значного числа. 14.Найти сумму цифр введенного 4-значного числа. 15.Определить сумму квадратов цифр введенного 3-значного числа. 16. Введено 3-значное число. Вывести число в зеркальном отображении. 17.Введено 3-значное число. Вывести число в зеркальном отображении 18.Введенное 4-значное число изменить так, чтобы 1 и 4 цифры поменялись местами. 19.Найти среднее арифметическое цифр введенного 3-значного числа. 20.Введено 3-значное число. Поменять местами 1-ю и 3-ю цифры числа. 21.Введенное 4-значное число изменить так, чтобы 1-3 и 2-4 цифры поменялись местами. 22.Найти полусумму цифр введенного 4-значного числа. 23.Определить сумму квадратов цифр введенного 3-значного числа. 24.Введенное 4-значное число изменить так, чтобы 1 и 3 цифры поменялись местами. 25.Введенное 4-значное число изменить так, чтобы 3 и 4 цифры поменялись местами. II. ОПЕРАТОРЫ ВЫБОРА И УСЛОВНОГО ПЕРЕХОДА. ОПЕРАТОРЫ: Оператор if … then… Назначение проверка условий case выбор Синтаксис if <условие> then <оператор1> else <оператор2> if <условие> then <оператор> case <переменная> of <константа 1>: <операторы 1>; … < константа n>: <операторы n> [else <операторы>] end; ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ: Пример 1. Выбор минимального из трех введенных целых чисел. Решение: Program pr1; Var a, b, c, m: integer; BEGIN Write('a, b, c='); readln(a, b, c); if a<b then m:=a else m:=b; {выбор минимального из a и b} if c<m then m:=c; {сравнение с третьим числом} writeln('Мin=', m); {вывод результата} readln END. Результат: 1 случай: a, b, c= 15 6 Мin=6 9 2 случай: a, b, c= 1 45 4 Мin=1 3 случай: a, b, c= 25 16 Мin=9 9 Пример 2. Решение квадратного уравнения вида Ax2 + Bx + C = 0. Решение: Program pr2; Var a, b, c, d, x1, x2: real; BEGIN Write('a, b, c='); readln(a, b, c); {вводим коэффициенты квадратного уравнения} d:=sqr(b)-4*a*c; {вычисляем дискриминант} if d>0 then begin {если дискриминант положительный, то вы числяем два корня} x1:=(-b+sqrt(d))/(2*a); writeln('x1=', x1:6:2); x2:=(-b-sqrt(d))/(2*a); writeln('x2=', x2:6:2) end else if d=0 then begin { иначе, если дискриминант равен 0, то вычисляем один корень} x1:=-b/(2*a); writeln('x=', x1:6:2) end else writeln('Корней нет'); {иначе выводим сообщение ‘Корней нет’} readln END. Результат: 1 случай: a, b, c= 1 -2 x= 1.00 2 случай: a, b, c= 1 -6 x1= 4.00 x2= 2.00 1 8 3 случай: a, b, c= 5 1 2 Корней нет Пример 3. Определить, есть ли в записи трехзначного числа хотя бы одна нечетная цифра. Решение: program pr3; Var a, a1, a2, a3: integer; BEGIN Write('a='); readln(a); a1:= a div 100; a2:= (a div 10) mod 10; a3:= a mod 10; if (a1 mod 2=1) or (a2 mod 2=1) or (a3 mod 2=1) {Если 1-я цифра нечетная, или 2-я нечетная, или 3-я нечетная, то выводим ‘Yes’, иначе выводим ‘No’} then writeln('Yes') else writeln('No'); readln; END. Результат: 1 случай: a=418 Yes 2 случай: a=246 No Пример 4. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет. y x2+y2=25 1 x x +y =4 2 2 Решение: program pr4; var x,y: real; begin Write('введите x y '); readln (x,y); if (sqr(x)+sqr(y)<=25) and (sqr(x)+sqr(y)>=4) then writeln('точка попадает в заштрихованную область') else writeln('точка не попадает в заштрихованную область'); readln; end. Результат: 1 случай: введите x y 1 1 точка попадает в заштрихованную область 2 случай: введите x y 2 5 точка не попадает в заштрихованную область Пример 5. Введено трехзначное число. Необходимо разбить его на цифры. Все четные цифры, которые меньше 8 увеличить на 2, а 8 заменить на 0. Решение: program pr5; var n,a,b,c,d:Integer; begin write('введите n'); readln (n); a:=n div 1000; b:=n div 100 mod 10; c:=n div 10 mod 10; d:=n mod 10; if (a mod 2=0) and (a<8) then a:=a+2 else if a=8 then a:=0; if (b mod 2=0) and (b<8) then b:=b+2 else if b=8 then b:=0; if (c mod 2=0) and (c<8) then c:=c+2 else if c=8 then c:=0; if (d mod 2=0) and (d<8) then d:=d+2 else if d=8 then d:=0; writeln('результат ',a,b,c,d); readln; end. Результат: введите n1824 результат 1046 Пример 6. Составить программу, которая выводит меню и выполняет указанные действия с заданными целыми числами: 1 - произведение двух чисел 2 - частное двух чисел 3 - сумма двух чисел Решение: program pr6; var a,b,n: integer; begin writeln('1 – произведение двух чисел'); writeln('2 – частное двух чисел'); writeln('3 – сумма двух чисел'); write('введите номер операции '); readln(n); write('введите два числа'); readln(a,b); case n of 1: writeln('произведение=',a*b); 2: writeln('частное=',a/b:4:2); 3: writeln('сумма=',a+b); else writeln('не верный номер'); end; readln; end. Результат: 1 – произведение двух чисел 2 – частное двух чисел 3 – сумма двух чисел введите номер операции 2 введите два числа 3 5 частное=0.60 Пример 7. Ввести первую букву времени года и вывести соответствующее название времени года на русском языке. Решение: Program pr7; Var N: char; Begin writeln ('введи первую букву времени года '); Readln (N); Case N of 'з' : writeln ('зима'); 'в': writeln ('весна'); 'л': writeln('лето'); 'о': writeln('осень') end. Результат: введи первую букву времени года о осень ЗАДАНИЯ 1. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет. а) y б) y=5 sin x y y=-(x-1)2+1 -1 3 x x в) pi y г) y=3sinx y y x2+y2=4 y x 1 x 2 x +y =1 pi д) е) y=x2 2 x x 2 y=-0.5x y=-x2+2 2 ж) y=-x2 y з) y x2+y2=4 2 x 2 y=-x2+2 и) 2 y x2+y2=4 y y= x к) 2 4 x 4 x 2. 3. 4. 5. Введено трехзначное число. Найти сумму четных цифр. Введено четырехзначное число. Содержится ли в записи этого числа цифра 7? Введено четырехзначное число. Найти среднее арифметическое нечетных цифр. Введено трехзначное число. Если в записи числа встречается цифра 5, то записать число в зеркальном отображении. 6. Введено трехзначное число. Если сумма его цифр нечетна, то увеличить число вдвое. 7. Введено четырехзначное число. Найти сумму цифр, кратных 3-м. 8. Вводятся Х и Y. Если хотя бы одно из этих чисел положительно, то найти их произведение. Иначе – найти их сумму. 9. Вводятся Х и Y. Если Х больше Y, то произвести их обмен. 10. Из чисел A, B, C, D выбрать максимальное. 11. Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны. 12. Даны два числа А и B. Выяснить, делиться ли A на B. 13. Вводится число. Если оно положительное, то уменьшить его в 10 раз. 14. Вводятся X и Y. Заменить большее из этих чисел разностью большего и меньшего. 15. Определить, принадлежит ли введенное Х интервалу (-10, 15)? 16. Вводится натуральное Х. если оно четное, то уменьшить его вдвое, если нечетное – увеличить на 10. 17. Вводятся X и Y. Заменить меньшее из них суммой этих чисел. 18. Из чисел A, B, C, D выбрать минимальное. 19. Определить, сколько среди заданных чисел A, B, C, D отрицательных. 20. Сколько среди заданных чисел A, B, C, D нечетных. 21. Сколько среди заданных чисел A, B, C, D четных. 22. Составить программу, которая выводит меню и выполняет указанные действия с заданными целыми числами: 1 - сумма двух чисел 2 - разность двух чисел 3 - конец работы 23. Составить программу, которая по введенной начальной букве выводит название цветов радуги (красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый). 24.Составить программу, которая выводит меню и при нажатии нужной цифры вычисляет соответствующее выражение: 1 - y= x3 + x 2 - y= (x +1)2 3 - y= x4 25.Составить программу, которая по введенному порядковому номеру выводит название дня недели. 26.Составить программу, которая позволяет ввести номер месяца и вывести его название. 27.Составить программу, которая выводит меню и при нажатии вводе цифры вычисляет соответствующее выражение: 1 - y= (a+b)2 2 3 - y= a2-b2 - y= 1/(a+b) 28.Составить программу, которая выводит меню и при вводе буквы вычисляет соответствующую функцию: Т - Tg x S - Sin x C - Cos x 29.Составить программу, которая по введенной заглавной букве выводит название столиц мира: Москва, Париж, Лондон, Рим. 30.Составить программу, которая выводит меню и при вводе буквы вычисляет соответствующую функцию: A - Abs x S - Sin x C - Cos x III. ЦИКЛЫ ОПЕРАТОРЫ: Оператор For Назначение Цикл с параметром While Цикл с предусловием Repeat Until Цикл с постусловием Синтаксис For <перем>:=<начальное знач> to <кон.знач> do <оператор>; Значение переменной изменяется от начального значения к конечному с шагом 1. For <перем>:=<нач. знач> downto <конеч. знач> do <оператор>; Значение переменной изменяется от начального значения к конечному с шагом -1 While <условие> do <оператор>; Цикл выполняется, пока условие истинно. Repeat <Операторы>; Until <условие>; Цикл выполняется, пока условие ложно. Пример 1. Вывести квадраты первых десяти натуральных чисел. Решение: Program pr1; Var i, x: integer; begin for i:=1 to 10 do begin x:=sqr(i); write(x, ' '); end; readln end. {перебираем натуральные числа от 1 до 10} {возводим очередное число в квадрат} {выводим полученное значение} Результат 1 4 9 16 25 36 49 64 81 100 Пример 2. Найти сумму 1 + 1/3 + 1/5 +...(N слагаемых). Решение: Program pr2; Var I, N: integer; S: real; begin Write('N='); Readln(N); {вводим количество слагаемых} S:=0; For I:=1 to N do S:=S+1/(2*I-1); Writeln('S=',S:5:2); Readln {обнуляем сумму} {выполняем цикл N раз, добавляя к сумме по од ному слагаемому} {выводим значение суммы с двумя десятичными знаками} end. Результат: N=4 S= 1.68 Пример 3. Дано натуральное число n. Найти сумму S=1+2/3+3/7... (n слагаемых) Решение: Program pr3; var i,b,n:integer; s:real; begin write('Введите n '); readln(n); s:=1; b:=3; for i:=2 to n do begin s:=s+ i/b; b:=b+4; end; writeln('сумма=',s:4:2); readln; end. Результат: Введите n 5 сумма=2.79 Пример 4. Дано натуральное число n. Вычислить 31+32+…...+3n Решение: program pr4; var i,n:integer; s:real; begin write('введите n '); readln(n); s:=0; for i:=1 to n do s:=s+ exp(i*ln(3)); writeln('сумма=',s:4:0); readln; end. Результат: введите n 5 сумма= 363 Пример 5. Найти сумму ряда: S = x - x2 /4 + x3/9 - x4/16... (n слагаемых). Решение: Program Pr5; Var i, n, z: integer; p, s: real; begin writeln ('введите n'); readln ( n ); writeln('введите x'); readln( x ); z:=1; p:=x; s:=0; for i:=1 to n do begin s:= s + z*p/sqr(i); p:=p*x; z:=-z end; writeln ('S=', S :6:2); readln end. Пример 6. Вычислить произведение: (1 + sin2 )*(2 + sin3 )*... (n сомножителей). Найти сумму ряда: S = x - x2 /4 + x3/9 - x4/16... (n слагаемых). Решение: Рrogram Pr6; Var n, i: integer; p: real; begin write('n='); readln(n); p:=1; for i:=1 to n do p:=p* (i + sin(i+1)); writeln('p=', p:6:3); readln end. Результат: n=5 p=131.645 Пример 7. Задана арифметическая прогрессия -21; - 16;… Определить номер первого положительного члена прогрессии. a – очередной член прогрессии, n – его порядковый номер Решение: Program Pr7; var a, n: integer; begin a:= -21; n:=1; {задаем начальные значения} while a<=0 do begin {пока очередной член прогрессии меньше либо ра a:=a+5; n:=n+1; равен 0, вычисляем следующий член прогрессии и end; и его порядковый номер} writeln(‘n=’, n); {выводим номер 1-го положительного члена прогрессии} readln; end. Результат: n=6 Пример 8. Протабулировать функцию y:=sin(x)*x интервале [-/2,/2] с шагом /10. Решение: Program pr8; Var x, y: real; begin x:=-pi/2; while x<=pi/2 do begin y:=sin(x)*x; writeln('x=',x:8:2,' y=',y:8:2); x:=x+pi/10 end; end. Пример 9. Вычислить сумму: cos(1+x)+cos2(1+x)+cos3(1+x)+...+cosn(1+x) S= Решение: Рrogram Pr9; Var n, i: integer; s,x,t: real; begin write(' n='); readln(n); write(' x='); readln(x); s:=0; t:=cos(1+x); for i:=1 to n do begin s:=s+t; t:=t*cos(1+x); end; writeln('s=', s:4:2) end. (n слагаемых). Пример 10. Подсчитать количество двузначных чисел, у которых сумма цифр нечетна. Решение: Program Pr10; Var n, a, b, k: integer; begin k:=0; for n:=10 to 99 do begin a:= n div 10; b:=n mod 10; if (a+b) mod 2=1 then k:=k+1; end; writeln('k=',k) end. ЗАДАНИЯ 1. Дано натуральное число n. Вычислить 21+22+…+2n . 2. Дано натуральное число n. Вычислить n! ( n! 1 2 3 n ) 1 1 1 3. Дано натуральное число n. Вычислить 1 2 1 2 1 2 . 1 2 n 4. Дано натуральное число n и действительно число х. Вычислить sin x sin 2 x sin n x . 5. Даны натуральные числа а, n. Вычислить aa na 2na n * n . 6. Найти произведение: Р = (1 + х)·(3+2х)·(5+3х)·... . (n множителей) 7. Задана арифметическая прогрессия. 7,6; 6,3; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0. 8. Задана арифметическая прогрессия 2; 2,8; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >20. 9. Задана арифметическая прогрессия. 7,1; 5,3; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0. 10.Задана арифметическая прогрессия. 8,4; 6,2 … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0. 11.Задана арифметическая прогрессия. 2; 3,8; ... . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >30. 12.Подсчитать количество и сумму четных трехзначных чисел. 13.Подсчитать сумму двухзначных чисел, сумма цифр которых не превышает 7. 14.Подсчитать количество двузначных чисел, кратных 3. 15.Подсчитать сумму двузначных чисел, сумма цифр которых не превышает 10. 16. Подсчитать количество и сумму трехзначных чисел, кратных 3. 17. Подсчитать количество и сумму четных трехзначных чисел. 18. Протабулировать функцию y=x3-1 на интервале [-1,3] с шагом 0.2. 19. Протабулировать функцию y=x2-1/x на интервале [1,2] с шагом 0.05. 20.Протабулировать функцию y= sin x – cos x на интервале [-,] с шагом /10. 21.Протабулировать функцию y= cos(x)*x на интервале [-,] с шагом /10. 22.Протабулировать функцию y=sin2x на интервале [0,] с шагом /20. 23.Протабулировать функцию y= cos x2+sin x2 на интервале [-/2,/2] с шагом /10. 24. Дано натуральное число n. Найти сумму S=1-3+5-… . (n слагаемых) 25.Дано натуральное число n. Найти сумму S=1+2/3+3/5 ... . (n слагаемых) 26.Дано натуральное число n. Найти сумму S=1-1/5+1/9-1/13+… . (n слагаемых) 27.Дано натуральное число n. Найти сумму S=1-3+5-… . (n слагаемых) IV. ПРОЦЕДУРЫ Процедура – это относительно самостоятельная часть программы, имеющая собственное имя. Процедура описывается перед основной программой. Структура процедуры: Procedure <имя_процедуры>(<параметры>); -заголовок процедуры Label <метки>; Const <константы>; раздел объявления меток, констант, типов данных, Type <типы данных>; переменных (может отсутствовать) Var <переменные>; Begin <операторы > - тело процедуры End; Параметры, указанные в заголовке процедуры называются формальными. Вызов процедуры осуществляется из основной программы указанием ее имени. При вызове процедуры формальные параметры заменяются фактическими. Количество и тип формальных и фактических параметров должны совпадать. Для передачи исходных данных в процедуру используются параметры-значения. Фактические параметры-значения могут быть константами, переменными, выражениями. Полученный в процедуре результат передается в основную программу с помощью параметров-переменных. В заголовке описания процедуры перед параметрами-переменными пишется Var. Пример 1. Создать процедуру вычисления среднего арифметического и среднего квадратичного натуральных чисел a и b. Решение: Program pr1; Var a, b: integer; SrAr, SrKv: real; {SrAr- среднее арифметическое, SrKv – среднее квадратичное} Procedure Sredn(a,b:integer; Var SrAr, SrKv: real); {a,b – входные данные (параметры-значения} {SrAr, SrKv – результат выполнения процедуры (параметры-переменные)} Begin {тело процедуры} SrAr:=(a+b)/2; SrKv:=SQRT(a*b); End; BEGIN {основная программа} Write('a='); Readln(a); {ввод a} Write('b='); Readln(b); {ввод b} {вызов процедуры и передача фактических параметров a,b } Sredn(a, b, SrAr, SrKv); {вывод результата, полученного в процедуре} Writeln(‘Ср. арифм.=', SrAr:6:2, ' Ср. квадр.е =', SrKv:6:2); Readln; END. Результат: a=2 b=8 Ср. арифм.= 5.00 Ср. квадр.= 4.00 Пример 2. Создать процедуру для вычисления периметра и площади прямоугольного треугольника по его катетам a, b. Решение: Program pr2; Var a, b, p, s: real; { a, b- катеты, p - периметр, s - площадь } Procedure Treug(a,b: real; Var p, s: real); {a, b- входные данные(параметры-значения),} данные(параметры-переменные)} Begin p:= a + b + Sgrt(a*a + b*b); {периметр треугольника с катетами a, b} s:= a*b/2; { площадь треугольника с катетами a, b } End; Begin {основная программа} Write('a, b =');Readln(a, b); {ввод исходных данных} {p, s-выходные Treug(a, b, p, s); Writeln('p=', p:4:1, ‘ Readln; End. {вызов процедуры и передача исходных данных a, b} s=’, s:4:1); {вывод результата, полученного из процедуры} Результат: a, b= 3 4 p=12.0 s= 6.0 Пример 3. Создать процедуру, определяющую возможность построения треугольника со сторонами x, y, z. Из чисел a,b,c,d выбрать тройки таких, которые позволяют построить треугольник. Для решения задачи используется «правило треугольника»: каждая сторона треугольника меньше суммы двух других сторон. Решение: Program pr3; Var a,b,c,d: integer; Procedure Treug(x, y, z:integer); Begin if (x<y+z) and (y<x+z) and (z<x+y) then writeln (‘Треугольник со сторонами ‘, x, ‘,’, y, ‘,’, z, ’можно построить’) else writeln(‘Треугольник со сторонами ’ x, ‘,’, y, ‘,’, z, ‘нельзя построить ‘) End; Begin {основная программа} Write('Введите a b c d: '); Readln(a,b,c,d); {ввод исходных данных} {вызываем процедуру и проверяем возможность построения треугольника со сторонами a,b,c} Treug(a,b,c); {вызываем процедуру и проверяем возможность построения треугольника со сторонами a,b,d} Treug(a,b,d); {вызываем процедуру и проверяем возможность построения треугольника со сторонами a,c,d} Treug(a,c,d); {вызываем процедуру и проверяем возможность построения треугольника со сторонами b,c,d} Treug(b,c,d); Readln; end. Результат: Введите a b c d: 1 3 4 5 Треугольник со сторонами 1,3,4 нельзя построить Треугольник со сторонами 1,3,5 нельзя построить Треугольник со сторонами 1,4,5 нельзя построить Треугольник со сторонами 3,4,5 можно построить Пример 4. Упорядочить по возрастанию числа A, B, C, создав процедуру обмена значениями 2-х переменных. Решение: Program pr4; Var A, B, C: real; Procedure Obmen(Var X,Y:real); {X,Y являются и входными, и выходными данными} Var T: real; { T –вспомогательная переменная} Begin T:=X; X:=Y; Y:=T; End; begin {основная программа} Write('A, B, C ='); Readln(A,B,C); {ввод исходных данных} If A>B then Obmen(A,B); {если A больше B, то производим их обмен} If A>C then Obmen(A,C); {если A больше С, то производим их обмен} If B>C then Obmen(B,C); {если В больше С, то производим их обмен} Writeln('A=', A:5:2,' B=', B:5:2,' C=', C:5:2); {вывод результата} Readln; end. Результат: A, B, C = 6 18 3 A= 3.00 B= 6.00 C= 18.00 Пример 5. Создать процедуру для вывода первых N членов арифметической прогрессии, заданной значением первого члена а и разностью d. Вывести первые 7 членов прогрессии 2, 5, … (a=2, d=3) и первые 10 членов прогрессии 20, 19, ….(a=20, d= -1) Решение: Program pr5; Procedure progres(a,d,n:integer); Var i: integer; {i – номер очередного члена прогрессии } Begin for i:=1 to n do {перебираем i от 1 до n} begin write(a,' '); {выводим очередной член прогрессии} a:=a+d; {вычисляем следующий член прогрессии} end; End; begin {основная программа} {вызов процедуры для вывода 7 членов арифметической прогрессии 2, 5,…} progres(2,3,7); writeln; {вызов процедуры для вывода 10 членов прогрессии 20,19,…} progres(20,-1,10); Readln; end. Результат: 2 5 8 11 14 17 20 20 19 18 17 16 15 14 13 12 11 Пример 6 Выяснить, какие натуральные числа от 2 до 10 являются простыми, а какие - составными (создать процедуру, определяющую простым или составным является данное число). Число называется простым, если оно не имеет делителей кроме 1 и самого себя. Если у него есть другие делители, то число – составное. Решение: Program pr6; Var i: integer; Procedure prostoe(x:integer); Var k,n: integer; {n - возможные делители числа, k – количество делителей} Begin k:=0; for n:=2 to x div 2 do {перебираем числа от 2 до x div 2 для поиска делителей} if x mod n = 0 {если n –делитель числа x} then k:=k+1; {увеличиваем количество делителей на 1} if k=0 {если у числа нет делителей} then writeln (x,' - prostoe') {то число простое} else writeln (x,' - sostavnoe'); {иначе число составное} End; begin {основная программа} for i:=2 to 10 do {перебираем числа от 2 до 10} prostoe(i); {вызываем процедуру для проверки очередного числа} Readln; end. Результат: 2 - prostoe 3 - prostoe 4 - sostavnoe 5 - prostoe 6 - sostavnoe 7 - prostoe 8 - sostavnoe 9 - sostavnoe 10 - sostavnoe ЗАДАНИЯ 1. Создать процедуру для вычисления периметра и площади квадрата по длине его стороны. 2. Создать процедуру для вычисления объема и площади поверхности куба по длине его ребра. 3. Создать процедуру для вычисления длины окружности и площади круга по заданному значению радиуса. ( L= 2R, S=R2) 4. Создать процедуру для вычисления периметра и площади прямоугольника по длинам его сторон. 5. Создать процедуру для вычисления периметра и площади треугольника по длинам его сторон ( S p p a p b p c , a, b, c – стороны треугольника, p – полупериметр) 6. Создать процедуру для нахождения корней квадратного уравнения по его коэффициентам a,b,c. 7. Вводятся A, B, C, D. Поменять местами A и C, B и D, создав процедуру обмена значениями 2-х переменных. 8. Создать процедуру для вывода первых N членов арифметической прогрессии, заданной первым членом а и разностью d. С помощью этой процедуры вывести 8 первых членов прогрессии 1, 4, … и 10 первых членов прогрессии 24, 22, …. 9. Создать процедуру для вывода первых N членов арифметической прогрессии, заданной первым членом а и разностью d. С помощью этой процедуры вывести 5 первых членов прогрессии 3, 7, … и 7 первых членов прогрессии 14, 11, …. 10.Создать процедуру для вывода первых N членов арифметической прогрессии, заданной первым членом а и разностью d. С помощью этой процедуры вывести 7 первых членов прогрессии 12, 10, … и 9 первых членов прогрессии 2, 5, …. 11.Создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии, заданной формулой an=2n+1. 12.Создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии, заданной формулой an=3n-2. 13.Создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии, заданной формулой an=5n-3. 14.Определить, какие из целых чисел от -3 до 8 являются решениями неравенства (x-5)(x+1)>0 (создать процедуру, определяющую является или не является данное целое число решением неравенства (x-5)(x+1)>0) 15.Определить, какие из целых чисел от -10 до 2 являются решениями неравенства (x+4)(x+1)<0 (создать процедуру, определяющую является или не является данное целое число решением неравенства (x+4)(x+1)<0) 16. Создать процедуру для вывода и подсчета суммы последовательных целых чисел от a до b. С помощью этой процедуры вывести и найти сумму целых чисел: 1) от 10 до 20; 2) от -5 до 15. 17.Создать процедуру для вывода таблицы значений функции y=sin 3x + 1 для х от a до b с шагом h. Вывести две таблицы: а) для х от 1 до 2 с шагом 0.1 и б) для х от 5 до 10 с шагом 0.5 18.Создать процедуру для вывода таблицы значений функции y=tg x + 1/x для х от a до b с шагом h. Вывести две таблицы: а) для х от 2 до 4 с шагом 0.2 и б) для х от 1 до 10 с шагом 0.5 19.Создать процедуру для вывода таблицы значений функции y= 3x2 + 1 для х от a до b с шагом h. Вывести две таблицы: а) для х от 1 до 2 с шагом 0.1 и б) для х от 2 до 5 с шагом 0.5 20.Создать процедуру для вывода таблицы значений функции y=sin (x + 1)2 для х от a до b с шагом h. Вывести две таблицы: а) для х от 2 до 3 с шагом 0.1 и б) для х от -2 до 3 с шагом 0.5 V. ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ Структура функции: Function <имя_функции>(<параметры>) : <тип результата>; Label <метки>; Const <константы>; раздел объявления меток, констант, типов данных, Type <типы данных>; переменных (может отсутствовать) Var <переменные>; Begin <операторы, составляющие тело функции>; End; Для того, чтобы значение функции было определено и передано в основную программу, в теле функции обязательно должен быть хотя бы один оператор присваивания вида: <имя_функции>:=<значение>. Вызов функции, определенной пользователем, осуществляется так же, как и любой стандартной функции Паскаля. Пример 1. Создать функцию пользователя, вычисляющую х! Решение: Program pr1; Var x: integer; y: real; Function Fact(x: integer): real; Var i: integer; f: real; begin f:=1; for i:=1 to x do f:=f*i; {вычисляем произведение} Fact:=f; {имени функции присваиваем полученное значение} end; begin {основная программа} Write (‘x=’); Readln(x); {ввод значения х} y:=Fact(x); {вызов функции с аргументом х } Writeln(‘y=’, y:4:0); {вывод результата} Readln; end. Результат: x= 4 y= 24 Пример 2. Создать функцию пользователя, вычисляющую гиперболический косинус gc= e x e x 2 Решение: Program pr2; Var x: integer; y: real; Function gc(x:integer):real; begin gc:=(exp(x)+exp(-x))/2; end; begin {основная программа} Write (‘x=’); Readln(x); {ввод значения х} y:=gc(x); {вызов функции и присваивание ее значения переменной y} writeln('Гиперболический косинус=', y:8:4); Readln; {вывод результата} end. Пример 3. Два треугольника длинами своих сторон. Определить, площадь какого из них больше (создать функцию для вычисления площади треугольника по длинам его сторон). Для решения задачи используем формулу Герона S p p x p y p z , где x, y, z – стороны треугольника, p – полупериметр) Решение: Program pr3; var a1, b1, с1, s1, a2, b2, с2, s2: real; {функция вычисления площади треугольника со сторонами x,y,z} Function PlTr(x ,y, z: real): real; Var p: real; Begin p:= (x + y + z)/2; {полупериметр треугольника} PlTr:=Sqrt(p*(p-x)*(p-y)*(p-z)); End; BEGIN {основная программа} {ввод исходных данных} Write('Cтороны 1-го треугольника:'); Readln(a1, b1, c1); Write('Cтороны 2-го треугольника:'); Readln(a2, b2, c2); S1:=PlTr(a1, b1, c1);{вызов функции для нахождения площади 1-го треугольника} S2:=PlTr(a2, b2, c2);{вызов функции для нахождения площади 2-го треугольника} if S1>S2 then Writeln(‘S1>S2’) else if S1<S2 then Writeln(‘S1<S2’) else Writeln(‘S1=S2’); Readln; END. Результат: Cтороны 1-го треугольника:3 4 5 Cтороны 1-го треугольника:6 7 8 S1<S2 Пример 4. Создать функцию нахождения максимального из двух чисел Решение: Program Pr4; Var a,b,m:real; Function Max(a,b:real):real; begin if a>b then Max:=a else Max:=b; end; BEGIN write('a,b='); readln(a,b); m:=Max(a,b); write('Max=',m:5:1); readln; END. Результат: a,b=14 9 Max= 14.0 {если a больше b} {то функция принимает значение a} {иначе функция принимает значение b} {ввод исходных данных} {вызов функции} {вывод результата} Пример 5. Создать функцию нахождения наибольшего общего делителя двух натуральных чисел. Решение: Program Pr5; Var a,b:integer; Function NOD(a,b:integer):integer; begin while a<>b do {пока числа не равны} if a>b then a:=a-b {заменяем большее из них разностью большего и меньшего} else b:=b-a; NOD:=a; end; BEGIN write('a,b='); readln(a,b); {ввод исходных данных} write('NOD=', NOD(a,b)); {вызов функции и вывод ее значения} readln; END. Результат: a,b=24 16 NOD=8 Пример 6. Составить функцию для вычисления xn, где x,n – целые числа Степень принимает отрицательное значение, если основание степени Х<0 и показатель степени –нечетное число. Решение: Program Pr6; Var x,n:integer; Function stepen(x,n:integer):real; begin if (n mod 2 <> 0) and (x<0) then stepen:=-exp(n*ln(abs(x))) else stepen:=exp(n*ln(abs(x))); end; BEGIN write('x,n='); readln(x,n); {ввод исходных данных} write('stepen=',stepen(x,n):6:2); {вызов функции и вывод ее значения} readln; END. Результат: 1 случай x,n=2 3 stepen= 8.00 2 случай x,n=-2 3 stepen= -8.00 3 случай x,n=2 -2 stepen= 0.25 4 случай x,n=-2 -2 stepen= 0.25 Пример 7. Вычислить, используя функцию нахождения знаменателя: 1 2 3 ... (n слагаемых) 2! 3! 4! Решение: Program pr7; Var s: real; i, n: integer; Function Fakt(x: integer): real; {функция вычисления факториала} Var i: integer; f: real; begin f:=1; for i:=1 to x do f:=f*i; Fakt:=f; end; BEGIN write('n= '); Readln(n); {вводим количество слагаемых суммы} s:=0; For i:=1 to n do {перебираем i от 1 до n} s:=s+i/Fakt(i+1); {добавляем к сумме очередную дробь, вызывая} { функцию для вычисления знаменателя} writeln('s=',s:6:4); {вывод результата} Readln; END. Результат: n=3 s=0.9583 Пример 8. Вычислить, используя функцию нахождения знаменателя: 5 10 15 ... 1 2 1 2 3 1 2 3 4 (n слагаемых) Решение: Program pr8; Var s: real; i, n: integer; { функция вычисления суммы первых m натуральных чисел} Function Sum(m:integer ):integer; Var k, S: integer; begin S:=0; for k:=1 to m do S:=S+k; Sum:=S; end; BEGIN write('n= '); Readln(n); {вводим количество слагаемых суммы} s:=0; for i:=1 to n do {перебираем i от 1 до n} s:=s+i*5/sum(i+1); {добавляем к сумме очередную дробь, вызывая} { функцию для вычисления знаменателя} writeln('s=',s:6:4) {вывод результата} END. Результат: n=3 s=4.8333 ЗАДАНИЯ 1. Найти минимальное из A, B, C, создав функцию выбора минимального из двух произвольных чисел. 2. Найти максимальное из чисел A, B, C, D, создав процедуру выбора максимального из 2-х произвольных чисел. 3. Сократить дробь вида a/b (a, b – вводимые натуральные числа), создав функцию для нахождения наибольшего общего делителя двух натуральных чисел. 4. Найти наибольший общий делитель чисел A, B, C, создав функцию для нахождения НОД двух натуральных чисел. 5. Два прямоугольных треугольника заданы своими катетами. Определить, у какого из них площадь больше (создать функцию для вычисления площади прямоугольного треугольника по его катетам). 6. Два прямоугольника заданы координатами вершин. Определить, площадь какого из них больше (использовать функцию нахождения площади прямоугольника). 7. Два прямоугольных треугольника заданы своими катетами. Определить, у какого из них периметр больше (создать функцию для вычисления периметра прямоугольного треугольника по его катетам). 8. Вводятся 2 натуральных числа. Найти среднее арифметическое цифр каждого из них (создать функцию для нахождения среднего арифметического цифр произвольного натурального числа). 9. Вводятся 3 натуральных числа. Найти сумму цифр каждого из них (создать функцию для нахождения суммы цифр произвольного натурального числа). 10. Вычислить 3-2 + 42 +5-2, создав функцию для вычисления степени. 11.Вычислить (-32 + 24 )/4-2, создав функцию для вычисления степени. 12.Найти (a! + b!)/(a+b)!, создав функцию для вычисления факториала произвольного натурального числа. 13.Найти m! + (m+n)!, создав функцию для вычисления факториала произвольного натурального числа. 14.Вычислить, используя функцию нахождения знаменателя: 1 3 5 ... 1 2 1 2 3 1 2 3 4 (15 слагаемых) 15.Вычислить, используя функцию нахождения знаменателя: 1 4 9 ... 2 ! 3! 4 ! (n слагаемых) 16.Вычислить, используя функцию нахождения знаменателя: 2 4 6 ... 3! 5! 7 ! (n слаг.) 17.Вычислить, используя функцию нахождения знаменателя: 2 4 6 ... (15 слаг) 1 2 1 2 3 1 2 3 4 18.Вычислить, используя функцию нахождения знаменателя: 1 2 3 ... 3! 4! 5! (n слагаемых) 19.Вычислить, используя функцию нахождения знаменателя: 2 4 6 ... 3! 5! 7 ! (n слаг.) 20.Вычислить, используя функцию нахождения знаменателя: 1 2 3 ... 1 3 1 3 5 1 3 5 7 (15 слаг) ЛИТЕРАТУРА 1. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие.-М.: «Нолидж», 1999-616с., ил. 2. Д. Праймс. Программирование на языке Паскаль. Практическое руководство М.: Мир, 1997. 3. Васюкова Н.Д., Тюляева В.Р. Практикум по основам программирования языка Паскаль. Учебное пособие. М.: Высшая школа. 1991. 4. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие.-М.: «Нолидж», 1999-432с., ил. 5. Д. Праймс. Программирование на языке Паскаль. Практическое руководство М.: Мир, 1997. 6. Вирт Н. Алгоритмы и структуры данных. – М.,1989.