Принятие решений: операции равенства и отношения — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

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

Принятие решений: операции равенства и отношения

2020-05-08 348
Принятие решений: операции равенства и отношения 0.00 из 5.00 0 оценок
Заказать работу

Условия в операторе if задаются с использованием операций равенства и отношения, сводная таблица которых представлена на рис. 8. Операции отношения имеют одинаковый приоритет и ассоциативны слева направо. Операции равенства имеют более низкий приоритет и также ассоциативны слева направо. (Замечание: в С условием может какое-либо выражение, значение которого либо равно нулю (false), либо нет (true)).

 

Стандартная алгебраическая операция равенства или отношения Операция равенства или отношения в С Пример условия в С Смысл условия в С
Операции равенства      
= = = х = = у х равен у
! = х!= у х не равен у
Операции отношения      
> > х > у х больше у
< < х < у х меньше у
> > = х >= у х больше или равен у
< <= х <= у х меньше или равен у

Рис. 8 Операции равенства и отношения

 

Пример на рис. 9 использует шесть операторов if, чтобы сравнить два введенных пользователем числа. Если условие в любом из операторов if истинно, то выполняется оператор printf, связанный с данным if. Программа и три варианта вывода в результате ее выполнения показаны на рисунке.

/* Применение операторов if,

операций отношения и операций равенства */

#include <stdio.h>

main () {

int num1, num2;

printf ("Введите два целых числа, чтобы \ n ");

printf ("определить отношения между ними: ");

scanf ("% d % d ", & numl, & num 2); /* прочитать два целых */

if (num1 == num2)

printf("%d равно %d\n", numl, num2);

if (numl!= num2)

printf("%d не равно to %d\n", num1, num2);

if (numl < num2)

printf("%d меньше чем %d\n", numl, num2);

if (numl > num2)

printf("%d больше чем %d\n", numl, num2);

if (numl <= num2)

printf("%d меньше равно %d\n", numl, num2);

if (numl >= num2)

printf("%d больше равно %d\n", numl, num2);

return 0; /* показывает успешное завершение программы */

}

 

Вывод на экран

Введите два целых числа, чтобы

определить отношения между ними: 3 7

3 не равно 7

3 меньше 7

3 меньше равно 7

Введите два целых числа, чтобы

определить отношения между ними: 22 12

22 не равно 12

22 меньше 12

22 меньше равно 12

Введите два целых числа, чтобы

определить отношения между ними: 7 7

7 равно 7

7 меньше равно 7

7 больше равно 7

Рис. 9. Использование операций равенства и отношения

Некоторые из слов, которые используются при написании программ на С— в частности int, return и if — являются ключевыми или зарезервированными словами языка. Полный набор ключевых слов языка С приведен на рис. 10. Эти слова имеют специальное значение для компилятора С, их нельзя применять эти слова как идентификаторы имен переменных.

Ключевые слова С

auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

Рис. 10. Зарезервированные слова

 

 

 

Порядок выполнения работы

1. Изучите теоретический материал.

2. Напишите и отладьте программу.

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

Вариант 1.

Напишите программу на С, которая использует оператор умножения для расчета значения х в степени у. Программа должна включать управляющую структуру повторения while.

Вариант 2.

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

Вариант 3.

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

· Применив один оператор printf без спецификаций преобразования.

· Применив один оператор printf с четырьмя спецификациями преобразования.

· Применив четыре оператора printf.

Вариант 4.

Напишите программу, которая предлагает пользователю ввести два целых числа, получает эти числа и после этого выводит на печать большее из чисел со словами «is larger». Если же числа равны, должно печататься сообщение «These numbers are equal». Используйте оператор if.

Вариант 5.

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

Input three different integers: 13 27 34

Sum is 54

Average is 18

Product is 4914

Smallest is 13

Largest is 27

Вариант 6.

Напишите программу, считывающую радиус и выводящую на печать диаметр окружности, ее периметр и площадь. Используйте для этого величину 3.14159. Выполните каждое из этих вычислений внутри оператора printf и используйте спецификацию преобразования %f.

Вариант 7.

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

Вариант 8.

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

Вариант 9.

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

Вариант 10.

Напечатайте свои инициалы прописными буквами. Составьте каждую прописную букву из соответствующих ей символов, как показано на рисунке:

Вариант 11.

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

Вариант 12.

Изобразите модель шахматной доски, используя восемь операторов printf, а затем нарисуйте ту же самую картинку, используя минимально возможное количество операторов printf.

Вариант 13.

Напишите программу, которая считывает число из пяти цифр, разделяет это число на отдельные цифры и выводит эти цифры на печать, отделяя одну от другой тремя пробелами. Например, если пользователь ввел число 42339, программа должна напечатать.

4 2 3 3 9

Вариант 14.

Используя только материал, изложенный в лекции, напишите программу, которая вычисляет квадраты и кубы чисел от 0 до 10 и, используя табуляцию, выведите на печать следующую таблицу значений:

Number      square    cube

0                  0         0

1                        1             1

2       4         8

3       9         27

4       16         64

5       25         125

6       36         216

7       49         343

8       64         512

9       81         729

 

Форма отчёта: отчет выполняется в текстовом редакторе в электронном виде.

Содержание отчета:

1. Тема работы

2. Цель работы

3. Текст отлаженной программы с комментариями

4. Результаты работы программы

5. Ответы на контрольные вопросы

 

Система оценки: пятибальная.

 

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

1. Установите, являются ли следующие утверждения верными или неверными; если утверждение неверно, объясните, почему.

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

· Комментарии заставляют компьютер при выполнении программы выводить на экран текст, заключенный между /* и */.

· Esc-код \n при использовании в управляющей строке формата функции printf перемещает курсор в начальную позицию следующей строки экрана.

· Все переменные должны быть объявлены, прежде чем будут использоваться.

· При объявлении переменной необходимо указать ее тип.

· Язык С рассматривает переменные number и NuMbEr как тождественные.

· Объявление можно поместить в любом месте тела функции.

· Все аргументы функции printf, следующие за управляющей строкой формата, должны предваряться амперсандом (&). i) Операция взятия по модулю (%) может использоваться только с целыми операндами.

· Арифметические операции *, /,%,+, и - имеют одинаковый приоритет.

· Верно ли следующее утверждение: следующие имена переменных идентичны для всех систем С, удовлетворяющих стандарту ANSI: thisisasuperduperlongnamel234567, thisisasuperduperlongnamel2 34 5 68

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

3. Как с помощью одного оператора С выполнить каждое из следующих действий:

· Объявить переменные типа int: с, thisVariable, q766354 и number.

· Предложить пользователю ввести целое число. Закончите ваше приглашающее сообщение двоеточием (:), за которым должен следовать пробел, и оставьте курсор в позиции непосредственно за пробелом.

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

· Если переменная number не равна 7, выдать сообщение «The variable number is not equal to 7.».

· Напечатать сообщение «This is а С program.» в одну строку.

· Напечатать сообщение «This is а С program.» в две строки так, чтобы первая строка заканчивалась на С.

· Напечатать сообщение «This is а С program.» так, чтобы каждое слово располагалось на отдельной строке.

· Напечатать сообщение «This is а С program.» так, чтобы каждое слово располагалось в новой позиции табуляции.

4. Напишите оператор (или комментарий), содержащий:

· Утверждение, что программа будет вычислять произведение трех целых чисел.

· Объявление, что переменные х, у, z и result должны принадлежать к типу int.

· Приглашение пользователю ввести три целых числа.

· Считать три целых числа с клавиатуры и сохранить их в переменных х, у и z.

5. Вычислить произведение трех целых чисел, значения которых содержаться в переменных х, у, z и присвоить результирующее значение переменной result.

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

· printf("The value is %d\n", snumber);

· scanf("%d%d",&number1,number2);

· if (c < 7);

· printf ("C is less than 7\n";

· if (c => 7)

· printf("C is equal to or less than 7\n");

7. Ответьте на каждый из следующих вопросов.

· Процедура решения задачи в виде действий, которые надлежит выполнить, и порядка, в котором эти действия должны быть выполнены, называется.

· Задание порядка, в котором компьютер выполняет операторы, называется.

· Все программы могут быть написаны с использованием трех управляющих структур:,    и.

· Структура выбора    используется для выполнения некоторого действия в случае истинности условия и для выполнения другого действия в случае его ложности.

· Несколько операторов, сгруппированных вместе в фигурных скобках ({ и }), называются.

· Структура повторения специфицирует многократное выполнение оператора или группы операторов, пока некоторое условие остается истинным.

· Повторение набора команд определенное число раз называется по- вторением,  .

· Если заранее неизвестно, сколько раз будет повторено некоторый набор операторов, то для завершения повторения может быть использовано значение.

8. Напишите четыре различных оператора С, каждый из которых прибавляет 1 к целочисленной переменной х.

9. Напишите одиночный оператор С для выполнения каждой из следующих задач:

· Присвойте сумму х и у переменной z и увеличьте значение переменной х на 1 после проведения вычисления.

· Умножьте значение переменной product на 2, используя операцию *=.

· Умножьте значение переменной product на 2, используя операции = и *.

· Проверьте, является ли значение переменной count больше 10. Если является, выведите на экран «Значение переменной count больше 10».

· Уменьшите значение переменной х на 1, затем вычтите его из переменной total.

· Прибавьте значение переменной х к переменной total, затем уменьшите х на 1.

· Вычислите остаток от деления переменной q на значение переменной divisor и присвойте результат переменной q. Напишите этот оператор двумя различными способами.

· Выведите значение 123.4567 с точностью до 2 знаков. Какое значение будет выведено?

· Выведите значение с плавающей точкой, равное 3.14159, с тремя знаками после десятичной точки. Какое значение будет выведено?

· Напишите оператор С для выполнения каждой из следующих задач.

· Объявите переменные sum и х с типом int.

· Инициализируйте переменную х единицей.

· Инициализируйте переменную sum нулем.

· Прибавьте переменную х к переменной sum и присвойте результат переменной sum.

· Выведите на экран строку «Сумма равна:», за которой следует значением переменной sum.

10. Определите значение каждой из переменных после выполнения вычисления. Предположите, что перед началом выполнения каждого оператора все переменные равны 5.

· product *= х++;

· result = ++х + х;

 

Список использованной литературы

1. Х.Дейтел Как программировать на C; Пер. с англ. под ред. В. Тимофеева. - М.: БИНОМ, 2000. - 1005 с.: ил.; 24

2. Язык программирования С / Брайан Керниган, Деннис Ритчи; [пер. с англ. и ред. В. Л. Бродового]. - 2-е изд., перераб. и доп. - Москва [и др.]: Вильямс, 2007. - 289 с.; 23 см.

3. Бьерн Страуструп Язык программирования C++; Пер. с англ. С. Анисимова и М. Кононова под ред. Ф. Андреева, А. Ушакова. - 3. изд. - М.: Binom Pablishers; СПб.: Нев. диалект, 2004. - 990 с.: ил.; 24 см.

 

Практическое занятие 2


Поделиться с друзьями:

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.078 с.