Оператор переключатель switch
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Оператор предназначен для организации выбора одного из нескольких вариантов. Общий вид оператора переключателя:

switch(выражение)

{

case метка1:операторы1;

case метка2:операторы2;

. . .

case меткаN:операторыN;

default:операторы;

}

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

Желательно в конце группы операторов, соответствующих каждой метке, использовать оператор break для завершения выполнения оператора переключателя (см. рис. 6).

Рис. 6 Алгоритм выполнения оператора switch c оператором break

В случае отсутствия оператора break выполнение операторов, следующих за выбранным по переключателю, будет продолжено. (см. рис. 7).

Рис. 7 Алгоритм выполнения оператора switch без оператора break

Оператор switch может быть вложен один в другой, при этом их метки могут совпадать.

Оператор перехода goto

Оператор перехода имеет следующий вид:

goto метка;

Рекомендации по выполнению лабораторной работы

Определение цифр числа

Любое целое число D, записанное в позиционной системе счисления, выглядит в виде совокупности цифр di (i=0…n-1), причем каждая цифра может иметь значение от 0 до p-1, где p – основание системы счисления: D = dn-1dn-2dn-3…d2d1d0, (1)

при этом величина W числа D вычисляется следующим образом:

W = (((0*p+ dn-1)*p+ dn-2)*p+ dn-3)*p+….+d2)*p+d1)*p+d0 (2)

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

1. Число D делится на основание системы счисления p.

2. Целая часть от деления принимается за новое значение числа D, а полученный остаток считается очередной цифрой числа D, начиная с младшей.

  1. Пункты 1-2 повторяются до тех пор, пока частное от деления не станет равным нулю.

Если известны все цифры числа di, то величина W числа D определяется на основании формулы (2). Фрагмент программы для определения величины числа в десятичной системе счисления приведен ниже.

int digits[32]; /* массив для хранения цифр числа, начиная с младшей */

int i,n; /* n - переменная для хранения количества цифр числа */

long s=0; /* переменная для хранения величины числа */

for(i=n-1;i>=0;i++)

s = s*10+digits[i];

Поиск простых чисел

Простое число – это число, которое делится только на 1 и на само себя. Для поиска простых чисел можно использовать алгоритм, называемый "решетом Эратосфена":

1. Пусть задано N последовательных натуральных чисел, начиная с 2.

2. Берем первое непомеченное натуральное число

3. Помечаем все числа, кратные выбранному.

  1. Переходим к следующему непомеченному числу и повторяем пункт 3 до тех пор, пока не останется непомеченных чисел.

Фрагмент программы, реализующий этот алгоритм, приведен ниже.

int data[99]; /* массив для хранения натуральных чисел от 2 до 100 */

int i,j,n;

for(i=0;i<99;i++) /* заполним массив цифрами от 2 до 100 */

data[i] = i+2;

for(i=0;i<50;i++) /* будем перебирать числа до 50 включительно */

{

if(data[i] != -1) /* если число не помечено */

{

n = data[i]; /* запомним шаг */

for(j=i+n;j<99;j=j+n)

data[j] = -1; /* пометим все числа, кратные data[i] */

}

}

Треугольник Паскаля

Треугольник Паскаля имеет для 8 строк следующий вид:

             
           
         
       
     
   
 

Рис. 8. Пример треугольника Паскаля

Как видно из приведенного рисунка, количество элементов в i-ой строке треугольника Паскаля равно i, причем первый и последний элементы равны 1. Все остальные элементы i-ой строки треугольника Паскаля вычисляются по правилу a[i][j]=а[i-1][j-1]+a[i-1]a[j]. Таким образом, j-й элемент i-ой строки равен сумме элементов предыдущей строки, стоящих над j-м элементом и слева от него.

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

Отчет по лабораторной работе должен содержать:

- задание лабораторной работы, соответствующее варианту

- текст программы

- результаты работы программы

Лабораторная работа 6

Цель работы

Изучение принципов составления подпрограмм и работы с ними.

Задание

Разработать программу и подпрограмму (подпрограммы), выполняющие действия согласно варианту задания

Задание
Определение количества дней между двумя датами, заданными тройками чисел (день, месяц, год).
Перевод десятичного числа формата float в систему счисления с основанием Q (Q=2..9) и заданным количеством цифр N после запятой.
Определение количества "черных" пятниц в XXI веке.
Нахождение натурального числа из N заданных, имеющего максимальную сумму делителей.
Нахождение всех четырехзначных натуральных чисел, в записи которых нет одинаковых цифр.
Нахождение всех совершенных чисел из заданных N натуральных (совершенным называется число равное сумме своих делителей, кроме себя самого 6=1+2+3).

Теоретическая часть

Функции в языке Си

С увеличением объема программы становится невозможно удерживать в памяти все её детали. Чтобы уменьшить сложность программы, ее разбивают на части. В Си задача может быть разделена на более простые подзадачи с помощью функций. Разделение задачи на функции(подпрограммы) также позволяет избежать избыточности кода, т. к. функцию записывают один раз, а вызывают многократно. Программу, которая содержит функции, легче отлаживать.

Часто используемые функции можно помещать в библиотеки. Таким образом, создаются более простые в отладке и сопровождении программы.

Дата: 2016-10-02, просмотров: 247.