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

новая папка / Лабораторная работа 2 ИТ Вариант №1

.doc
Скачиваний:
27
Добавлен:
06.02.2017
Размер:
186.88 Кб
Скачать

Министерство образования и науки Российской федерации

Федеральное государственное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»

Кафедра промышленной электроники

ЛАБОРАТОРНАЯ РАБОТА №2

Дисциплина: Информационные технологии

На тему: Операторы языка С.

Вариант №7

Выполнил:

студент 1-го курса группы з-66

Савицкий А.Вю

___________________________

Проверил:

старший преподаватель кафедры ПрЭ

Савин Д.А.

___________________________

Томск 2017

Лабораторная работа №2. Операторы языка С.

Цель работы

Изучить операторы языка С++, научиться применять их при написании программ. Научиться отслеживать значения числовых и логических переменных и выражений в процессе отладки программы. Освоить умение переводить мнемонические выражения в последовательность операторов.

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

1. Преобразовать индивидуальное задание из мнемонического описания в последовательность операторов языка С++, построить блок-схему алгоритма и доказать его адекватность текстовому заданию.

2. Создать проект на Visual C++, написать программу на языке С++ в соответствии с разработанным алгоритмом, отладить ее и запустить на выполнение. Продемонстрировать преподавателю выполнение программы.

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

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

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

6. Составить отчет, в котором отразить листинг программного кода с комментариями, привести блок-схему алгоритма и скриншоты с результатами работы программы.

Вариант №1

1.

задать переменную i равную -10.

задать переменную j равную 28.

пока i меньше 23, повторять следующие действия: {

если i равно j, то i увеличить вдвое, иначе j уменьшить на 1.

увеличить i на 2 }.

Исходный код программы.

// variant 1 laba 2.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <conio.h>

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,"RUS");//подключение русского языка

int i,j,q,z,i2,j2,q2; //инициализация переменных

done:

i=j=q=z=i2=j2=q2=0;

i=-10;

j=28;

cout<<("Введите переменную i:\n"); //вывод приглашения для ввода пременных

cin>>i; //считывание с клавиатуры переменной i

cout<<("Введите переменную j:\n");//вывод приглашения для ввода пременных

cin>>j;; //считывание с клавиатуры переменной j

cout<<"------------------------------------------------"<<endl;

i2=i;

j2=j;

while(i<23)

{

if(i==j)//если i=j, то

{

i*=2;//i=i*2

}

else //иначе

{

j--;//операция декримента

}

i+=2;//i=i+2

q++;

if(q>20)

{

z=false;

}

else

{

z=true;

}

}

cout<<"------------------------------------------------"<<endl;

if(z==true)

{

while(i2<23)

{

if(i2==j)//если i2=j2, то

{

i2*=2;//i2=i2*2

}

else //иначе

{

j2--;//операция декримента

}

i2+=2;//i2=i2+2

q2++;

cout<<"i="<<i2<<"\t j="<<j2<<"\t q="<<q2<<endl; //вывод пременных на экран

}

}

else

{

cout<<"введите другие значения!!"<<endl;

goto done;

}

cout<<"================end================="<<endl;

getch();

return 0;

}

Прямая со стрелкой 3

Ввод переменных I,j с клавиатуры

Прямая со стрелкой 5 Ромб 6 Прямая со стрелкой 7 Ромб 8

I=i*2

j--

Прямая соединительная линия 11 Прямая соединительная линия 12 Прямая со стрелкой 13 Прямая со стрелкой 14 Прямая соединительная линия 15 Прямая соединительная линия 18 Прямая соединительная линия 19 Прямая со стрелкой 23

Z=false

Прямая соединительная линия 25 Прямая соединительная линия 26 Прямая со стрелкой 27 Прямая со стрелкой 28 Прямая соединительная линия 30 Прямая соединительная линия 31 Прямая соединительная линия 32 Прямая со стрелкой 33 Ромб 34 Ромб 35

Введите другие значения

Прямая соединительная линия 37 Прямая соединительная линия 38 Прямая соединительная линия 40 Прямая со стрелкой 41 Прямая со стрелкой 42 Прямая соединительная линия 43 Прямая соединительная линия 44 Прямая соединительная линия 45

J2--

I2=i2*2

Овал 1

Инициализация переменных

Прямая соединительная линия 48 Прямая со стрелкой 16 Прямая соединительная линия 17 Прямая соединительная линия 49 Прямая со стрелкой 20

I=i+2

Q++

Ромб 22 Прямая со стрелкой 50

Z=true

Прямая со стрелкой 51 Прямая соединительная линия 52 Прямая соединительная линия 53 Прямая соединительная линия 54 Прямая со стрелкой 55

I2=i2+2

Ромб 57 Прямая соединительная линия 58 Прямая соединительная линия 59 Прямая со стрелкой 60 Прямая соединительная линия 61 Прямая соединительная линия 62 Прямая соединительная линия 63 Прямая соединительная линия 64 Прямая соединительная линия 67

Нет да

Нет да

Нет да

Нет да

Нет да

Овал 65

Вывод на экран I,j

Прямая соединительная линия 68

Вывод: зацикливание программы не возможно ни при каких заначениях I,j.