Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №1

.doc
Скачиваний:
12
Добавлен:
01.05.2014
Размер:
281.09 Кб
Скачать

Министерство образования РФ

Санкт-Петербургский государственный электротехнический университет

“ЛЭТИ”

Кафедра Вычислительной Техники

Лабораторная работа №1

По дисциплине «Программирование»

«Изучение условных операторов и циклов в языке Си»

Выполнил: Власюк А. В.

Преподаватель:

Сискович Т. И.

Факультет: КТИ

Группа: 3371

Санкт-Петербург

2003

Цель работы:

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

Задание на лабораторную работу:

Написать программу, которая многократно по желанию пользователя выполняет следующие действия:

  1. Ввод координат точки.

  2. Ввод координат заданной области (рис. 1).

  3. Проверку на попадание точки в заданную область.

Y

y=x

a

a

X

рис.1

Контрольный пример:

x

y

a

Результат

1

1

1

2

на границе

2

3

2

3

в области

3

-2

2

3

в области

4

4

6

5

вне области

5

-5

5

5

на границе

6

6

3

9

вне области

7

-3

-6

7

вне области

8

5

-4

3

вне области

9

5

5

7

на границе

10

-3

2

3

на границе

Описание данных:

Переменная

тип

Описание

x

float

Абсцисса точки

y

float

Ордината точки

a

float

Величина,задающая размер области(квадрата) во втором квадранте

s

char

Символ управления циклом

Текст программы:

#include<conio.h>

#include<stdio.h>

void main (void)

{

clrscr();

float x,y,a;

char s;

printf(" ________________________________________________ \n ");

printf(" | Вас приветствует программа, |\n ");

printf(" | предназначенная |\n ");

printf(" |для определения принадлежности к области точки |\n ");

printf(" |________________________________________________|\n ");

getch();

clrscr();

do

{

do

{

printf("\nВведите значение A (A>0):\n ");

printf("A= ");

scanf("%f",&a);

if(a<=0)

{printf("\n ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,");

printf("\n | Внимание! Ошибка! |");

printf("\n | (Нажмите любую клавишу для продолжения) |");

printf("\n ''''''''''''''''''''''''''''''''''''''''''''''''''''''");

printf("\07");

getch();

clrscr();

}

}

while(a<=0);

do

{

printf("\nВведите координаты точки:\n");

printf(" X=");

scanf("%f",&x);

printf(" Y=");

scanf("%f",&y);

if (((x==-a||x==0)&&y<=a&&y>=0)||((y==0||y==a)&&x<=0&&x>=-a)||(x>=0&&x>=y&&y>=0&&(x==y||y==0)))

printf("Точка лежит на границе области.\n");

else

if ((x>-a&&y<a&&x<0&&y>0)||(x>y&&y>0))

printf("Точка принадлежит данной области.\n");

else

printf("Точка не принадлежит данной области.\n");

printf("\n ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ");

printf("\n | Изменить значения координаты точки? (y/n)| ");

printf("\n '''''''''''''''''''''''''''''''''''''''''''' ");

s=getche();

clrscr();

}

while(s=='y'||s=='Y');

printf("\n \n\n\n\n\n\n");

printf("\n ,,,,,,,,,,,,,,,,,,,,,,,,,,");

printf("\n |Продолжить работу?(y/n) |");

printf("\n ''''''''''''''''''''''''''");

s=getche();

printf("\n \n");

clrscr();

}

while(s=='y'||s=='Y');

printf("\n \n\n\n\n\n");

printf("\n ___________ ");

printf("\n | Спасибо! |");

printf("\n |___________|");

printf("\n \n\n\n\n\n\n\n\n\n\n\n");

printf(" Sasha company 2003 год.");

getch();

}

Результаты решения задачи:

Все полученные ответы совпадают с контрольными примерами.

Выводы:

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

нет

Пояснения:

Сообщение *: Внимание!Ошибка!(Нажмите любую клавишу для продолжения)

Условие 1:((x==-a||x==0)&&y<=a&&y>=0)||((y==0||y==a)&&x<=0&&x>=

=-a)||(x>=0&&x>=y&&y>=0&&(x==y||y==0))

Условие 2:(x>-a&&y<a&&x<0&&y>0)||(x>y&&y>0)

Условие 3: Изменить значения координаты точки? (y/n)

Условие 4: Продолжить работу?(y/n)

нет

нет

да

нет

да

нет

да

да

да

нет

да

Вас приветствует программа , предназначенная для определения

принадлежности точки к области

Блок-схема: