Добавил:
ФКН Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Семестр 1 / Алгоритмизация Лаба 2 язык С

.pdf
Скачиваний:
141
Добавлен:
05.12.2019
Размер:
542.57 Кб
Скачать

Алгоритмизация и программирование Си

Лабораторнаяработа№2.

Программирование ветвлений

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

Оформить отчет о выполнении и результатах работы.

Задания (оценивание):

1.Задача по теме «Условный оператор» (Приложение 1) - 1 балл.

2.Проверить, попадает ли точка M(x, y) в заданную область (Приложение 2) - 1 балл.

3.Задача по теме «Оператор выбора» (Приложение 3) - 2 балла.

Общие требования к работе:

a.соблюдение «хорошего стиля программирования» (Приложение 4);

b.понятный для пользователя интерфейс;

c.должны быть учтены все возможные значения входных данных;

d.циклы и массивы не использовать!

Варианты к заданию 1.

Приложение 1.

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

1

числом.

2 Дано целое четырехзначное число. Верно ли, что сумма его цифр больше заданного числа А?

Дано целое четырехзначное число. Определить, является ли произведение его цифр

3

трехзначным числом.

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

4

третья.

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

5

суммы первой и последней цифр.

6Дано целое четырехзначное число. Верно ли, что его цифры упорядочены по возрастанию?

7Дано целое четырехзначное число. Определить, одинаковы ли его цифры.

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

8

второго.

Лабораторная работа№2

Страница1

Алгоритмизация и программирование Си

9 Дано целое четырехзначное число. Определить, имеется ли среди цифр числа хотябы один 0.

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

10

цифр двузначным числом.

11 Дано целое четырехзначное число. Верно ли, что первая цифра числа больше третьей цифры?

Дано два целых двузначных числа. Верно ли, что цифры в первом числе упорядочены по

12

возрастанию, а во втором - по убыванию?

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

13

числом.

Дано два целых двузначных числа. Верно ли, что все цифры первого числа больше

14

соответствующих цифр второго числа?

Дано целое четырехзначное число. Верно ли, что произведение его цифр больше заданного

15

числа А?

Дано целое четырехзначное число. Проверить, является ли первая пара его цифр зеркальным

16

отражением второй пары.

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

17

двузначным числом.

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

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

19

нечетная.

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

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

21

или второй пары.

22 Дано целое четырехзначное число. Верно ли, что его цифры упорядочены по убыванию?

Дано целое четырехзначное число. Определить, является ли произведение его первой и

23

последней цифр двузначным числом.

24Дано целое четырехзначное число. Определить, имеются ли среди его цифр одинаковые.

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

Дано целое четырехзначное число. Верно ли что первая цифра числа больше суммы остальных

26

трех цифр?

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

27

числа А - первой или второй.

28 Дано целое четырехзначное число. Верно ли, что все цифры числа четные?

Лабораторная работа№2

Страница2

Алгоритмизация и программирование Си

Пример выполнения задания 2.

Условие:

Проверить попадает ли точка M(x, y) в заданную область (область задана бирюзовым цветом). Переменные х и у - вещественные.

Решение:

Во-первых, выделим отдельные части нашей области (1, 2, 3).

Далее рассмотрим каждую область отдельно и найдем условия, по которым точка M(x, y) может в нее попасть.

Область «1»:

ограничена внутренней частью окружности радиуса 1 с центром в точке (-1,0) и прямыми х = -2 и у = 0.

В общем случае окружность задается уравнением: (x-х0)2+(y-у0)2 = r2,

где (х0, у0) – координаты центра окружности, r – радиус. Т.е.

окружность с центром в начале координат выглядит так: x2+y2 = r2.

Для задания области «1» достаточно написать условие:

(х<=-2) and (y>=0) and ((x+2)2+y2<=12).

Область «2»:

ограничена снизу осью Ох, т.е. прямой у = 0, а сверху – прямой y = kx+b, где k – это тангенс угла между осью Ох и искомой прямой, b

– значение, в котором прямая пересекает Оу.

Выберем две произвольные точки на прямой А(х1, у1) и В(х2, у2).

Тогда k = (у2-у1)/(х2-х1). b в данном случае равно 0.

Следовательно, прямая имеет вид у = 0.5х.

Для проверки области «2» достаточно условие:

((x>=0) and (y>=0) and (y<=0.5x)).

Лабораторная работа№2

Страница3

Алгоритмизация и программирование Си

Область «3»:

ограничена прямыми х = -2, х = 0, у = 0

ивнешней частью окружности радиуса 0.5

сцентром в точке (-0.5; -1.5).

Для проверки области «3» достаточно условие:

((x>=-2) and (x<=0) and (y<=0) and ((x+0.5)2+(y+1.5)2>=0.52).

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

Приложение 2.

Варианты к заданию 2.

( клетки с шагом = 1)

Лабораторная работа№2

Страница4

Алгоритмизация и программирование Си

Лабораторная работа№2

Страница5

Алгоритмизация и программирование Си

Лабораторная работа№2

Страница6

Алгоритмизация и программирование Си

Приложение 3.

Варианты к заданию 3.

1.Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата количество лекций и практических занятий в вашей группе в этот день.

2.Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.

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

4.Для каждой введенной цифры (0 — 9) вывести соответствующее ей название на английском языке (0 — zero, 1 — one, 2 — two,... ).

5.Составить программу, которая по данному числу (1—12) выводит название соответствующего ему месяца.

6.Составить программу, позволяющую получить словесное описание отметок (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»).

7.Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и

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

8.Пусть элементами прямоугольного равнобедренного треугольника

являются:

Лабораторная работа№2

Страница7

Алгоритмизация и программирование Си

1)катет а;

2)гипотенуза b;

3)высота h, опущенная из вершины прямого угла на гипотенузу;

4)площадь S.

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

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

10.Написать программу, которая бы по введенному номеру времени года (1 — зима, 2 —

весна, 3 — лето, 4 — осень) выдавала соответствующие этому времени года месяцы, количество дней в каждом из месяцев.

11. В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы,

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

(Справка: 1996 г. — год Крысы — начало очередного цикла.)

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

года, 51 год.

13. Написать программу, которая бы по введенному номеру единицы измерения (1 —

дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр) и длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.

14. Написать программу, которая по вводимому числу от 1 до 6 (номеру курса) выдает соответствующее сообщение «Привет, к-курсник». Например, если к= 1, «Привет, первокурсник»;

если к = 4, «Привет, четвертокурсник».

15.Написать программу, которая по введенному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздничные Дни. Например, если введено число 1, то должно получиться 1 января — Новый год, 7 января — Рождество.

16.Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N = 4k (где к —

соответствующее частное); если остаток от деления на 4 равен 1 — N= 4к + 1; если остаток от деления на 4 равен 2 — N= 4к + 2; если остаток от деления на 4 равен 3-N=4k+3. Например, 12 = 4- 3, 22 = 4-5 + 2.

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

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

Лабораторная работа№2

Страница8

Алгоритмизация и программирование Си

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

19.Составить программу, которая для любого натурального числа печатает количество цифр

взаписи этого числа.

20.Даны два действительных положительных числа х и у. Арифметические действия над числами пронумерованы (1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление). Составить

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

21.Написать программу, которая бы по введенному номеру единицы измерения (1 —

килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер) и массе М выдавала бы соответствующее значение массы в килограммах.

22. Пусть элементами равностороннего треугольника являются:

1)сторона а;

2)площадь S;

3)высота h;

4)радиус вписанной окружности r;

5)радиус описанной окружности R.

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

23.Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14.

24.Найти произведение цифр заданного к-значного числа.

25.Напишите программу, которая читает натуральное число в десятичном представлении, а

на выходе выводит это же число в десятичном представлении и на естественном языке.

Например,

7 семь

204 двести четыре

52 пятьдесят два

26. Вычислить номер дня в невисокосном году по заданным числу и месяцу.

Лабораторная работа№2

Страница9

Алгоритмизация и программирование Си

Приложение 4.

Критерии оценивания исходных кодов программ

Критерий

Вес

 

 

Программа работает и делает то, что от нее требовалось (обязательное требование)

30%

 

 

При больших размерностях (объемах) входных данных программа работает разумное

20%

время и не имеет явных проблем с оптимальностью алгоритма (актуально для сложных

 

алгоритмов).

 

 

 

Программа делает то, что от нее требовалось, корректно и для любых (корректных)

10%

входных данных.

 

 

 

Повторяющиеся фрагменты кода выделены в функции, которые имеют осмысленные

10%

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

 

 

 

В программе не используется оператор goto без особой на то необходимости.

10%

 

 

Текст красиво (с отступами) отформатирован, отсутствуют неиспользуемые фрагменты

10%

кода, переменные, директивы #include.

 

 

 

Переменные имеют осмысленные названия, не совсем очевидные фрагменты кода

10%

снабжены поясняющими комментариями.

 

 

 

Всего

100%

 

 

Лабораторная работа№2

Страница10