Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач по программированию.docx
Скачиваний:
70
Добавлен:
27.03.2016
Размер:
388.67 Кб
Скачать

Озёрский технологический институт – филиал федерального государственного автономного образовательного учреждения высшего профессионального образования «Национальный исследовательский ядерный университет «МИФИ»

Александр Зубаиров

ПРОГРАММИРОВАНИЕ

Учебное пособие

Сборник задач

Озёрск, 2015

УДК

Александр Зубаиров, Программирование : учеб. пособие : сборник задач / Александр Зубаиров. – Озёрск : ОТИ НИЯУ МИФИ, 2015. – 122 с.

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

Пособие состоит из 17 разделов, соответствующих отдельным важным темам, изучаемым в рамках дисциплины «Программирование».

Каждый раздел содержит необходимые теоретические сведения с примерами на языке программирования С/С++ и примеры решения типовых задач. По определенным темам приведены наборы вариантов заданий, которые могут использоваться в качестве упражнений для закрепления теоретического материала, в качестве дополнительных заданий на практических занятиях, а также в качестве домашних заданий.

Рецензенты:

1)

2)

© Александр Зубаиров

© ОТИ НИЯУ МИФИ

Оглавление

Введение

Учебное пособие «Программирование» в первую очередь ориентировано на студентов, начинающих изучение курса программирования «с нуля». В качестве первого языка для изучения программирования предлагается язык С с элементами языка С++ за исключением его средств объектно-ориентированного программирования (далее – языки С/С++).

Для начала изучения программирования языки С/С++ выбраны не случайно.

Во-первых, языки С/С++ являются одними из наиболее популярных в настоящее время. Так, в соответствии с рейтингом TIOBE programming community index на февраль 2015 года язык С является самым популярным, а С++ стоит на третьем месте после языка Java. Рейтинг PYPL PopularitY of Programming Language показывает, что языки С/С++ входят в первую десятку самых популярных языков программирования судя по запросам в поисковой системе Google.

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

Выполняя задания из данного пособия, студенты ОТИ НИЯУ МИФИ обязаны соблюдать требования к оформлению программных модулей, установленные в методическом пособии «ТПМ. Требования к программным модулям» (Вл. Пономарев. ТПМ. Требования к программным модулям. Методические указания. Ред. 1. Озерск: ОТИ МИФИ, 2006. – 40 с.).

  1. Блок-схемы линейных алгоритмов

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

В Российской Федерации правила выполнения блок-схем определяет ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения».

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

- символ «терминатор» отображает выход во внешнюю среду и вход из внешней среды (начало или конец схемы программы):

- символ «соединитель» отображает выход в часть схемы и вход из другой части этой схемы и используется для обрыва линии и продолжения её в другом месте. Соответствующие символы-соединители должны содержать одно и то же уникальное обозначение:

- символ «ручной ввод» отображает данные, вводимые вручную во время обработки с устройств любого типа (клавиатура, переключатели, кнопки и т.д.):

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

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

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

За исключением символов «терминатор», «соединитель» и «решение», каждый символ имеет один вход и один выход. «Терминатор» и «разделитель» имеет либо вход, либо выход. «Решение» имеет один вход и минимум два выхода.

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

Для символов «решение» линии могут быть подписаны:

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

Пример: вычислить площадь поверхности шарового сектора шара с радиусом основания r шара радиуса R.

Площадь поверхности шарового сектора вычисляется по формуле:

где R – радиус шара, r – радиус основания конуса.

Блок-схема алгоритма начинается и заканчивается символом «терминатор» с текстом «Начало» и «Конец» соответственно.

Перед началом выполнения алгоритма необходимо получить исходные данные из внешней среды (например, с клавиатуры пользователя). В символе «ручной ввод» указано, что в программу вводятся значения R и r.

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

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

1. Три сопротивления R1, R2 и R3 соединены параллельно. Найти сопротивление соединения.

2. Определить время падения камня на поверхность земли с высоты h.

3. Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

4. Вычислить длину высоты треугольника, опущенной на сторону а, по известным значениям длин его сторон a, b, c.

5. Вычислить объем цилиндра с радиусом основания r и высотой h.

6. Определить расстояние, пройденное физическим телом за время t, если тело движется с постоянным ускорением а и имеет в начальный момент времени скорость v0.

7. Вычислить площадь треугольника по формуле Герона, если заданы его стороны.

8. По данным сторонам прямоугольника вычислить его периметр, площадь и длину диагонали.

9. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.

10. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

11. Найти длину окружности и площадь круга заданного радиуса R.

13. Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь.

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

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

17. Скорость лодки в стоячей воде v км/ч, скорость течения реки u км/ч (u < v). Время движения лодки по озеру t1 ч, а по реке (против течения) – t2 ч. Определить путь s, пройденный лодкой.

18. Дана сторона равностороннего треугольника. Найти площадь этого треугольника и радиусы вписанной и описанной окружностей.

20. Найти площадь кольца, внутренний радиус которого равен r1, а внешний радиус равен r2 (r1 < r2).