Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2210.doc
Скачиваний:
9
Добавлен:
13.08.2019
Размер:
973.82 Кб
Скачать

Выполнение лабораторной работы

Для выполнения работы необходимо:

  • формализовать задачу;

  • разработать алгоритм решения задачи;

  • составить блок-схему алгоритма;

  • выбрать и обосновать представление входных, промежуточных и выходных данных;

  • произвести кодирование;

  • разработать набор тестов, на которых будет проверяться программа;

  • продемонстрировать работу программы на наборе тестов;

  • оформить работу и отчитаться по ней.

Методические указания к выполнению лабораторной работы

Задание

Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате: «Водолей» (20.1-18.2), «Рыбы» (19.2-20.3), «Овен» (21.3-19.4), «Телец» (20.4-20.5), «Близнецы» (21.5-21.6), «Рак» (22.6-22.7), «Лев» (23.7-22.8), «Дева» (23.8-22.9), «Весы» (23.9-22.10), «Скорпион» (23.10-22.11), «Стрелец» (23.11-21.12), «Козерог» (22.12-19.1).

Выполнение

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

Этап 1. Формализация. В задании даны две анализируемые переменные. В одном операторе выбора можно использовать только одну анализируемую переменную. Следовательно, анализируем сначала одну переменную, а затем в выполняемой группе операторов проанализируем другую. Для данного задания в качестве первой анализируемой переменной логично взять переменную M. Тогда решение задачи можно записать в следующем виде:

Для точного вывода необходимо проанализировать вторую переменную. В каждом случае выбор делается между двумя вариантами, поэтому для анализа можно использовать условный оператор:

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

1. Ввести переменную M.

2. Ввести переменную D.

3. Проанализировать переменную M.

4. Проанализировать переменную D.

5. Вывести результат на экран.

Этап 3. Алгоритмизация. Составляем алгоритм решения задачи. Используем для записи алгоритма форму блок-схемы.

Оператору выбора соответствует следующая последовательность значков (рис.6):

Рис.6

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

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

Рис.7

Этап 4. Кодирование. Переводим разработанный алгоритм на язык программирования — составляем программу. Новым в задании является оператор выбора. Для него в языках программирования предусмотрены специальные ключевые слова и задается специальная последовательность операторов.

Язык программирования Pascal

Оператору выбора в языке Pascal соответствует последовательность:

case анализируемая переменная of

1-е значение : 1-я группа операторов;

2-е значение : 2-я группа операторов;

n-е значение : n-я группа операторов;

else обработка ошибки ;

end;.

Руководствуясь блок-схемой, записываем алгоритм на языке Pascal:

begin // начало программы

readln(M); // ввод переменной

readln(D); // ввод переменной

case M of // анализ месяца

1: if D<=19 then // анализ дня

begin

writeln('Kozerog'); // первая группа операторов

end

else

begin

writeln('Vodoley'); // вторая группа операторов

end;

2: if D<=18 then // анализ дня

begin

writeln('Vodoley'); // первая группа операторов

end

else

begin

writeln('Ryby'); // вторая группа операторов

end;

3: if D<=20 then // анализ дня

begin

writeln('Ryby'); // первая группа операторов

end

else

begin

writeln('Oven'); // вторая группа операторов

end;

4: if D<=19 then // анализ дня

begin

writeln('Oven'); // первая группа операторов

end

else

begin

writeln('Telec'); // вторая группа операторов

end;

5: if D<=20 then // анализ дня

begin

writeln('Telec'); // первая группа операторов

end

else

begin

writeln('Bliznicy'); // вторая группа операторов

end;

6: if D<=21 then // анализ дня

begin

writeln('Bliznicy'); // первая группа операторов

end

else

begin

writeln('Rak'); // вторая группа операторов

end;

7: if D<=22 then // анализ дня

begin

writeln('Rak'); // первая группа операторов

end

else

begin

writeln('Lev'); // вторая группа операторов

end;

8: if D<=22 then // анализ дня

begin

writeln('Lev'); // первая группа операторов

end

else

begin

writeln('Deva'); // вторая группа операторов

end;

9: if D<=22 then // анализ дня

begin

writeln('Deva'); // первая группа операторов

end

else

begin

writeln('Vesy'); // вторая группа операторов

end;

10: if D<=22 then // анализ дня

begin

writeln('Vesy'); // первая группа операторов

end

else

begin

writeln('Skorpion'); // вторая группа операторов

end;

11: if D<=22 then // анализ дня

begin

writeln('Skorpion'); // первая группа операторов

end

else

begin

writeln('Strelec'); // вторая группа операторов

end;

12: if D<=21 then // анализ дня

begin

writeln('Strelec'); // первая группа операторов

end

else

begin

writeln('Kozerog'); // вторая группа операторов

end;

else writeln('Oshibjchno vveden mesyac.'); // обработка ошибки ввода месяца

end;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]