Определение счетчика цикла внутри оператора цикла for — КиберПедия 

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Определение счетчика цикла внутри оператора цикла for

2020-05-08 357
Определение счетчика цикла внутри оператора цикла for 0.00 из 5.00 0 оценок
Заказать работу

for (int j = numb; j>0; j--)

Подобная конструкция является типичной для С++, и, как правило, наиболее удобна для работы со счетчиками цикла. Такое определение переменной стоит наиболее близко к месту ее употребления. Переменная, описанная в операторе цикла, видна только внутри этого цикла (компилятор Microsoft делает такие переменные видимыми от точки объявления до конца программы, но это не является стандартом С++).

 

 

Порядок выполнения работы

1. Изучите теоретический материал.

2. Напишите программу, согласно заданному в варианте задания условию.

3. Ответьте на контрольные вопросы.

 

ВАРИАНТЫ ЗАДАНИЙ

Вариант 1

Считая, что кубический фут равен 7,481 галлона, написать программу, запрашивающую у пользователя число галлонов и выводящую на экран эквивалентный объем в кубических футах.

Вариант 2

Напишите программу, выводящую следующую таблицу:

1990 135

1991 7290

11300

16200

В программе использовать только один оператор с cout.

Вариант 3

Напишите программу, генерирующую следующий вывод:

10 20 19

Используйте представление числа 10 в виде целой константы. Для вывода числа 20 воспользуйтесь одной из арифметических операций с присваиванием, а для вывода числа 19 — операцией декремента.

Вариант 4

Напишите программу, выводящую на экран ваше любимое стихотворение. Для разбиения на строчки используйте подходящую управляющую последовательность.

Вариант 5

Библиотечная функция islower() принимает в качестве аргумента один символ (букву) и возвращает ненулевое целое значение в том случае, если буква является строчной, и нулевое, если буква является заглавной. Описание функции хранится в файле CTYPE.H. Напишите программу, которая принимает букву от пользователя, а затем выводит нулевое или ненулевое значение в зависимости от того, является ли буква строчной или нет.

Вариант 6

На биржевых торгах за 1 фунт стерлингов давали $1.487, за франк — $0.172, за немецкую марку — $0.584, а за японскую йену — $0.00955. Напишите программу, которая запрашивает денежную сумму в долларах, а затем выводит эквивалентные суммы в других валютах.

Вариант 7

Температуру, измеренную в градусах по Цельсию, можно перевести в градусы по Фаренгейту путем умножения на 9/5 и сложения с числом 32. Напишите программу, запрашивающую температуру в градусах по Цельсию и отображающую ее эквивалент по Фаренгейту.

Вариант 8

Когда размер величины, выводимой на экран с помощью манипулятора setw(), оказывается меньше размера зарезервированного поля, по умолчанию незаполненные поля заполняются пробелами. Манипулятор setfill() принимает в качестве аргумента один символ, который замещает все пробелы на незаполненных позициях поля. Модифицируйте пример WIDTH так, чтобы символы, разделяющие пары значений из столбцов, были не пробелами, а точками, например

Москва     8425785

Вариант 9

Две дроби а/b и c/d можно сложить следующим образом:

а/b + c/d = (a*d + b*c)/(b*d)

Например, 1/4 + 2/3 = (1*3 + 4*2)/4*3 = 11/12

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

Введите первую дробь: 1/2 Введите вторую дробь: 2/5 Сумма равна 9/10

Вы можете использовать тот факт, что операция извлечения» может считывать более одного значения за раз:

cin» а» dummychar» b:

Вариант 10

Устаревшая денежная система Великобритании состояла из фунтов, шиллингов и пенсов. 1 фунт был равен 20 шиллингам, а 1 шиллинг — 12 пенсам. Для записи использовалась система, состоящая из знака £ и трех десятичных значений, разделенных точками. Например, запись £5.2.8 обозначала 5 фунтов, 2 шиллинга и 8 пенсов (пенс — множественное число от пенни). Современная денежная система, принятая в 50-е годы XX века, состоит только из фунтов и пенсов, причем один фунт равен 100 пенсам. Такой фунт называют десятичным. Таким образом, в новой денежной системе указанная сумма будет обозначаться как £5.13 (если быть точнее, £5.1333333). Напишите программу, которая будет преобразовывать сумму, записанную в старом формате (фунты, шиллинги, пенсы), в новый формат (фунты, пенсы). Форматом взаимодействия программы с пользователем может являться следующий:

Введите количество фунтов: 7

Введите количество шиллингов: 17

Введите количество пенсов: 9

Десятичных фунтов: £7.89

В большинстве компиляторов для представления знака £ используется десятичный код 156. Некоторые компиляторы позволяют скопировать знак фунта прямо из таблицы символов Windows.

Вариант 11

По умолчанию форматирование вывода производится по правому краю поля. Можно изменить форматирование текста на левостороннее путем использования манипулятора setiosflags(ios::Left) (не беспокойтесь о смысле новой формы записи, встретившейся в манипуляторе). Используйте этот манипулятор вместе с setw() для того, чтобы произвести следующий вывод:

Фамилия Имя           Адрес                                          Город

Петров     Василий Кленовая 16                          Санкт-Петербург

Иванов    Сергей Осиновая 3                                Находка

Сидоров Иван                   Березовая 21                Калининград

Вариант 12

Напишите программу, выполняющую действия, обратные тем, которые описаны в варианте 10, то есть запрашивающую у пользователя сумму, указанную в десятичных фунтах, и переводящую ее в старую систему фунтов, шиллингов и пенсов. Пример взаимодействия программы с пользователем может выглядеть так:

Введите число десятичных фунтов: 3.51

Эквивалентная сумма в старой форме записи: £3.10.2

Обратите внимание на то, что если вам придется присваивать вещественное значение (например, 12,34) переменной целого типа, то его дробная часть (0,34) будет потеряна, а целая переменная получит значение 12. Чтобы избежать предупреждения со стороны компилятора, используйте явное преобразование типов. Можно использовать операторы, подобные приведенным ниже:

float decpounds; // сумма в десятичных фунтах

int pounds; // сумма в старых фунтах

float decfrac; // десятичная дробная часть

pounds = static_cast<int>(decpounds): //отбрасывание

//дробной части

decfrac = decpounds - pounds: //прибавление дробной части

Чтобы получить число шиллингов, следует умножить на 20 значение переменной decfrac. Аналогичным образом можно получить число пенсов.

Форма отчёта: отчет выполняется в текстовом редакторе в электронном виде.

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

1. Тема работы.

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

3. Выполненные задания.

 

Система оценки: пятибальная.

 


Контрольные вопросы

1. Заполните пустые места в следующих утверждениях о среде программирования С++.

a. Программа на С++ обычно вводится в компьютер с помощью программы ____________.

b. В системе С++ перед началом этапа компиляции выполняется программа.

c. Программа объединяет результат работы компиля­тора с различными библиотечными функциями, чтобы создать ис­полняемый загрузочный модуль.

d. Программа _______загружает исполняемый модуль с диска в память.

2. Заполнить пробелы в следующих утверждениях:

a. Выполнение каждой программы на С++ начинается с функции ______________.

b. _____________начинает тело каждой функции, а _________-заканчивает тело каждой функции.

c. Каждый оператор заканчивается __________.

d. Управляющая последовательность \n представляет символ _______, который вызывает перемещение курсора к началу следующей строки на экране.

e. Оператор ________ используется для принятия решений.

Список использованной литературы

 

1. Х.Дейтел Как программировать на C; Пер. с англ. под ред. В. Тимофеева. - М.: БИНОМ, 2000. - 1005 с.: ил.; 24

2. Язык программирования С / Брайан Керниган, Деннис Ритчи; [пер. с англ. и ред. В. Л. Бродового]. - 2-е изд., перераб. и доп. - Москва [и др.]: Вильямс, 2007. - 289 с.; 23 см.

3. Бьерн Страуструп Язык программирования C++; Пер. с англ. С. Анисимова и М. Кононова под ред. Ф. Андреева, А. Ушакова. - 3. изд. - М.: Binom Pablishers; СПб.: Нев. диалект, 2004. - 990 с.: ил.; 24 см.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 9

Тема: «Разработка простейших программ на Си++ с использованием классов»

Цели:

- определить понятие класса;

- изучить особенности создания классов в языке С++;

- определить понятие методов и свойств классов в С++;

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

 

Характер занятия: репродуктивный.

Форма организации: индивидуальная.

Обеспечение занятия: тетрадь с лекциями,  СИ, компьютер.

 

Требования к знаниям студентов

Перед выполнением практической работы студент должен

знать:

- понятия объектно-ориентированного программирования;

- основные характеристики и возможности языка С++;

- особенности С++ как языка программирования;

после выполнения практической работы студент должен

уметь:

- создавать простейшие программы, с использованием классов, на языке С++;

- описывать объекты предметной области в виде классов;

- выполнять простейшие действия в визульной среде С++;

- отличать класс от объекта в С++.

 

Теоретический материал

Простой класс

Наш первый пример содержит класс и два объекта этого класса. Несмотря на свою простоту, он демонстрирует синтаксис и основные черты классов С++. Листинг программы SMALL0BJ приведен ниже.

// smallobj.cpp

// демонстрирует простой небольшой объект

#include <iostream>

using namespace std;

//*****************************************

class smallobj  // определение класса

{

private:

int somedata;   // поле класса

public:

void setdata(int d)  // метод класса, изменяющий значение поля

{ somedata = d; }

void showdata() // метод класса, отображающий значение поля

{cout << "Значение поля равно " << somedata << endl; }

};

//////////////////////////////////////////////////////////

int main()

{

smallobj s1, s2; // определение двух объектов класса smallobj

s1.setdata(1066); // вызовы метода setdataO

s2.setdata(1776);

s1.showdata(); // вызовы метода showdataO

s2.showdata();

return 0;

}

Класс smallobj, определенный в этой программе, содержит одно поле данных и два метода. Методы обеспечивают доступ к полю данных класса. Первый из методов присваивает полю значение, а второй метод выводит это значение на экран.

Объединение данных и функций является стержневой идеей объектно-ори­ентированного программирования.

 

Классы и объекты

Объект является экземпляром класса, так же, как автомобиль является экземпляром колесного средства передвижения. Класс smallobj определяется в начале программы SMALLOBJ. Позже, в функции main(), мы определяем два объекта s1 и s2, явля­ющихся экземплярами класса smallobj.

Каждый из двух объектов имеет свое значение и способен выводить на экран это значение. Результат работы программы выглядит следующим образом:

Значение поля равно 1076 - вывод объекта s1

Значение поля равно 1776 - вывод объекта s2

Рассмотрим подробнее первую часть программы, где происходит определение класса smallobj. Затем мы обратимся к функции main(), в которой задейство­ваны объекты класса smallobj.


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.05 с.