Теоретическая часть работы
Стр 1 из 3Следующая ⇒ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное агентство по образованию Санкт-Петербургский государственный университет сервиса и экономики Кафедра «информатики»
ЯЗЫКИ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАНСЛЯЦИИ Методические указания Санкт-Петербург Одобрены на заседании кафедры Информатики, протокол № 3 от 26.04.2008г.
Утверждены Методическим Советом ИЭУПС, протокол № 8 от 24.04.2008г.
Языки программирования и методы трансляции: методические указания по выполнению контрольной работы для студентов специальности 010500.62 (510200) «Прикладная математика и информатика» / сост.. В.М. Пестриков, О.В. Князькова, Е.В. Козлова. – СПб.: Изд-во СПбГУСЭ, 2008. – 23с.
Методические материалы разработаны на основе требований государственного образовательного стандарта высшего профессионального образования второго поколения к содержанию и уровню подготовки по курсу «Языки программирования и методы трансляции» для специальности 010500.62 (510200) «Прикладная математика и информатика.
Составитель: доктор техн. наук, проф. В.М. Пестриков,
Рецензент: д-р воен. наук, проф. Г.П. Пуха.
© Санкт-Петербургский государственный университет 2008 г. ОГЛАВЛЕНИЕ Введение.. 4 I. Цели и задачи выполнения контрольной работы... 4 II. Общие требования к содержанию и II. Задания для выполнения контрольной работы... 8 Теоретическая часть работы... 8
3.2. Требования к практической части IV. Методические указания и примеры 4.1. Понятие множества. Операции над Пример решения задачи на множества.. 16 Понятие массива.. 17 4.4. Пример решения задачи на приемы работы V. Литература.. 23
Цель курса - ввести студентов в проблематику, связанную с изучением языков программирования, методов разработки алгоритмов и программ и методов реализации языков программирования, ввести в круг понятий и задач, связанных с использованием языков программирования и методов трансляции, с тем, чтобы студенты могли самостоятельно создавать программы на языках высокого уровня. Эти знания могут понадобиться в практической и исследовательской работе по специальности. Вместе с другими предметами изучение данной дисциплины должно способствовать развитию точного научного мышления, повышению программистской культуры. Задача курса состоит в выработке у студентов навыков использования языков программирования для создания систем обработки данных, обоснованного выбора средств программирования, понимания механизмов трансляции программ. В процессе изучения курса студенты должны знать: · формальные способы описания языков программирования; · основные положения современной концепции типа данных; · методы и основные этапы трансляции; · конструкции распределенного и параллельного программирования. В процессе изучения курса студент должен уметь: · использовать формальные способы описания языков программирования; · применять на практике современные концепции типов данных; · использовать конструкции распределенного и параллельного программирования. На изучение данной дисциплины отводится 141 час, из них для очной формы обучения: · аудиторные занятия - 97 часов;
· самостоятельная работа - 44 часа. Форма итогового контроля: экзамен, зачет.
i. Цели и задачи выполнения
В ходе изучения данной дисциплины и освоения готовых прикладных программ специалисту с высшим образованием, прежде всего, необходимо не только понять методологию, но и овладеть приемами разработки программного обеспечения вычислительных систем вообще и прикладных задач в частности. Дело в том, что, во-первых, методология разработки любого программного обеспечения предполагает, в общем случае, выполнение следующих этапов данного процесса: – постановку задачи; – ее формализацию; – алгоритмизацию (разработку алгоритма решения задачи); – программирование (разработку машинной программы задачи на языке программирования); – составление описания задачи. Следовательно, независимо от статуса специалиста, в случае необходимости разработки оригинальной прикладной задачи для своей предметной области, любой из них должен будет принимать участие в постановке задачи, отвечая на вопрос, какие цели преследует ее решение и что должно быть на выходе. Затем, на этапе формализации, он должен показать, какими наиболее рациональными методами задача может быть решена и какие функциональные зависимости при этом предполагается использовать, а на этапе алгоритмизации – указать предполагаемую последовательность ее решения и заказать желательную порядок выдачи результатов. А, во-вторых, даже при использовании готовых наиболее распространенных программ пользователям ЭВМ, в случае реализации своих оригинальных фрагментов или процедур, приходится, так или иначе, применять элементы программирования – т.е. выступать в роли программиста. Таким образом, контрольная работа по дисциплине «Языки программирования и методы трансляции», как одна из форм проверки уровня знаний студента, направлена на закрепление теоретического материала с одной стороны, и освоение методики разработки машинных программ с помощью языка программирования высокого уровня - с другой.
II. Общие требования к содержанию и
Контрольная работа по дисциплине «Языки программирования и методы трансляции» является самостоятельной творческой работой студента и предполагает выполнение трех заданий.
1. Письменного ответа на один из теоретических вопросов. 2. Разработки алгоритма и машинной программы решения задачи с использованием операций над множествами. 3. Разработки алгоритма и машинной программы решения задачи с использованием операций над матрицами и элементами массива.
Контрольная работа оформляется на стандартных листа формата А4. При этом может быть рекомендована следующая ее структура: · титульный лист; · содержание; · теоретическая часть (первое задание); · практическая часть (второе и третье задание); · литература; · приложения. Работа выполняется по вариантам. Номер варианта для теоретической и практической частей работы определяется по порядковому номеру студента в списке группы. Если этот номер превышает число предлагаемых вопросов, то отсчет начинается опять с первого номера (например, номер по списку студента 42, а последний вопрос – 35, тогда номер варианта контрольной работы = 42-35=7) и т.д. Каждую часть, а также введение и заключение (если таковые предполагаются) начинают с новой страницы. Нумерация страниц в работе сквозная. Таблицы и рисунки, расположенные на отдельных страницах, список литературы и приложения включаются в сквозную нумерацию страниц. Первой страницей является титульный лист, второй – оглавление. На страницах 1-2 номера страниц не проставляются. Первой страницей, имеющей номер (номер 2) является «Содержание». Введение и заключение не нумеруются, а все остальные разделы основной части контрольной работы должны иметь порядковую нумерацию. Часть обозначается одной арабской цифрой с точкой на конце. Параграфы нумеруются в пределах каждой части. Номер параграфа состоит из двух цифр, первая из которых является номером части, а вторая – номером параграфа, разделенных точкой. После номера параграфа также ставят точку: например, 3.1. – первый параграф третьей части. Пункты нумеруются арабскими цифрами в пределах каждого параграфа. Номер пункта состоит из трех цифр, соответствующих номеру части, параграфа и пункта, разделенных точками. Например, 3.1.4. – четвертый пункт первого параграфа третьей части.
Части и параграфы должны иметь краткие, соответствующие содержанию заголовки, которые выносятся в содержание. В конце заголовка точку не ставят. Подчеркивание и перенос слов в заголовках не допускается. Выделение заголовка производят увеличением жирности. Необходимые иллюстрации, таблицы и другие наглядные материалы (схемами, графиками, диаграммами и др.) располагаются в тексте или выносятся на отдельную страницу. Все наглядные материалы и таблицы должны иметь заголовок и быть пронумерованы. Нумерация таблиц и наглядных материалов осуществляется раздельно, но сквозной для данной части (раздела). Все иллюстрации в контрольной работе размещаются сразу после ссылки на нее в тексте, называются рисунками и обозначаются словом «Рис.». Каждый рисунок должен сопровождаться кратким названием. Название рисунка и его номер располагают под рисунком. После номера рисунка ставится точка. После пробела с заглавной буквы приводят его наименование, в конце которого точка не ставится. Таблицы и иллюстративные материалы располагают таким образом, чтобы их можно было читать без поворота рукописи или, в крайнем случае, с поворотом по часовой стрелке. Формулы, помещенные в текст работы, нумеруются. Порядковый номер формулы приводится в круглых скобках справа от нее и записывается арабскими цифрами. Под формулой пишут слово «где», а затем расшифровывают ее составляющие в той последовательности, в которой они приведены в формуле. В конце формулы и в поясняющем ее тексте знаки препинания расставляются в соответствии с правилами пунктуации. Сведения о книгах в списке литературы должны включать: фамилию и инициалы автора, наименование книги, место издания (город), издательство, год издания, количество страниц. Сведения о статьях из журналов, сборников, научных трудов или газет указывают: автора (фамилию, инициалы), название статьи, наименование сборника, журнала (название, год, номер, страницы), по газетам (название, год, число, месяц или номер и страницу, если объем газеты более 6 страниц). Нумерация источников в списке литературы должна быть сквозной. После списка литературы представляют Приложения (таблицы, графики, схемы, исходные и другие материалы, которые были использованы при выполнении курсовой работы как вспомогательные). Приложения должны иметь последовательную нумерацию и заголовки, отражающие их содержание. Приложения необходимо располагать в порядке появления ссылок на них в тексте основных разделов. Каждое приложение начинают с новой страницы; в правом верхнем углу пишут слово «Приложение» с соответствующим порядковым номером (например, «Приложение 1» и т.д.).
Задания для выполнения
Теоретическая часть работы Для написания теоретической части работы студент выбирает один из предложенных теоретических вопросов.
Задание 1 Цель задания: приобретение навыков работы с учебной литературой по дисциплине «Языки программирования и методы трансляции». Задание: написать ответ на один из теоретических вопросов. Варианты задания: 1. Понятие алгоритма. Свойства алгоритма. Способы описания алгоритма. 2. История развития языков программирования. 3. Основные конструкции языков программирования и их реализация. 4. Методы разработки алгоритмов и программ. 5. Динамические и статистические языки программирования. 6. Классификация данных. 7. Базисные типы данных в традиционных языках программирования. 8. Формальные грамматики (ФГ). Основные понятия и определения. Классификация ФГ. 9. Объектно-ориентированные языки программирования. 10. Функциональное и логическое программирование. 11. Модульное программирование. 12. Сущность трансляции. Компиляция и интерпретация. 13. Лексика. Сущность лексического анализа. 14. Восходящий синтаксический анализ. 15. Нисходящий синтаксический анализ. 16. Семантический анализ. Семантика языка. 17. Промежуточное представление программы. 18. Контекстные условия языков программирования. 19. Организация таблиц компилятора. 20. Генерация кода. Примечание: материалы, отражающие сущность и основные положения выбранной темы, конспективно формируется в виде краткого реферата, в заключение которого делаются соответствующие выводы. Объем данной части работы должен быть в пределах 3-5 стр. текста полуторного интервала формата А4 (шрифт Times New Roman размер 14) или аналогичный объем аккуратно оформленного рукописного текста.
3.2. Требования к практической части работы и Практическая часть состоит из двух заданий, посвященных изучению основ структурного программирования на языке Pascal. Результатом выполнения этой части являются выполняемые файлы программ, представленные преподавателю вместе с правильно оформленным отчетом. Практическую часть контрольной работы можно выполнять в любой среде программирования (Turbo Pascal 5.5, 6.0, 7.0, Borland Pascal 7.0) и на любой доступной вычислительной технике. В соответствии с методологией разработки любого программного обеспечения, практическая часть контрольной работы должна содержать следующие обязательные элементы, соответствующие одноименным этапам этого процесса: – постановку задачи; – ее формализацию; – разработку алгоритма решения задачи; – разработку машинной программы задачи на языке программирования; – результаты работы программы. Задание 2 Цель задания: приобретение навыков работы с данными нестандартных типов на языке Pascal. Задание: разработать алгоритм, написать и отладить программу решения задачи с использованием операций над множествами. Варианты задания: 1. Ввести два множества чисел. Сформировать и вывести множество чисел из первого множества, которые делятся на заданное число, и из второго множества, не делящихся на это же заданное число. 2. Ввести две строки символов. Вывести одинаковые символы этих строк. 3. Ввести строку символов, в которой задана последовательность целых чисел (возможно со знаком), разделенных пробелами. Вывести номера некорректно записанных чисел. 4. Во введенной строке символов подсчитать количество букв (отдельно русского и английского алфавитов), цифр, слов, предложений. (Считать, что слова разделены пробелами, а предложения — точками). 5. Во введенной строке символов подсчитать количество разделителей (любые скобки, точка, запятая, точка с запятой, пробел). 6. Во введенной строке символов, содержащей прописные буквы русского алфавита, подсчитать количество различных (без повторений) букв. 7. Для трех веденных множеств, сформировать и вывести множества, являющиеся их объединением и пересечением. 8. Из введенной строки, содержащей непустую последовательность слов из строчных букв английского алфавита, разделенных пробелами, сформировать и вывести в алфавитном порядке множество всех гласных букв, входящих хотя бы в одно слово. 9. Из двух введенных множеств чисел составить третье множество, элементами которого будут совпадающие числа заданного диапазона. 10. Из трех введенных множеств символов сформировать и вывести четвертое множество символов, входящих ровно в два любых их этих множеств. 11. Определить, в каком из трех введенных символьных множеств больше встречается цифр. 12. По введенному множеству натуральных чисел заданного диапазона сформировать и вывести множество чисел, делящихся на заданное число. 13. По введенному множеству натуральных чисел заданного диапазона сформировать и вывести множество нечетных. 14. По введенному множеству символов сформировать и вывести множество, исключающее все цифры. 15. По введенному множеству символов сформировать множество символов русского алфавита (строчные и прописные) и вывести его упорядоченным по убыванию. 16. Подсчитать количество повторений элементов заданного множества символов во введенной строке. 17. Подсчитать процентное соотношение гласные/согласные во введенной строке, содержащей строчные буквы русского алфавита. 18. Получить объединение, пересечение, разность и симметрическую разность двух введенных множеств символов. 19. Сформировать и вывести множество простых чисел из заданного диапазона первых натуральных чисел. 20. По введенному множеству чисел заданного диапазона сформировать и вывести множество четных чисел. Примечание: В программе обязательно использование типов–множеств там, где это наиболее подходит алгоритму. Желательно также использовать данные перечисляемого типа. Все множества задаются самостоятельно.
Задание 3 Цель задания: Приобретение навыков работы с массивами на языке Pascal. Задание: разработать алгоритм, написать и отладить программу решения задачи с использованием операций над матрицами и элементами массива. Варианты задания: 1. Cоставить программу умножения двух матриц. 2. Cоставить программу сложения и вычитания двух матриц. 3. Составить программу вычисления НОД массива заданных чисел. 4. Составить программу вычисления суммы и числа положительных элементов каждого столбца прямоугольной матрицы. 5. Составить программу генерации (заполнение случайными числами в введенном диапазоне) квадратных матриц: единичной, диагональной, треугольной, обычной). 6. Составить программу нахождения максимального и минимального элементов и их индексов в одномерном массиве. 7. Составить программу нахождения суммы последних элементов одномерного массива, произведение которых не превышает заданного числа. 8. Составить программу определения суммы отрицательных чисел в одномерном массиве и подсчета их количества. 9. Составить программу сортировки элементов одномерного массива по возрастанию и убыванию. 10. Составить программу упорядочения элементов нечетных строк двумерного массива по возрастанию, а четных — по убыванию. Найти суммы элементов каждого столбца и наибольшую из этих сумм. 11. Составить процедуры транспонирования квадратной матрицы и подсчета в ней нулевых элементов. 12. Составить программу вычисления НОК массива заданных чисел. 13. Составить программу вычисления определителя квадратной матрицы. 14. Составить программу нахождения произведения первых элементов одномерного массива, сумма модулей которых не превышает заданного числа. 15. Составить программу определения максимина и минимакса прямоугольной матрицы. 16. Составить программу поиска наибольшего и наименьшего элемента в трехмерном массиве. 17. Составить программу проверки линейной независимости векторов. 18. Составить программу проверки ортогональности квадратной матрицы заданного порядка (скалярное произведение любой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно одному и тому же числу не равному 0). 19. Составить программу проверки симметричности квадратной матрицы заданного порядка. 20. Составить программу проверки, является ли квадратная матрица заданного порядка магическим квадратом (суммы элементов в каждом столбце и каждой строке одинаковы).
IV. Методические указания и примеры
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|