Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YaP_laby.pdf
Скачиваний:
159
Добавлен:
31.05.2015
Размер:
915.49 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 3 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ

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

Задания

1.Изучить возможности языка программирования для реализации: а)условной и безусловной передачи управления; б)вычислительного процесса разветвляющейся структуры.

2.Разработать алгоритм решения в соответствии с заданием.

3.Составить программу решения задачи.

4.Подготовить тесты (число тестов равно числу ветвей вычислительного процесса).

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

1.Каково назначение инструкции if?

2.Какие операторы отношений реализованы в С++?

3.Какого типа должно быть выражение, управляющее инструкцией

switch?

4.Поясните назначение инструкции break.

5.В чем состоит назначение инструкции С++ безусловного перехода?

6.Укажите и исправьте ошибки в каждом из следующих операторов:

if (k ==7);

cout<<”k равно 7\n”; if (k=>7);

cout<<”k равно или больше 7\n”;

7.В чем отличие символов = и ==?

8.Как записать на языке C, что число находится в допустимых значени-

ях.

9. В чем состоит назначение ключевого слова else.

Условные операторы позволяют выполнить поиск информации с нужными свойствами, то есть идентифицировать из общего объема ту информацию, которая необходима для конкретной задачи. Так как большинство информационных задач связаны с поиском информации с требуемым набором признаков, то становится понятным важность условного оператора для поиска этих признаков.

Языки программирования. Метод. указания по лаб. работам

-16-

ЛАБ. РАБОТА № 3 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ

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

1.Треугольник задан координатами вершин. Определить, принадлежит ли точка M(x,y) треугольнику.

2.Треугольник задан координатами вершин. Найти уравнение одной медианы.

3.Треугольник задан координатами вершин. Найти уравнение одной биссектрисы.

4.Треугольник задан координатами вершин. Найти уравнениеодной высоты.

5.Равнобедренная трапеция задана координатами вершин. Найти точку пересечения боковых сторон.

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

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

7.Составить программу, которая проверяет правильность введенного пароля. Паролем является шестизначное целое число типа long.

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

9.Составить программу, которая определяет местоположения произвольной точки M[x,y] относительно осей координат. Координаты точки вводить с клавиатуры.

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

11.Дано трехзначное целое число. Составить программу, которая определяет, является ли сумма цифр числом меньше 15. Число вводить с клавиатуры.

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

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

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

15.Написать программу, которая проверяет, не приведет ли к переполнению сложение двух целых чисел.

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

17.Дана трапеция координатами вершин. Определить, принадлежит ли точка M(x,y) трапеции.

18.Составить программу решения системы линейных уравнений.

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

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

Языки программирования. Метод. указания по лаб. работам

-17-

ЛАБ. РАБОТА № 3 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ

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

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

22.На плоскости даны две окружности и точка M(x,y). Определить взаимное положение точки относительно этих окружностей.

23.На плоскости два отрезка задаются координатами. Определить, имеют ли эти отрезки общие точки.

24.Дано целое число n < 10000. Определить, делится ли это число на 3.

25.Две точки на плоскости даны координатами. Выдать на экран терминала уравнение прямой линии.

26.Сколько общих точек у прямой у = k · x + b и окружности x2+y2=R2.

27.Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку — словесное описание данного числа вида «отрицательное двузначное число», «нулевое число», «положительное однозначное число» и т. д.

28.Дано целое число, лежащее в диапазоне от 1 до 9999. Вывести строку — словесное описание данного числа вида «четное двузначное число», «нечетное четырехзначное число» и т. д.

29.Дано пятизначное число. Выяснить, является ли оно палиндромом, т. е. таким числом, десятичная запись которого читается одинаково справа налево и слева направо.

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

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

Примеррешениявариантазадания

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

Анализ задачи.

1.Начальные данные:

а) переменная для числа;

б)переменные для промежуточных данных при работе программы. Если нам дано некоторое целое число n, то для проверки является это

число четным или нет, можно использовать код: if (n % 2 == 0)

cout << “Число ” << n << “ – четное \n”; else

cout << “Число ” << n << “ – не четное \n”;

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

Языки программирования. Метод. указания по лаб. работам

-18-

// Запоминаем введенное число.
// Вычисляется остаток от деления n на 10, т. е. // определяется последняя цифра числа n.

ЛАБ. РАБОТА № 3 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ

Пример решения варианта задания

точно подробно рассмотрен в пособии Новиков, Е. А. Программирование. Язык С. Ч. 1 / Е. А. Новиков, Ю. А. Шитов. – Красноярск : ИПК СФУ, 2007.

Анализ задачи позволяет составить программу для сформулированной задачи.

void main()

{

int n, b; int k; clrscr();

cout << “Введи целое четырехзначное число \n”; scanf (“%d”, &n);

b = n;

k = b % 10;

if ( k % 2 == 0)

 

 

cout << “Цифра

<< k << “ числа ” << n

<< “ четная\n”;

 

b = b / 10;

//

Отбрасываем последнюю цифру введенного числа.

k = b % 10;

// Вычисляется остаток от деления b на 10, т. е.

// определяется очередная цифра числа n.

if ( k % 2 == 0)

 

 

cout << “Цифра

<< k << “ числа ” << n

<< “ четная\n”;

 

b = b / 10;

// Отбрасываем последнюю цифру введенного числа.

k = b % 10;

// Вычисляется остаток от деления b на 10, т. е

.// определяется очередная цифра числа n.

if ( k % 2 == 0)

 

 

cout << “Цифра

<< k << “ числа ” << n

<< “ четная\n”;

 

b = b / 10;

//

Отбрасываем последнюю цифру введенного числа.

k = b % 10;

// Вычисляется остаток от деления b на 10, т. е

.// определяется очередная цифра числа n.

if ( k % 2 == 0)

 

 

cout << “Цифра

<< k << “ числа ” << n

<< “ четная\n”; getch(); }

Языки программирования. Метод. указания по лаб. работам

-19-

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