Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа3_КОС_2ч.doc
Скачиваний:
12
Добавлен:
16.04.2015
Размер:
335.36 Кб
Скачать

4. Оператор goto

goto идентификатор;

идентификатор: оператор

В программировании высокого уровня goto имеет очень мало применений, но он может быть очень полезен, когда C++ программа генерируется программой, а не пишется непосредственно человеком. Например, операторы goto можно использовать в синтаксическом анализаторе, порождаемом генератором синтаксических анализаторов.

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

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

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

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main()

{

float a,b,c;

float d;

float x1,x2;

clrscr();

printf("Vvedi koefficienti uravnenia\n");

printf("a=");scanf("%f",&a);

printf("b=");scanf("%f",&b);

printf("c=");scanf("%f",&c);

printf("Rezultat: \n");

if(a!=0)

{

d=pow(b,2)-4*a*c;

if(d<0)

printf("Korney net");

else

if(d>0)

{

x1=((-b+sqrt(d))/(2*a));

x2=((-b-sqrt(d))/(2*a));

printf("x1=%.2f\n",x1);

printf("x2=%.2f\n",x2);

}

else

{

x1=-b/(2*a);

printf("x=%.2f\n",x1);

}

}

else

printf("Uravnenie ne kvadratnoe");

getch();

}

Пример 6. Выяснить, принадлежит ли точка с координатами (x, y) кругу радиуса r с центром в начале координат.

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main()

{

float x,y;

float r;

float l;

clrscr();

printf("VVedite koordinati tochki:\n");

printf("x=");scanf("%f",&x);

printf("y=");scanf("%f",&y);

printf("Vvedite radius kruga :\n");

printf("r=");scanf("%f",&r);

if(r<=0)

printf("Ne moget bit r< 0");

else

{

l=sqrt(pow(x,2)+pow(y,2));

if(l<=r)

printf("Tochka prinadlegit krugu");

else

printf("Tochka ne prinadlegit krugu");

}

getch();

}

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

Отчет к лабораторной работе оформляется в текстовом редакторе MS Word в формате А4 и должна содержать:

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

2. Задание (2 задачи – на использование операторов if и case).

3. Графические схемы алгоритмов с учетом требований ГОСТ 19.701-90 (в редакторе Visio).

4. Программы на Тuгbо Раscаl и Си/С++.

5. Результаты выполнения работы.

1. варианты заданий для оператора if.

Вычислить и вывести на экран значение заданной функции (варианты заданий взять из таблицы).

№ вар.

Функция

Условие

Исходные данные

1

1 ≤ t ≤ 2

t < 1

t > 2

a = - 0,5

b = 2

2

x < 1.3

x = 1.3

x > 1.3

a = 1.5

3

x < 1.2

x = 1.2

x > 1.2

a = 2.8

b = -0.3

c = 4

4

x < 1.4

x = 1.4

x > 1.4

a = 1.65

5

x < 1

x = 1

1< x< 2

x > 2

a = 2.3

6

x < a

x = a

x > a

a = 2.5

7

bx < 1

bx = 1

bx > 1

b = 1.5

8

x > 3.5

x ≤ 3.5

__

9

x > 1

x ≤ 1

a = 20.3

10

x < 0.5

x = 0.5

x > 0.5

t = 2.2

11

x < 2.8

2.8 ≤x< 6

x ≥ 6

a = 2.6

b = -0.39

12

x > 1

x ≤ 1

a = 0.9

13

i < 4

4 ≤i≤ 6

i > 6

a = 2.1

b = 1.8

c = -20.5

14

≥0

≤0

a = 0.3

n = 10

15

x ≤ 2

2 <x< 5

x ≥ 5

__

16

x > 0

x < 0

x = 0

__

17

y ≠ 0

y = 0

x = 0.5

18

x < -1

-1 ≤x≤ 1

x > 1

__

19

t < 0.1

t = 0.1

t > 0.1

a = 2.5

b = 0.4

20

>0

<0

c = 0.5

n = 10

21

x<4

x=4

x>4

__

22

x<0

x0

b=0.25

23

x<0

x0

c=0.3

24

x<2

x=2

x>2

__

25

x<1

x=1

x>1

__

26

x0

0<x1

x>1

__

27

x<3

x3

__

28

x0

0<x1

x>1

b = 2

29

x  -

x > -

__

30

x-1

-1<x1

x>1

__

2. варианты заданий для оператора case

  1. В зависимости от того введена ли открытая скобка или закрытая, напечатать "открытая круглая скобка" или "закрытая фигурная скобка". (Учитывать круглые, квадратные, фигурные скобки).

  2. В зависимости от введённого символа L, S, V программа должна вычислять длину окружности; площадь круга; объём цилиндра.

  3. Определить, является ли введенная буква русского алфавита гласной.

  4. Напишите программу, которая по введенному числу из промежутка 0..24, определяет время суток.

  5. Пусть имеются данные об автомобилях четырех моделей. Как входное данное ввести номер модели и получить характеристики: год выпуска и цену.

  6. Ввести первую букву названия страны. Вывести название ее столицы.

  7. Ввести телефонный код города. Вывести название города.

  8. Дано целое число в диапазоне 1–7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.).

  9. Вычислить значение функции по одной из формул (x  0):

  1. Ввести число от 0 до 5. Вывести его название на английском (или другом) языке.

  2. Пусть время суток обозначено номерами: 1 – утро, 2 – день, 3 – вечер. Билет в кино на утренний сеанс стоит 50 р., на дневной сеанс – 70 р., а на вечерний – 100 р. Какова выручка кинотеатра в одно из время суток, если в кино пришло n посетителей.

  3. Ввести номер телефона одного из четырех друзей. Вывести его имя.

  4. Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D = 2·R, 3 — длина L = 2··R, 4 — площадь круга S = ·R2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности.

  5. Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1–5, то вывести строку «ошибка».

  6. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).

  7. Пусть время суток обозначено номерами: 1 – утро, 2 – день, 3 – вечер. Билет в кино на утренний сеанс стоит (детский – 25 р., взрослый – 70 р.), на дневной сеанс (детский – 50 р., взрослый – 100 р.), а на вечерний (детский – 70 р., взрослый – 100 р.). Какова выручка кинотеатра в одно из время суток, если в кино пришло n детей и m взрослых.

  8. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ C — исходное направление робота и целое число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.

  9. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года.

  10. Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат.

  11. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет a, 2 — гипотенуза c = a·(2)1/2, 3 — высота h, опущенная на гипотенузу (h = c/2), 4 — площадь S = c·h/2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника.

  12. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.

  13. Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона a, 2 — радиус R1 вписанной окружности (R1 = a·(3)1/2/6), 3 — радиус R2 описанной окружности (R2 = 2·R1), 4 — площадь S = a2·(3)1/2/4. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника.

  14. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

  15. Пусть населенные пункты обозначены номерами от 1 до 8. стоимость одного билета к пункту k определяется так:

Сколько стоит m билетов к населенному пункту, номер которого пользователь должен ввести с клавиатуры?

  1. Вводится целое положительное число. Определить четное оно или нет.

  2. Для целого числа N от 20 до 30 напечатать фразу "Мне N лет", учитывая при этом, что при некоторых значениях N слово "лет" надо заменить на слово "год" или "года".

  3. Напечатать слово СТУДЕНТ в заданном падеже (И - именительный, Р - родительный, Д - дательный, В - винительный, Т - твори­тельный, П - предложный) единственного числа.

  4. Для целого числа N от 1 до 8 напечатать фразу "Мы нашли N грибов", согласовав окончание слова "гриб".

  5. Вычислить значение функции по одной из формул (x  0):

  1. Мастям игральных карт присвоены порядковые номера: 1 — пики, 2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки, присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз. Даны два целых числа: N — достоинство (6  N  14) и M — масть карты (1  M  4). Вывести название соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п.