
- •«Основы алгоритмизации и программирования» Методические указания к контрольной работе
- •1.1. Общие положения
- •1.2. Технология выполнения и отчетность по контрольной работе
- •Приложение 1
- •Приложение 2 контрольные задания
- •1. Разветвляющийся алгоритм
- •Одномерные массивы
- •4. Алгоритмы обработки строковых переменных
- •5. Процедуры и функции
- •6. Записи
- •Литература
5. Процедуры и функции
Задача 1
-
Выполнять операцию умножения двух введенных чисел или деление, в зависимости от выбора пользователем операции, до тех пор, пока не будет введено отрицательное число. Оформить сложение в виде процедуры с входными и выходными параметрами, а вычитание в виде функции.
-
Даны два натуральных числа a, b. Вычислить
Функция х!! Определяется следующим образом: х!! = 1*3*5*...*х, если х нечетно, х!! = 2*4*6*...*х, если х четно.
-
Рассчитать число золотых монет, принесенных в дань господину, если N+1 подданных последовательно передают монеты от первого к последнему. Причем, первый отдает одну монету, второй увеличивает число монет вдвое, третий - в три раза и т. д. Расчет осуществить, используя рекурсивный вызов процедуры с параметром.
Задача 2
-
Выполнять операцию сложения двух введенных чисел или вычитание, в зависимости от выбора пользователем операции. Оформить сложение в виде процедуры с входными и выходными параметрами, а вычитание в виде функции.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Рассчитать число рыбок - самок, выращенных в аквариуме за N месяцев, если вначале была одна самка, а ежемесячный прирост от одной самки составляет три самки, причем все рыбки остаются живыми.
-
Ученики двух групп имеют порядковые номера от 1 до N в каждой группе. В процедуре Р_1 функцией генерации случайных чисел определяются два числа "а" и "b" от 1 до N. Если числа разные, то два участника с номерами "а" и "Ь" выбывают, оставшиеся ученики перенумеровываются от 1 до (N-1) и играют дальше (процедура Р_1 повторяется с новыми значениями "а" и "b"), иначе выводится значение совпавшего номера, ученики получают приз и процедура Р_2 предлагает играть снова.
Задача 3
-
Написать программу проверки существования «близнецов», т.е. простых чисел, разность между которыми равна 2. Проверка числа на свойство простого оформить в виде функции, а проверка разности в виде процедуры.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Выполнять операцию умножения двух введенных чисел или деления в зависимости от выбора пользователем операции, до тех пор, пока не будет введено отрицательное число.
-
Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через два месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели одну пару молодых кроликов? А через К месяцев? А через Н лет? Расчет оформить, вызов процедуры или функции.
Задача 4
-
В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить вычисление суммы К первых элементов арифметической прогрессии, начиная с первого элемента равного 1.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Выполнять операцию сложения или вычитания двух введенных чисел, в зависимости от выбора операции пользователем.
-
Бутылка минеральной воды стоит К рублей, а пустая бутылка стоит 1 рубль. Компания друзей, собравшаяся в понедельник на день рождения одного из них, располагала первоначальным капиталом в N рублей и купила минералки столько, на сколько хватило денег. Употребив все купленное, они на следующий день сдали все бутылки, добавили оставшиеся с предыдущего дня деньги и снова купили минералки - на сколько денег хватило. Данная процедура продолжалась каждый день, пока были деньги. Рассчитать на какое количество дней хватит введенной суммы.
Задача 5
-
Рассчитать число золотых монет, принесенных в дань господину, если N+1 подданных последовательно передают монеты от первого к последнему. Причем, первый отдает одну монету, второй увеличивает число монет вдвое, третий - в три раза и т. д. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить вычисление (N+1)!.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Написать программу проверки существования «близнецов», т.е. простых чисел, разность между которыми равна 2.
-
В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук. Расчет оформить, используя вызов процедуры или функции
Задача 6
-
Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через три месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели одну пару молодых кроликов? А через К месяцев? А через Н лет? Программа должна предоставлять возможность выбора осуществления расчета либо с использованием функции, либо использованием процедуры. В виде подпрограммы целесообразно оформить сумму двух соседних элементов чисел Фибоначчи.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. В произвольной строке символов найти все повторяющиеся структуры, содержащие более одного символа, вывести эти структуры и их количество на экран.
-
Микроорганизм прекращает свое существование в конце пятого часа после возникновения. При этом в конце второго часа он производит три подобных себе микроорганизма, а в конце третьего - еще два. В начале эксперимента в колонии микроорганизмов было три новорожденных микроорганизма с одинаковым моментом рождения. Какова будет численность колонии к началу п-го часа. Расчет оформить, используя вызов процедуры или функции.
Задача 7
-
Бутылка минералки стоит К рублей, а пустая бутылка стоит 1 рубль. Компания друзей, собравшаяся в понедельник на день рождения одного из них, располагала первоначальным капиталом в N рублей и купила минералки столько, на сколько хватило денег. Употребив все купленное, они на следующий день сдали все бутылки, добавили оставшиеся с предыдущего дня деньги и снова купили минералки - на сколько денег хватило. Данная процедура продолжалась каждый день, пока были деньги. Рассчитать на какое количество дней хватит введенной суммы. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить нахождение количества купленных бутылок минералки и остатка денег после покупки.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. В произвольной строке символов найти все повторяющиеся структуры, содержащие более одного символа, вывести эти структуры и их количество на экран. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры.
-
Рассчитать число зерен, выращенных крестьянином за N лет, если он посадил 10 зерен, а годовой урожай составляет 22 зерна на каждое посаженное зерно. Расчет оформить, используя вызов процедуры или функции.
Задача 8
-
Пусть требуется рассчитать число осколков, полученных в результате деления тела за N миллисекунд, если каждый осколок делится на два за одну миллисекунду. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить возведение числа 2 в степень с натуральным показателем.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать ему зерно. Причем количество зерна оговорил так: на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук.
-
Рассчитать число рыбок, выращенных в аквариуме за "N" лет, если вначале было две рыбки, а число рыбок увеличивается пропорционально числу лет, т. е. 4, 12, 48 и т.д. Расчет оформить, используя вызов процедуры или функции.
Задача 9
-
С клавиатуры вводится десятичное число. На экран монитора выводится его запись в определенной системе счисления. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить нахождение остатка от деления целого числа на основание системы счисления.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Пара кроликов каждый месяц дает приплод - двух кроликов (самца и самку), от которых через два месяца уже получается новый приплод. Сколько кроликов будет через год, если в начале года мы имели две пары молодых кроликов? А через К месяцев? А через Н лет?
-
Известно, что некоторые бактерии размножаются каждые три минуты, разделяясь на 2. Однако не все бактерии доживают до трехминутного возраста, каждую минуту треть всех бактерий погибает. Составьте программу, подсчитывающую число бактерий через N минут, если первоначально было К только что «родившихся» бактерий. Расчет оформить, используя вызов процедуры или функции
Задача 10
-
В произвольной строке символов найти все повторяющиеся последовательности символов, содержащие более одного символа, вывести эти последовательности и их количество на экран. Программа должна предоставлять возможность выбора осуществления расчета с использованием либо функции, либо процедуры. В виде подпрограммы целесообразно оформить сравнение скопированного фрагмента строки определенной длины с остальными вариантами.
-
Решить задачу с использованием процедур с входными и выходными параметрами или функций. Пусть требуется рассчитать число осколков, полученных в результате деления тела за N миллисекунд, если каждый осколок делится на два за одну миллисекунду.
-
Известно, что некоторые микроорганизмы размножаются каждые четыре минуты, разделяясь на 3. Однако не все микроорганизмы доживают до четырехминутного возраста, каждую минуту треть всех микроорганизмов погибает. Составьте программу, подсчитывающую число микроорганизмов через N минут, если первоначально было К только что «родившихся» микроорганизмов. Расчет оформить, используя вызов процедуры или функции