новая папка / Лабораторная работа 2 ИТ Вариант №1
.docМинистерство образования и науки Российской федерации
Федеральное государственное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»
Кафедра промышленной электроники
ЛАБОРАТОРНАЯ РАБОТА №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;
}
Ввод переменных I,j
с клавиатуры
I=i*2
j--
Z=false
Введите другие значения
J2--
I2=i2*2
Инициализация переменных
I=i+2
Q++
Z=true
I2=i2+2
Нет да
Нет да
Нет да
Нет да
Нет да
Вывод на экран I,j

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