Практическая работа № 4 Массивы



Практическая работа № 1. Программирование линейных алгоритмов

Цель работы: Приобретение навыков программирования линейных алгоритмов.

Задание 1

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

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

3. Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.

4. Вычислить расстояние между двумя точками с данными координатами (x1, y1) и (x2, y 2).

5. Даны два действительных числа x и y. Вычислить их сумму, разность, произведение и частное.

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

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

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

9. Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R > r).

10. Треугольник задан величинами своих углов и радиусом описанной окружности. Найти стороны треугольника.

11. Найти площадь равнобедренной трапеции с основаниями a и b и углом α при большем основании a.

12. Вычислить корни квадратного уравнения ax 2 + bx + c = 0, заданного коэффициентами a, b и c (предполагается, что a ≠ 0 и что дискриминант уравнения неотрицателен).

13. Дано действительное число x. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций 2 x 4 − 3 x 3 + 4 x 2 − 5 x + 6.

14. Найти площадь треугольника, две стороны которого равны a и b, а угол между этими сторонами q.

15. Дано a. Не используя никаких функций и никаких операций, кроме умножения, получить a8 за три операции; a10 и a16 за четыре операции.

16. Найти сумму членов арифметической прогрессии, если известны ее первый член, знаменатель и число членов прогрессии.

17. Найти все углы треугольника со сторонами a, b, c. Предусмотреть в программе перевод радианной меры угла в градусы, минуты и секунды.

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

19. Текущее показание электронных часов: m часов (0 ≤ m ≤ 23), n минут (0 ≤ n ≤ 59), k секунд (0 ≤ k ≤ 59). Какое

время будут показывать часы через p ч q мин r c?

20. Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус основания R.

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

22. Дана величина A, выражающая объем информации в байтах. Перевести A в более крупные единицы измерения информации.

23. Составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде v км/ч, скорость

течения реки w км/ч, время движения по озеру t1 ч, а против течения реки – t 2 ч.

 

Практическая работа №2 Операторы выбора

Цель работы: Приобретение навыков программирования ветвящихся алгоритмов.

 

                                                Основные сведения

Для программирования ветвящихся алгоритмов применяются условный оператор и оператор выбора.

Условный оператор имеет следующий формат:

if(<логическое выражение>) <оператор 1>;

else <оператор 2>;

Операторы 1 и 2 могут быть простыми или составными. Если логическое выражение, выступающее в качестве условия ветвления, принимает значение 0 (ложно), то выполняется оператор 2, если 1 (истина) – оператор 1.

Неполная форма условного оператора:

if(<логическое выражение>) <оператор>;

Оператор выбора позволяет программировать ветвления по многим направлениям. Этот оператор организует переход на одну из нескольких ветвей в зависимости от значения заданного выражения (селектора выбора).

                                               Практические задания

1. Даны две точки A (x1, y1) и B (x2, y2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.

2. Имеется пронумерованный список деталей: 1) шуруп, 2) гайка, 3) винт, 4) гвоздь, 5) болт. Составить программу, которая по номеру детали выводит на экран ее название.

3. Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

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

5. Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при m = 1 получаем февраль, 4 – май).

6. Подсчитать количество отрицательных чисел среди чисел а, b, c.

7. Подсчитать количество целых чисел среди чисел а, b, c.

8. Определить, делителем каких чисел а, b, c является число k.

9. Перераспределить значения переменных x и y так, чтобы в x оказалось большее из этих значений, а в y – меньшее.

10. Определить правильность даты, введенной с клавиатуры (число – от 1 до 31, месяц – от 1 до 12). Если введены некорректные данные, то сообщить об этом.

11. Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольные. Если их нет, то вычислить величину угла с.

  12. Даны четыре точки A1 (x1, y1), A2 (x2, y2), A3 (x3, y3), A4 (x4, y4). Определить, будут ли они вершинами параллелограмма.

  13. Даны три точки A (x1, y1), B (x2, y2), C (x3, y3). Определить, будут ли они расположены на одной прямой. Если нет, то вычислить угол ABC.

  14. Даны действительные числа а, b, c. Удвоить эти числа, если a < b < c, и заменить их абсолютными значениями, если это не так.

  15. Для целого числа k от 1 до 99 напечатать фразу "Мне k лет", учитывая при этом, что при некоторых значениях k слово "лет" надо заменить на слово "год" или "года". Например, 11 лет, 22 года, 51 год.

  16. Даны три положительных числа а, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого треугольника.

  17. Написать программу решения уравнения ax3 + bx = 0 для произвольных a и b.

  18. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной a в этом круге.

  19. В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры M. На какой этаж должен доставить лифт пассажира?

  21. Написать программу, которая по введенному номеру единицы измерения (1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр) или длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.

  22. Дана точка A (x, y). Определить, принадлежит ли она треугольнику с вершинами в точках (x1, y1), (x2, y2), (x3, y3).

Практическая работа № 3 Циклы

Цель работы: Приобретение навыков программирования циклических алгоритмов.

                                                      Основные сведения

Цикл – многократное повторение последовательности действий по некоторому условию. Известны три типа циклических алгоритмических структур: цикл с параметром, цикл с предусловием и цикл с постусловием.

                                             Практические задания

1. Даны действительное число a, натуральное число n. Вычислить:

                                        P = a (a − n) (a − 2n) ×... × (a − n 2).

 

2. Дано действительное x. Вычислить:

                                     (x − 1) (x − 3) (x − 7) ×... × (x − 63)

                                                                                 .

                                     (x − 2) (x − 4) (x − 8) ×... × (x − 64)

3. Дано натуральное число n. Найти сумму первой и последней цифры этого числа.

4. Среди всех п-значных чисел указать те, сумма цифр которых равна данному числу k.

5. Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа.

6. Для записи римскими цифрами используются символы I, V, X, L, C, D, M, обозначающие соответственно числа 1, 5, 10, 50, 100, 500, 1000. Составить программу, которая запись любого данного числа n (n ≤ 3999) арабскими цифрами переводила бы в запись римскими цифрами.

7. Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.

8. Одноклеточная амеба каждые три 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, …, 24 часа.

9. Составить программу, которая запрашивает пароль (четырехзначное число) до тех пор, пока количество неверных ответов не превысит три.

10. Найти все двузначные числа, сумма квадратов цифр которых кратна M.

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

12. Найти сумму всех n-значных чисел (1 ≤ n ≤ 4).

Контрольные вопросы

1. Использование цикла с параметром.

2. Программирование вложенных циклов.

3. Использование цикла с предусловием.

4. Использование цикла с постусловием.

5. Использование оператора continue.

Практическая работа № 4 Массивы

Цель работы: Приобретение навыков работы с массивами.

                                              Практические задания

1. Заданы два одномерных массива с различным количеством элементов и натуральное число. Объединить их в один массив, включив второй массив между k-м и (k + 1)-м элементами первого, не используя дополнительный массив.

Даны две последовательности

                                      a1 ≤ a2 ≤... ≤ an и b1 ≤ b2 ≤... ≤ bm.

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

2. Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, …, n 2, записывая их "по спирали".

3. Сортировка выбором. Дана последовательность чисел a1, a2,..., an. Требуется расположить элементы по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый – на место наибольшего. Написать алгоритм сортировки выбором.

4. Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m.

5. Сортировка обменами. Дана последовательность чисел a1, a2,..., an. Требуется представить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai +1. Если ai > ai +1, то делается перестановка. Так продолжается до тех пор, пока все элементы не будут расположены в порядке возрастания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок.

6. Вычислить сумму и число положительных элементов матрицы A [ N, N ], находящихся над главной диагональю.

7. Сортировка вставками. Дана последовательность чисел a1, a2,..., an. Требуется представить числа в порядке возрастания. Делается это следующим образом. Пусть a1, a2,..., ai – упорядоченная последовательность, т.е. a1 ≤ a2 ≤... ≤ ai. Берется следующее число ai +1 и вставляется в последовательность так, чтобы новая последовательность была тоже возрастающей. Процесс производится до тех пор, пока все элементы от i + 1 до n не будут перебраны.

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

9. Сортировка Шелла. Дан массив n действительных чисел. Требуется упорядочить его по возрастанию. Делается это следующим образом: сравниваются два соседних элемента ai и ai +1. Если ai ≤ ai +1, то продвигаются на один элемент впе- ред. Если ai > ai +1, то производится перестановка и сдвигаются на один элемент назад.

10. Дан целочисленный массив A [ n ], среди элементов есть одинаковые. Создать массив из различных элементов A[ n ].

11. Дан массив натуральных чисел. Найти сумму элементов, кратных данному K.

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

13. Дана последовательность целых чисел a1, a2,..., an. Выяснить, будет ли она возрастающей.

14. Дана последовательность чисел a1, a2,..., an. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен.

15. Дан массив действительных чисел размерностью N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.

16. Дана последовательность чисел, среди которых имеется один ноль. Вывести на печать все числа, включительно до нуля.

17. В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Дополнительный массив заводить не разрешается.

18. Дана матрица A размера n × m. Определить количество элементов массива больших заданного элемента массива.

19. Получить матрицу, в которой крайние элементы равны 1, а остальные 0.

20. Определить максимальный и минимальный элемент в матрице m × n.

21. Дана действительная квадратная матрица порядка n. Преобразовать матрицу по правилу: строку с номером n сделать столбцом с номером n.

22. Дана действительная матрица размером n × m. Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.

23. Упорядочить по возрастанию элементы каждой строки матрицы размером n × m.

24. Дана действительная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера n × n крест – накрест.

 

                                              Контрольные вопросы

1.  Объявление одномерных и многомерных массивов.

2. Обращение к элементам массива.

3. Динамически размещаемые одномерные и многомерные массивы.

4. Освобождение памяти, занимаемой одномерными и многомерными динамическими массивами.

5. Понятия адреса и указателя.

6. Использование адресных операций.

 


Дата добавления: 2020-11-15; просмотров: 138; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!