Учебно-методический комплекс дпп ф. 14 Программирование подготовки специалиста по специальности 050202 «Информатика» Цикл: дпп

Вид материалаУчебно-методический комплекс

Содержание


г.Ростов-на-Дону 2008г.
Пояснительная записка
Основное содержание
Содержание лабораторных работ
Лабораторная работа №2 (4 часа)
Лабораторная работа №3 (4 часа)
Лабораторная работа №4 (4 часа)
Лабораторная работа №5 (2 часа)
Лабораторная работа №6 (4 часа)
Лабораторная работа №7 (4 часа)
Лабораторная работа №8 (4 часа)
Лабораторная работа №9 (4 часа)
Лабораторная работа №10 (4 часа)
Текущая аттестация качества усвоения знаний
Программа – это алгоритм
Циклический алгоритм – это
Инкапсуляция – это
Полиморфизм – это
Наследование – это
Организация самостоятельной работы
...
Полное содержание
Подобный материал:
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ФГОУ ВПО "ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ"

ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ

Кафедра информатики




"Утверждаю"_______________

Руководитель ПИ «ЮФУ»,

д.п.н., профессор В.И. Мареев


УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС



ДПП Ф.14 ПРОГРАММИРОВАНИЕ


подготовки специалиста

по специальности 050202 «Информатика»


Цикл: ДПП

Тип: специалист

Индекс: ДПП Ф.14

Срок обучения: 6 лет

Форма обучения: заочная


УМК принят в фонд учебно-методического управления ПИ «ЮФУ»

__________________________________________________2008 г.

г.Ростов-на-Дону

2008г.



Составитель: ассистент кафедры информатики Романова Н.М.


УМК утвержден на заседании кафедры информатики

протокол №___9__ от «_6_»_____03______ 2008 г.


Заведующий кафедрой информатики:

кандидат физико-математических наук, доцент Кузнецова Т.К.


УМК утвержден ученым советом ПИ «ЮФУ»

Пр.№____ от "____" __________________2008г.


Председатель ученого совета ПИ «ЮФУ»,

Руководитель ПИ «ЮФУ», д.п.н., профессор В.И. Мареев

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА


Учебно-методический комплекс составлен с учетом требований Государственного образовательного стандарта высшего профессионального образования 2005г. Дисциплина “Программирование” входит в блок ДПП – «Дисциплины предметной подготовки» (индекс Ф.14).

Специальность: Информатика

Форма обучения: заочная

Курс:1

Семестр: 1,2

Количество часов на дисциплину по ОЗО: 419

Количество аудиторных часов на дисциплину по ОЗО: 78,

Из них: лекций - 34, лабораторных - 44, самостоятельной работы - 341

Зачет - в установочную сессию и в I-м семестре, экзамен - во II семестре, контрольная работа - во II семестре, курсовая работа - в VII семестре.


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

УМК по дисциплине "Программирование", разработан для студентов факультета математики и информатики отделения заочного обучения педагогического вуза, в объеме 34 лекционных часов и 44 часов лабораторно-практических занятий в течение двух семестров. Большое количество часов отводится на самостоятельную работу студентов, с целью практического закрепления полученных навыков по программированию, решению большого количества задач и самостоятельной разработки проектов.

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

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

По итогам изучения данного курса студенты сдают зачет и экзамен.

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

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

После изучения курса студенты должны

знать:
  • виды и языки программирования;
  • принципы объектно-ориентированного программирования;
  • основы решения задач на компьютере;

уметь:

- составлять алгоритм и программу решения задачи;

- решать задачи по обработке массивов, по обработке символьной информации;

- создавать интерфейсные объекты, разрабатывать проекты;

- выполнять отладку программ, находить и исправлять ошибки.


ОСНОВНОЕ СОДЕРЖАНИЕ


ТЕМАТИЧЕСКИЙ ПЛАН



Содержание занятий

Лекции

Лабора-торные занятия

Самостоя-тельная работа

Всего

1

2

3

4

5

6

1

Основные понятия программирования. Структура программ.

2

2

20

24

2

Языки программирования. Обзор и история.

2




20

22

3

Элементы языка программирования высокого уровня. Типы данных.

2




11

13

4

Основные операторы.

4

4

30

38

5

Понятие массива. Одномерные и двумерные массивы.

4

8

30

42

6

Символьные переменные. Обработка текстовой информации.

2

2

30

34

7

Процедуры и функции

2

4

30

36

8

Записи. Записи с вариантными полями.

Файловые переменные.

2

4

30

36

9

Графика. Функции создания простых геометрических фигур. Цвет.

2

4

30

36

10

Объектно-ориентированная парадигма программирования. Основные понятия

2

4

20

26

11

Объектно-ориентированное проектирование.

2

4

30

36

12

Визуальное программирование. Интерфейс среды разработки.

4

4

30

38

13

Работа с текстом. Управление шрифтами.

4

4

30

38




Итого:

34

44

341

419


Содержание лекций


Лекция 1. (2 часа). Основные понятия программирования. Основные определения. Понятие задачи, этапы решения задачи на ЭВМ. Интерпретаторы: трансляторы и компиляторы. Понятие среды программирования. Алгоритмы. Представление задачи в алгоритмическом виде. Структура программы.

Лекция 2. (2 часа). Языки программирования. Обзор и история. Предпосылки появления языков программирования. Первая программистка, первая программа. Языки машинных кодов и языки программирования высокого уровня. Классификация языков программирования.

Лекция 3. (2 часа). Элементы языка программирования высокого уровня. Синтаксис, семантика, данные. Элементарные типы дан­ных. Целочисленный, вещественный, символь­ный тип, способы объяв­ления типа. Тип данных, определенный пользова­телем, преобразование типа.

Лекция 4. (4 часа). Основные операторы. Операторы при­сваивания, ввод, вывода. Условный оператор, оператор выбора. Операторы цикла: цикла с параметром, с предусловием, с постусловием.

Лекция 5. (4 часа). Понятие массива. Одномерные и двумерные массивы. Способы заполнения массивов элементами. Использование генератора случайных чисел. Преобразования массивов. Поиск максимальных и минимальных элементов массива. Сортировки массивов.

Лекция 6. (2 часа). Строки. Множества. Строковые переменные: определение, синтаксис описания. Максимальная длина строки. Операции над строками: конкатенация, преобразования строковых значений в числовые и наоборот. Множества: определение, синтаксис описания. Свойства множеств. Операции над множествами: сравнение, сложение, произведение, вычитание.

Лекция 7. (2 часа). Графика. Функции создания простых геометрических фигур. Понятие цвета. Разрешение экрана. Программирование математических выражений для создания рисунка.

Лекция 8. (2 часа). Процедуры и функции. Объявление пользовательских подпрограмм. Синтаксис описания. Вызов пользовательских процедур и функций из тела основной программы.

Лекция 9. (2 часа). Записи. Записи с вариантными полями. Тип запись. Определение, синтаксис описания. Поля. Обращение к полям. Файловые переменные. Типы файлов. Операторы для работы с типизированными и текстовыми файлами.

Файловые переменные. Типы файлов: текстовые, бинарные. Работа с файлами: открытие для чтения, добавления, перезаписи. Закрытие файлов.
Лекция 10. (2 часа). Объектно-ориентированная парадигма програм­мирования. Объекты и другие базовые элементы. Инкапсуляция, по­лиморфизм, наследова­ние, сообщение, метод, сигнатура. Классы и экземпляры классов. Создание новых классов.

Лекция 11. (2 часа). Объектно-ориентированное проектирование. Процесс проектирования, первичное исследование, детальный анализ. Взаимодействие объектов. Структура программы. Проект, форма, события, свойства. Описание и вызов события.

Лекция 12. (4 часа). Визуальное программирование. Интерфейс среды разработки. Окна кода, объектов, свойств, проводник по проекту, Toolbox).

Графические объекты (управляющие элементы) их свойства и методы. Координатная система. Свойства Height и Width. Перемещение Графических объектов. Свойства установки цвета. Способы задания цвета.

Лекция 13. (4 часа). Работа с текстом. Управляющие элементы для работы с текстом. Объекты Textbox и Label. Их свойства. Управление шрифтами. Свойства для выбора шрифта. Работа с выделенным текстом.

Управляющие элементы, предоставляющие пользователю выбор. Checkbox

Методы добавления/удаления элемента. Описание события.

Содержание лабораторных работ

Лабораторная работа №1 (2 часа)

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

Лабораторная работа №2 (4 часа)

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

Лабораторная работа №3 (4 часа) Понятие массива. Одномерные массивы. Способы заполнения массива элементами. Решение задач на преобразование массива, на нахождение максимальных и минимальных значений. Сортировки массива.

Лабораторная работа №4 (4 часа)

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

Лабораторная работа №5 (2 часа)

Символьные переменные. Решение задач на применение строковых функций.

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

Лабораторная работа №6 (4 часа)

Процедуры и функции. Создание подпрограмм. Решение задач с применением подпрограмм. Работа с функциями. Работа с файлами.

Лабораторная работа №7 (4 часа)

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

Лабораторная работа №8 (4 часа)

Решение задач на «Записи». Записи с вариантными полями. Файловые переменные. Запись в файл. Работа с файлами. Решение задач на создание учетных записей. Программирование простой базы данных.

Лабораторная работа №9 (4 часа)

Разработка проектов в среде визуального программирования. Проект «Графический редактор». Проекты: «Узоры», «Построение поверхности»

Лабораторная работа №10 (4 часа)

Разработка проектов в среде визуального программирования. Проект «Расчет оплаты». Списки. Проект «Список курса».

Лабораторная работа №11 (4 часа)

Разработка проектов в среде визуального программирования. Проект «Заполнение объектами». Игра «Полоски».

Лабораторная работа №12 (4 часа)

Разработка проектов в среде визуального программирования. Проект «Тест по информатике».


ТЕКУЩАЯ АТТЕСТАЦИЯ КАЧЕСТВА УСВОЕНИЯ ЗНАНИЙ

Т Е С Т Ы

Тестовые задания направлены на выявление теоретической подготовки по курсу «Программирование». Каждый вопрос содержит несколько вариантов ответа, из которых необходимо выбрать один верный.
  1. Программа – это алгоритм,

a) записанный на языке программирования; (*)

b) записанный на дискету;

c) повторяющийся несколько раз.
  1. Циклический алгоритм – это:

a) последовательное выполнение операций в порядке их следования;

b) выполнение операций, предполагающих различные варианты действий;

c) многократное повторение однотипных действий при различных значениях параметров, определяющих эти действия; (*)

d) алгоритм перехода на начало программы.
  1. Дан двумерный массив А, состоящий из пяти строк и пяти столбцов. Какой элемент, расположен в третьей строке и втором столбце.

a) А(2,3) ; b) А(3,2) (*); c)А(2.3); d)А(3/2).
  1. Процедура –это:

a) подпрограмма, выполняющая наиболее часто используемые блоки кода; (*)

b) тело цикла

c) способ задания функции;
  1. В основе объектно-ориентированного программирования лежит:

a) Разыменование ссылок; b) Инкапсуляция; (*) c) Итерация
  1. Одним из методов объектно-ориентированного программирования является:

a) Декремент; b) Полиморфизм; (*) c) Интерфейс
  1. Метод объектно-ориентированного программирования:

a) Инкремент; b)Наследование; (*) c) Рекурсивность;
  1. Инкапсуляция – это:

a) Замена обращений к макрокомандам тестами, соответствующими их определениям;

b) Разновидность указателя, определяющего путь доступа к объекту и разрешенные над ним операции;

c) Комбинирование данных с процедурами и функциями, которые манипулируют этими данными; (*)
  1. Полиморфизм – это:

a) Возможность определения единого по имени действия, применимого одновременно ко всем объектам иерархии наследования; (*)

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

c) Массив данных, расположенный частично в основной памяти, частично на дисках;
  1. Наследование – это:

a) Возможность использования уже определенных объектов для построения иерархии объектов; (*)

b) Выделение разрядов слова, соответствующих единичным разрядам маски;

c) Скрытие описания реализации объекта от использующих его модулей;

11. Стек – это:

a) характеристика объекта, определяющая его внешний вид;

b) последовательный список переменной длины, включение и исключение элементов из которого выполняется только с одной стороны списка; (*)

с) последовательный список переменной длины, включение элементов в который происходит с одной стороны, а исключение элементов - с другой стороны списка

Правильные ответы: 1a, 2c, 3b, 4a, 5b, 6b, 7c, 8c, 9a, 10a, 11b.

Шкала оценки: “отлично” - за 90-100% правильных ответов;

“хорошо” - за 75-90% правильных ответов;

“удовлетворительно” - за 50-75% правильных ответов;

“неудовлетворительно” - если < 50% правильных ответов.
ОРГАНИЗАЦИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ


Написать реферат на одну из предложенных тем.
  1. Типы данных в языках структурного и объектно-ориентированного программирования. Примеры.
  2. Метод рекурсии в решении задач по программированию.
  3. Сортировка массивов методом вставки. Примеры.
  4. Сортировка массивов методом писка наименьшего значения. Примеры.
  5. Язык программирования Visual Basic
  6. Язык программирования Delphi
  7. Язык программирования Pascal
  8. Методы программирования.


Задания:

Разработать в среде визуального программирования следующие проекты:
  1. «Построение графика функции»
  2. «Движение круга»
  3. «Проверка знаний»
  4. «Обычный калькулятор»
  5. «Стоимость обеда»
  6. Диалог «Любишь ли читать и какие книги?»
  7. «Справочник записи цвета»
  8. «Словарь терминов» (с функцией внесения изменений и дополнений)
  9. «Ваш вес» (расчет оптимального веса)
  10. «Цвет в формате RGB» (изменение цвета фигуры в зависимости от значений насыщенности красного, зеленого и синего цвета)
  11. «Тест по программированию»
  12. «Тест по физике»
  13. «Тест по географии»
  14. «Игра в “15”»
  15. «Придумай игру»

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


Контрольная работа

В контрольную работу входит 5 задач по следующим темам:

1. Вычисление значения выражения.

2. Организация процедур.

3. Работа с одномерными массивами.

4. Работа с двумерными массивами.

5. Работа со строковыми данными

Номер варианта соответствует последней цифре зачетной книжки.

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


Задания для контрольных работ.

Задание 1.

1. (x6-3/4x2)/((ex+1-1) sinx)

2. cos((x6/7+2x3-1/7x)/(ex+1+3)tgx)

3. tg(x3/7-1/5x+x2/7)/(ex+1)

4. arctg((8x6/7+2x3-1/7x)/(ex+1+3tgx/3))

5. exp((8x2/3+12x3-31/71x)/((ex+1+3sin(x2))tgx/3)))

6. arctg(1+(8x6/7-1/7x)/(ex+1+3tgx/3))

7. 1+arctg((8x11/7+log3x2-5/7x)/((ex+1+3)tgx)

8. sin((8x6/7+2arctgx3-1/7x)/((e2x-1-0.2)cosx)+13x)

9. arctg((8x6/7+2x3-1/7x)/((ex+1+3)tgx/3)+cos6x)

10. arctg((8x6/7+2x3-1/7x)/((e2x-1+3cosx/2)tgx)+15sin2x)

Задание 2.

1. (3kn+1), kn=kn-1+n, k0=1, n=1-10

2. 1/n*kn, kn = kn-1*(n-1), k0=1, n=10-20

3. 1/ kn n-1, kn =(n-1), n=2-11

4. ( kn +1)/ kn, kn =n*(n-1)!, n=10-15

5.  kn 2, kn =n!*(n-1)! , n=2-10

6.  kn, kn= kn-1*(n-1), k0=1, n=20-30

7.  kn, kn= kn-1+1, k0=1, n=1-10

8. ( kn +2 kn 2), kn =n!*(n-1)!, n=3-12

9.  kn+ kn-1, kn= kn-1*(n-1), k0=1, n=2-20

10. 1+nkn, kn = kn-1*(n-1), k0=1, n=5-15

Задание3.

1. В произвольной последовательности чисел переставить элементы в обратном порядке.

2. В произвольной последовательности чисел посчитать количество чисел, делящихся на 5.

3.В произвольной последовательности чисел посчитать количество чисел, превышающих первый элемент.

4. В произвольной последовательности чисел посчитать количество чисел, меньших среднего арифметического последовательности.

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

6. В произвольной последовательности чисел заменить четные элементы на остатки от деления элемента на его порядковый номер.

7. В произвольной последовательности чисел нечетные элементы заменить на 1, посчитать количество нечетных и найти разность количеств четных и нечетных элементов.

8. В произвольной последовательности чисел посчитать сумму отрицательных и сумму неотрицательных элементов и все нечетные отрицательные заменить 0.

9. В произвольной последовательности чисел определить количество и сумму чисел, кратных трем.

10.Из произвольной последовательности чисел удалить элементы, кратные 7.

Задание 4.

1. В произвольной матрице посчитать сумму элементов с четной суммой индексов.

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

3. В произвольной матрице найти сумму элементов с нечетной суммой индексов.

4. Посчитать сумму элементов побочной диагонали матрицы.

5. В произвольной матрице заменить все элементы, превышающие среднее арифметическое, на разность среднего арифметического иэлемента.

6. Из заданной матрицы удалить k-ую строку и l-ый столбец.

7. Найти максимальный элемент k-ого столбца матрицы и сумму его элементов.

8. В матрице заменить положительные элементы на величину 3.

9. В заданной матрице заменить данную k-ую строку и l-ый элемент 0, кроме элемента, расположенного на их пересечении.

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

Задание5.

1. Сколько раз в тексте встречается заданное слово?

2. Определить и напечатать самое короткое слово в тексте.

3. Распечатать слова фразы в обратном порядке.

4. Определить количество слов в тексте.

5. Напечатать только те слова, в которых отсутствует буква «е».

6. Какие слова в тексте имеют одинаковое окончание «ия»?

7. Удалить из строки слова, начинающиеся на букву «а».

8. Удалить из строки все слова, начинающиеся на букву «т».

9. Поменять местами первый и последний символы каждого слова в строке произвольной длины.

10.Какие буквы латинского алфавита не встречаются в тексте?

Темы курсовых работ
  1. История развития языков программирования
  2. Языки и методы программирования
  3. Программирование на языке Ассемблер
  4. Язык программирования "Фортран"
  5. Программирование на языке "Ада"
  6. Рекурсия в языках программирования QBasic, Visual Basic и Pascal.
  7. Программирование на языке "Prolog"
  8. Язык функционального программирования Лисп.
  9. Объектно-ориентированное программирование
  10. Эволюционное развитие объектно-ориентированных языков программирования.
  11. Библиотеки объектов в программировании.
  12. Программирование на Delphi.
  13. Языки программирования C и C++
  14. Программирование графики в Visual Basic.
  15. Графические возможности языка Паскаль.
  16. Язык программирования Смолток (SMALLTALK)
  17. Язык программирования Java
  18. Язык Интернет - программирования " onclick="return false">
  19. Программирование игр на QBasic, VBasic и Pascal
  20. Методы сортировки массивов в языках программирования
  21. Конструирование объектов: строки, стеки, списки, очереди, деревья.
  22. Конструирование программ на основе иерархии объектов».
  23. Процедуры, функции и файлы в языках программирования.



ИТОГОВАЯ АТТЕСТАЦИЯ

ВОПРОСЫ ИТОГОВОЙ АТТЕСТАЦИИ
  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. Графические объекты, их размещение в форме.
  26. Способы работы с цветом. Заливка.
  27. Особенности разработки проектов.


Типы задач для итоговой аттестации
  1. Вычисление арифметического выражения и вывод результата.
  2. Задачи на использование условных операторов
  3. Нахождение max и min в одномерном массиве.
  4. Суммирование элементов массива.
  5. Сортировка одномерного массива с использованием разных алгоритмов.
  6. Простейшие алгоритмы для работы с матрицами: поиск и замена значения, вывод номера элемента, удовлетворяющего условию.
  7. Работа со строками: поиск и замена символа в строке.
  8. Работа с текстовыми файлами.



  1. Дан одномерный массив действительных чисел f[1..n]. Заменить все числа, превышающие минимальный элемент этого массива нулем. Вывести на печать исходный и полученный массивы.
  2. Дан двумерный массив а[1..n,1..m]. Удвоить значения элементов, сумма индексов которых – четное число. Вывести на печать исходный и полученный массивы.
  3. Дан массив из n вещественных чисел, заполненный случайным образом из интервала [-10; 10]. Посчитать количество чисел, кратных 5.
  4. Заменить элементы, лежащие ниже главной диагонали двумерного массива G [1..n,1..n] нулями.
  5. Заменить элементы главной диагонали двумерного массива значением минимальным элементом.
  6. Дан двумерный массив D[1..n, 1..n]. Элементы с четными индексами заменить на единицу. Вывести исходный и преобразованный массивы.
  7. Дана прямоугольная матрица А(10,15), заполненная случайными числами в диапазоне от 0 до 29 включительно. Найти максимальное значение элементов данной матрицы.
  8. Дана строка, содержащая 20 символов. Подсчитать количество цифр, входящих в данную строку.
  9. Вывести на печать числа Фибоначчи от 1 до N. (Каждое число в последовательности, начиная с третьего, получается сложением двух предыдущих чисел. Например: 1,1,2,3,5,8,13,21…).
  10. Посчитать сумму всех нечетных чисел от 101 до 301.
  11. Определить количество и сумму элементов R1, R2, …, Rn, превышающих их среднее арифметическое.
  12. Дан двумерный массив X(m, n). Найти сумму элементов каждой строки массива.
  13. Дан двумерный массив В[1..m,1..n]. Найти суммы элементов каждого столбца массива.
  14. Упорядочить числовой массив а[1..10] по возрастанию.
  15. Введите с клавиатуры свое отчество. Посчитайте в нем количество гласных букв.
  16. Посчитать сколько раз в строке текста «Корабли лавировали, лавировали, да не вылавировали» встречается буква «л». В слове «Корабли» маленькие буквы заменить заглавными.
  17. Посчитать, сколько раз буква, стоящая на 3-м месте в строке текста «Математическая лингвистика», входит в эту строку.
  18. В строке текста «На всякого мудреца довольно простоты» посчитать количество звонких согласных
  19. В тексте «четыре чёрненьких чумазеньких чертенка чертили черными чернилами чертеж» посчитать, сколько слов начинается с буквы «ч».
  20. В строке текста «От топота копыт пыль по полю летит» посчитать количество вхождений слога «по» и буквы «т».
  21. Ввести две строки текста: а) «Математический анализ»; б) «Линейная алгебра». В какой из них гласных больше?
  22. Даны две строки текста. Определить, все ли буквы второй строки входят в первую.
  23. В строке «Чем дальше в лес, тем больше дров» посчитать количество согласных.
  24. В строке «Язык логического программирования Пролог» посчитать сколько раз встречаются слоги: «ро» и «лог».


МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРЕПОДАВАТЕЛЕЙ

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

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

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

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


МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ СТУДЕНТОВ

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

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

ОСНОВНЫЕ ПОНЯТИЯ ДИСЦИПЛИНЫ

(термины)

Алгоритм – четкое описание последовательности действий, которые необходимо выполнить для решения задачи.

Алгоритмический язык – система обозначений и правил для единой и точной записи алгоритмов и их исполнения.

Алфавит языка – набор символов и знаков, из которых строятся слова, входящие в словарь языка.

Бит: - 1) Минимальная единица количества информации. Соответствует информации, содержащейся в ответе на вопрос, на который можно ответить «да» или «нет». 2) Двоичный разряд. Позиция кодовой строки, которая содержит 0 или 1. Сочетания битов могут указывать букву, число, элемент графического изображения или звукозаписи, передавать сигнал, выполнять переключение или другие функции.

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

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

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

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

Инкапсуляция – механизм, благодаря которому данные и методы объекта скрываются от внешнего мира.

Класс – основные строительные блоки объектно-ориентированного программирования. Хорошо спроектированный класс представляет собой самостоятельный фрагмент программы – модуль. Классы обладают свойствами, методами, событиями.

Ключевое слово – фиксированное слово языка, служащее для создания операторов и служебных слов языка.

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

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

Контейнер – объект управления, которые могут содержать другие объекты управления.

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

Метод - программная составляющая объекта управления, определяющая способ выполнения определенной функции объектом или над объектом.

Модуль – набор фрагментов кода, используемых в программе.

Наследование – способность объекта сохранять атрибуты класса-родителя.

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

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

Отладка – процесс поиска и исправления ошибок в программе.

Очередь – последовательный список переменной длины, включение элементов в который происходит с одной стороны, а исключение элементов

- с другой стороны списка.

Переменная – область памяти, значение которой может меняться при выполнении программы.

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

Полиморфизм – способность объекта принимать различные формы.

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

Программирование – процесс перевода последовательности действий алгоритма на алгоритмический язык с целью дальнейшего выполнения на ЭВМ (ПК).

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

Размер массива – количество элементов массива.

Размерность массива – количество измерений массива.

Свойство объекта – характеристика объекта, определяющая внешний вид объекта и его поведение в приложении, написанном на языке объектно-ориентированного программирования.

Синтаксис – совокупность правил, определяющих построение допустимых конструкций языка.

Система программирования – набор средств ввода, редактирования, трансляции и накопления программ в ЭВМ(ПК).

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

Событие – характеристика класса объектов, описывающая внешние воздействия, на которые реагирует объект при выполнении программы.

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

Список свойств – список, доступ к элементам которого возможен по индексам, произвольным идентификаторам.

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

Тестирование – процесс поиска ошибок в программе, планируемый до начала программирования и осуществляемый по принципу “сверху вниз”. Цели тестирования состоят в проверке работы программы при минимальном и максимальном значениях входных данных; реакции программы на недопустимые входные данные; взаимодействия модулей программы.

Файл данных – файл, в котором хранятся данные для многократного использования. По способам доступа файлы данных делятся на файлы последовательного и произвольного доступа.

Файл модуля – файл, содержащий набор функций и процедур проекта.

Файл проекта – файл, содержащий информацию о местонахождении всех элементов проекта.

Файл формы – файл, в котором хранится информация для построения экранной формы.

Формат оператора – правило написания оператора.

АSCII (American Standart Code for Information Interchange). Принятый во всем мире способ кодирования цифр, латинских букв, знаков препинания, спецсимволов и т.п. (всего этих кодов 128, они представляют собой 7-разрядные двоичные числа).


Список рекомендуемой литературы.

обязательная
  1. Информатика: Учебник; п/р Н.В. Макаровой – М.; Финансы и статистика, 2004. –768с.
  2. Корев П.Б. Технология объектно-ориентированного программирования. М., «Академия», 2006. – 448с.
  3. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика, Учебник для ВУЗов – М., «Академия», 2006.— 848с.
  4. Могилев А.В., Пак Н.И., Хеннер Е.К. Практикум по информатике. М., «Академия», 2006.— 608с.
  5. Окулов С.М. Программирование в алгоритмах. М.: БИНОМ. Лаборатория знаний, 2006. — 383с.
  6. Семакин И.Г., Шестаков А.П. Основы программирования. М.: «Академия», 2006. — 432с.
  7. Элиенс А. Принципы объектно-ориентированной разработки программ. М.: Издат.дом «Вильямс», 2002. — 496с.

дополнительная
  1. Бен-Ари М. Языки программирования. Практический сравнительный анализ. Изд. «Мир»,2000.
  2. Буч Г. Объектно-ориентированное программирование с примерами применения. М.: Конкорд, 1992
  3. Информатика. Базовый курс. Под ред. Симоновича С.В. С.-П. Питер,2001.
  4. Костин А.Е., Шаньгин В.Ф. Организация и обработка структур данных в вычислительных системах. Уч. пособ. для вузов. Изд. ВШ, М., 1987.
  5. Методы программирования. Под ред. Угольницкого Г.А. Уч.пос. М.: Вузовская книга, 2000.—280с.
  6. Пратт Т. Языки программирования: разработка и реализация. М., Мир, 1979.
  7. Стефен Моррис. Объектно-ориентированное программирование.

Ростов н/Д : «Феникс», 1997.—352с.