Индивидуальная практическая работа 2

Методические указания

ИПР 2 предназначена для приобретения практических навыков работы с материалом, относящимся к теме 10: «Функции». Здесь необходимо разработать программу, которая позволяла бы выполнить расчет по двум формулам с использованием двух функций func1 и func2 соответственно. Эти функции должны возвращать результат вычислений по формулам, определяемым вариантом задания, для конкретных исходных данных, передаваемых в функции в качестве параметров. Расчет необходимо выполнить для нескольких различных исходных данных по каждой из формул и вывести результаты расчета на экран монитора.

Варианты заданий

1. z1 = 2sin2(3p – 2a)×cos2(5p + 2a) z2 = 1/4 – sin(5p/2 – 8a)/4

2. z1 = cosa + sina+ cos3a + sin3a z2 = 2 ×cosa×sin(p/4 + 2a)

3. z1 = (sin2a + sin5a – sin3a)/(cosa + 1 – 2sin22a) z2 = 2sina

4. z1 = (sin2a + sin5a – sin3a)/(cosa – cos3a + cos5a) z2 = tg3a

5. z1 = 1 – sin2(2a)/4 + cos2a

z2 = cos2a + cos4a

6. z1 = cosa + cos2a + cos6a + cos7a z2 = 4cos(a/2)×cos(5a/2)×cos4a

7. z1 = cos2(3p/8 – a/4) – cos2(11p/8 + a/4) z2 = sin(a/2)/2

8. z1 = cos4x + sin2y + sin2(2x)/4 – 1 z2 = sin(y + x)×sin(yx)

9. z1 = (cosa – cosb)2 – (sina – sinb)2 z2 = - 4sin2((a – b)/2)×cos(a + b)

10. z1 = sin(p/2 + 3a)/(1 – sin(3a – p)) z2 = ctg(5p/4 + 3a/2)

11. z1 = (1 – sin2a)/(1 + sin2a)

z2 = (1 – tga)/(1 + tga)

12. z1 = (sin4a)/(1 + cos4a)×(cos2a)/(1 + cos2a) z2 = ctg(3p/2 – a)

13. z1 = (sina + cos(2b – a))/(cosa – sin(2b – a)) z2 = (1 + sin(2b)/cos2b

14. z1 = (cosa + sina)/(cosa – sina) z2 = tg2a + sec2a

15. z1 = )/( + b + 2)

z2 = 1/

16. z1 = (x2 + 2x – 3 + (x + 1) )/(x2 – 2x – 3 + (x – 1) ) z2 =

17. z1 = ( )/(3 – 2/ ) z2 = -

18. z1 = ((a + 2)/ a/( + 2) + 2/(a ))×( )/(a + 2) z2 = 1/( + )

19. z1 = ((1 + a + a2)/(2a + a2) + 2 – (1 – a + a2)/(2aa2))-1×(5 – 2a2) z2 = (4 – a2)/2

20. z1 = ((m – 1) – (n – 1) )/( + nm + m2m) z2 = ( )/m

Контрольные работы

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

Методические указания

КР 1 предназначена для приобретения практических навыков работы с материалом, относящимся к теме 9: «Структуры». В программе необходимо ввести описание структурного типа данных, определяемого вариантом, после чего создать массив из 10 структур. Далее необходимо заполнить этот массив конкретными данными, вводимыми с клавиатуры, после чего вывести на экран монитора те элементы массива (т.е. переменные структурного типа), которые соответствуют введенному с клавиатуры критерию отбора данных. При этом работать с полями структур можно обычным образом, используя операцию точечного выбора, или с помощью механизма указателей, используя операцию стрелочного выбора (->).

Варианты заданий

1. Опишите структуру с именем STUDENT, содержащую следующие поля: - фамилия и инициалы; - номер группы; - успеваемость (массив из 5 элементов).

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; 2) вывод на экран монитора фамилий и номеров групп для всех студентов, имеющих средний бал больше 8.

2. Опишите структуру с именем STUDENT, содержащую следующие поля: - фамилия и инициалы; - номер группы; - успеваемость (массив из 5 элементов).

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; 2) вывод на экран монитора фамилий и номеров групп для всех студентов, имеющих оценки 9 и 10.

3. Опишите структуру с именем STUDENT, содержащую следующие поля: - фамилия и инициалы; - номер группы; - успеваемость (массив из 5 элементов).

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; 2) вывод на экран монитора фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку ниже, чем 4.

4. Опишите структуру с именем AEROFLOT, содержащую следующие поля: - название пункта назначения рейса; - номер рейса; - тип самолета.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа AEROFLOT; 2) вывод на экран монитора номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры.

5. Опишите структуру с именем AEROFLOT, содержащую следующие поля: - название пункта назначения рейса; - номер рейса; - тип самолета.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа AEROFLOT; 2) вывод на экран монитора пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры.

6. Опишите структуру с именем WORKER, содержащую следующие поля: - фамилия и инициалы работника; - название занимаемой должности; - год поступления на работу. Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа WORKER; 2) вывод на экран монитора фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры.

7. Опишите структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения; - номер поезда; - время отправления. Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа TRAIN; 2) вывод на экран монитора информации о поездах, отправляющихся после введенного с клавиатуры времени.

8. Опишите структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения; - номер поезда; - время отправления. Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа TRAIN; 2) вывод на экран монитора информации о поездах, направляющихся в пункт, название которого введено с клавиатуры.

9. Опишите структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения; - номер поезда; - время отправления. Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа TRAIN; 2) вывод на экран монитора информации о поезде, номер которого введен с клавиатуры.

10. Опишите структуру с именем MARSH, содержащую следующие поля: - название начального пункта маршрута; - название конечного пункта маршрута; - номер маршрута.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа MARSH; 2) вывод на экран монитора информации о маршруте, номер которого введен с клавиатуры.

11. Опишите структуру с именем MARSH, содержащую следующие поля: - название начального пункта маршрута; - название конечного пункта маршрута; - номер маршрута.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа MARSH; 2) вывод на экран монитора информации о маршрутах, которые начинаются или оканчиваются в пункте, название которого введено с клавиатуры.

12. Опишите структуру с именем NOTE, содержащую следующие поля: - фамилия и инициалы; - номер телефона; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа NOTE; 2) вывод на экран монитора информации о человеке, номер телефона которого введен с клавиатуры.

13. Опишите структуру с именем NOTE, содержащую следующие поля: - фамилия и инициалы; - номер телефона; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа NOTE; 2) вывод на экран монитора информации о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры.

14. Опишите структуру с именем NOTE, содержащую следующие поля: - фамилия и инициалы; - номер телефона; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа NOTE; 2) вывод на экран монитора информации о человеке, чья фамилия введена с клавиатуры.

15. Опишите структуру с именем ZNAK, содержащую следующие поля: - фамилия и инициалы; - знак Зодиака; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа ZNAK; 2) вывод на экран монитора информации о человеке, чья фамилия введена с клавиатуры.

16. Опишите структуру с именем ZNAK, содержащую следующие поля: - фамилия и инициалы; - знак Зодиака; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа ZNAK; 2) вывод на экран монитора информации о людях, родившихся под знаком, название которого введено с клавиатуры.

17. Опишите структуру с именем ZNAK, содержащую следующие поля: - фамилия и инициалы; - знак Зодиака; - дата рождения (массив из 3 чисел). Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа ZNAK; 2) вывод на экран монитора информации о людях, родившихся в месяц, значение которого введено с клавиатуры.

18. Опишите структуру с именем PRICE, содержащую следующие поля: - название товара; - название магазина, в котором продается товар; - стоимость товара.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа PRICE; 2) вывод на экран монитора информации о товаре, название которого введено с клавиатуры.

19. Опишите структуру с именем PRICE, содержащую следующие поля: - название товара; - название магазина, в котором продается товар; - стоимость товара.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа PRICE; 2) вывод на экран монитора информации о товарах, продающихся в магазине, название которого введено с клавиатуры.

20. Опишите структуру с именем ORDER, содержащую следующие поля: - расчетный счет плательщика; - расчетный счет получателя;

- перечисляемая сумма.

Программа должна обеспечить выполнение следующих действий: 1) ввод с клавиатуры данных в массив, состоящий из 10 структур типа ORDER; 2) вывод на экран монитора информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры.

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

Методические указания

КР 2 предназначена для приобретения практических навыков работы с материалом, относящимся к теме 13: «Динамические структуры данных». В качестве динамической структуры данных служит очередь или стек. При этом элементы очереди (стека) можно создавать по мере необходимости в динамической памяти или же сразу реализовать очередь (стек) на основе массива и больше память не распределять.

Варианты заданий

1. Создайте очередь для целых (положительных и отрицательных) чисел. Создайте функции push и pop для ввода и вывода элементов очереди. Введите в очередь 10 чисел. Выведите на экран 2 первых отрицательных числа очереди.

2. Создайте стек для целых чисел. Создайте функции push и pop для ввода и вывода элементов стека. Вводите числа с клавиатуры. При этом должна выполняться проверка, блокирующая попадание в стек отрицательных чисел. После добавления в стек числа 0 выведите на экран содержимое стека.

3. Создайте очередь для целых чисел. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее размера. Вводите в очередь числа. После ввода числа 0 выведите на экран сумму всех положительных чисел очереди и ее размер.

4. Создайте стек для целых (положительных и отрицательных) чисел. Создайте функции push, pop и size для ввода и вывода элементов стека и определения его текущего размера. Вводите в стек числа. После ввода числа 0 выведите на экран все положительные числа, содержащиеся в стеке, затем – все отрицательные, а также размер стека.

5. Создайте очередь для целых (положительных и отрицательных) чисел. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее текущего размера. Вводите в очередь элементы до тех пор, пока не встретится число 0. Выведите на экран положительные элементы очереди (до первого отрицательного включительно), длину очереди и число элементов очереди, не выведенных на экран.

6. Создайте очередь для символов. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее текущего размера. Вводите в очередь символы с клавиатуры. В случае совпадения вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) выведите на экран размер очереди и ее содержимое.

7. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. Вводите в очередь символы с клавиатуры, причем при совпадении вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) блокируйте ввод такого символа. В случае совпадения вводимого символа с эталонным символом (например #) выведите на экран содержимое очереди.

8. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. В случае совпадения вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) удалите из очереди 2 первых элемента и выведите содержимое очереди на экран.

9. Создайте два стека для символов. Вводите символы с клавиатуры, причем прописные символы должны попадать в первый стек, а строчные – во второй. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое обоих стеков.

10. Создайте очередь для целых чисел. Создайте функции push и pop для ввода и вывода элементов очереди. Введите в очередь 10 элементов. После этого перейдите в режим, при котором при вводе очередного элемента из очереди удаляется первый элемент. После ввода с клавиатуры числа 0 выведите на экран содержимое очереди.

11. Создайте стек для символов и стек для целых чисел. Вводите в первый стек символы с клавиатуры. Одновременно во второй стек должны заноситься ASCI-коды (числовые значения) символов, вводимых в первый стек. В случае совпадения вводимого символа с символом вершины стека (т.е. предыдущим введенным символом) выведите на экран содержимое второго стека и его размер.

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

13. Создайте стек для целых чисел. Создайте функции push и pop для ввода и вывода элементов стека. Вводите символы с клавиатуры. При этом в стек должны заноситься ASCI-коды (числовые значения) введенных символов. После ввода эталонного символа (например #) выведите на экран содержимое стека и его размер.

14. Создайте два стека для символов. Вводите символы с клавиатуры. При этом латинские буквы должны попадать в первый стек, цифры – во второй, любые другие символы пропускаются. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое обоих стеков.

15. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. Вводите символы с клавиатуры. При этом в очередь должны попадать только символы, представляющие собой прописные латинские буквы. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое очереди и ее длину.

16. Создайте три очереди для символов. Заполните данными каждую из очередей. Выведите на экран содержимое самой длинной очереди и ее размер.

17. Создайте две очереди для символов. Заполните данными сначала первую, затем вторую очередь (до ввода с клавиатуры эталонного символа). Проверьте, является ли вторая очередь частью первой очереди, и выведите на экран соответствующее сообщение. Выведите также содержимое каждой из очередей.

18. Создайте три очереди для символов. Введите в первую, вторую и третью очередь соответственно фамилию, имя и отчество человека. Добавьте в первую очередь (через пробел) данные из второй очереди, затем из третьей. Выведите на экран содержимое первой очереди.

19. Создайте два стека для символов. Вводите символы с клавиатуры в первый стек. В случае совпадения вводимого символа с символом вершины стека (т.е. с предыдущим введенным символом), введите этот символ и во второй стек. После ввода эталонного символа (например #) выведите на экран содержимое обоих стеков.

20. Создайте стек для символов. Создайте функции push, pop и size для ввода и вывода элементов стека и определения его размера. Вводите символы с клавиатуры в стек. В случае совпадения вводимого символа с символом вершины стека (т.е. с предыдущим введенным символом), прекратите ввод и выведите на экран содержимое стека и его размер.