Главная » Просмотр файлов » Лабораторные работы МИРЭА 2014

Лабораторные работы МИРЭА 2014 (1017113), страница 19

Файл №1017113 Лабораторные работы МИРЭА 2014 (Лабораторные работы МИРЭА 2014) 19 страницаЛабораторные работы МИРЭА 2014 (1017113) страница 192017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

#include <StdCtrls.hpp>

#include <Forms.hpp>

class TForml: public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TEdit *Editl;

TEdit *Edit2;

TButton *Buttonl;

TButton *Button2;

TLabel *Label4;

void__fastcall ButtonlClick(TObject *Sender);

void__fastcall Button2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForml(TComponent* Owner);

};

extern PACKAGE TForml *Form1;

#endif

Листинг 2.7. Модуль формы (Amper_1.cpp)

#include <vcl.h>

#pragma hdrstop

#include "Amper_l.h"

#ragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

__fastcall TForml::TForml(TComponent* Owner)

: TForm(Owner)

{

}

// щелчок на кнопке Вычислить

void__fastcall TForm1::Button1Click(TObject *Sender)

{

float u; // напряжение

float r; // сопротивление

float i; // сила тока

// получить данные из полей ввода

// возможно исключение

try

{

u = StrToFloat(Editl->Text);

r = StrToFloat(Edit2->Text);

}

catch (EConvertError &e)

{

ShowMessage("При вводе дробных чисел используйте запятую.");

return;

}

// вычислить силу тока

// возможно исключение

try

{

i = u/r;

}

catch (EZeroDivide &e)

{

ShowMessage("Сопротивление не должно быть равно нулю");

Edit1->SetFocus(); // курсор в поле Сопротивление

return;

}

// вывести результат в поле метки Label4->Caption = "Ток : " +

FloatToStrF(i,ffGeneral,7,3);

}

// щелчок на кнопке Завершить

void__fastcall TForml::Button2Click(TObject *Sender)

{

Form1->Close(); // закрыть окно программы

}

Следует отметить, что значительное количество работы по генерации программного кода выполнил C++ Builder. Он полностью сформировал главный модуль (Amper.cpp), заголовочный файл модуля формы (Amper_l.h), значительную часть модуля формы (Amper_l.cpp). Кроме того, C++ Builder, анализируя действия программиста, сформировал описание формы, файл проекта и файл ресурсов проекта.

Задания для самостоятельной работы

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

1. Электроэнергия.

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

2. Игра «угадай число».

Цель игры – угадать целое число случайным образом определенное программой.

Для того чтобы игра была более интересной игроку могут быть предложены подсказки, например, данное число находится в пределах от nmax до nmin, или данное число четное или нечетное, или оно делится на 3, и т.п.

Игра будет еще более интересной если вести запись имен игроков.

3. Гороскоп

Напишите астрологическую программу. В ответ на ввод пользователем дня рождения программа должна выводить соответствующие знак зодиака и гороскоп. Месяц может вводиться в виде числа от 1 до 12. Учтите, что если день рождения попадает в интервал одного-двух дней от соседнего знака зодиака, то программа должна сообщать об этом, а также выдавать гороскоп для смежного знака зодиака. Эта программа будет содержать множественное ветвление. Тексты гороскопов следует хранить в файле. Программа должна содержать цикл, предусматривающий повторный ввод пользователем дня рождения и возможность явного завершения работы с программой.

4. Межгород

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

а) любой звонок в интервале от 8:00 до 18:00 с понедельника по пятницу стоит $0.40 в минуту;

б) любой звонок в интервале до 8:00 и после 18:00 с понедельника по пятницу стоит $0.25 в минуту;

в) любой звонок в субботу и воскресенье стоит $0.15 в минуту.

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

Продолжительность разговора в минутах должна вво­диться в виде целого значения (типа int). В программе должен быть реализован цикл, позволяющий пользователю повторное применение программы и явное завершение работы с ней. После завершения отладки этой программы создайте ее более совершенную версию, выполняющую считывание из файла информации обо всех произведенных в течение недели звонках и записывающую счет за телефонные разговоры в другой файл. В счете должны быть перечислены все телефонные разговоры (дата, время начала, продолжительность), их стоимость, а также итоговая стоимость. Порядок телефонных разговоров в файле вывода должен совпадать с порядком из файла ввода. Если вы решаете эту задачу в аудитории, проконсультируйтесь с преподавателем относительно имен файлов и места их хранения.

5. Millennium

Напишите программу для преобразования года из обычного формата записи в виде четырех цифр в формат записи в виде римских цифр. Для этого используются сле­дующие римские цифры: V — 5, X — 10, L — 50, С — 100, D — 500, М — 1000. Напомним, что некоторые числа формируются посредством следующих правил вычитания римских цифр: так, IV равно 4 (V минус I), ХL — 40, СМ — 900 и т.д. Для наглядности приведем несколько примеров: МСМ — 1900, МСМL — 1950, МСМLХ - 1960, МСМХL - 1940, МСМЕХХХ1Х - 1989. Предположим, что вводимый пользователем год находится в пределах между 1 и 3000. Программа должна включать цикл, позволяющий пользователю повторно вводить год и выполнять его преобразование в римские цифры до явного завершения программы.

6. Алфавит

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

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

do be do bo

вывод должен быть следующим:

Буква: Количество повторений

о 3

d 2

b 2

е 1

Программа должна сортировать массив по целым значениям-членам используемой структуры. Если задание выполняется в учебной группе, выясните у преподавателя, следует ли осуществлять ввод и вывод с помощью клавиатуры и экрана, либо с помощью файлов (в последнем случае преподаватель должен сообщить вам имена файлов, которые нужно использовать).

7. Палиндром

1. Палиндром — это слово, которое одинаково читается слева направо и справа налево, например "радар". Напишите программу, которая бы принимала символьную строку, заканчивающуюся точкой, и определяла, является ли данное слово (без учета точки) палиндромом. Можно считать, что вводятся только строчные буквы и что длина вводимого слова не превышает двадцати букв. Не нужно, что бы программа проверяла, употребляется ли данное слово в русском (английском) языке. Слово "ааббсббаа" программа тоже должна определять как палиндром. Используйте в программе цикл, позволяющий выполнять проверку новых слов до тех пор, пока пользователь не даст команду прекратить работу программы.

8. Метеослужба

В этом проекте три версии задания.

Версия 1 (полностью интерактивная).

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

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

Версия 2 (интерактивная версия с выводом в файл).

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

Версия 3 (ввод-вывод из файла).

Подобна версии 1, но ввод в ней берется из файла, а вывод направляется в файл. Таблица и гистограмма выводятся в один и тот же файл. Если занятия происходят в учебной группе, имена файлов задает преподаватель.

9. Статистика

Стандартное отклонение набора чисел — это мера того, насколько они отклоняются от среднего значения набора. Если стандартное отклонение мало, числа сконцентрированы возле среднего значения. Если же стандартное отклонение велико, то числа рассеяны по большому интервалу и могут значительно отклоняться от среднего значения. Стандартное отклонение S набора, состоящего из N чисел xj определяется следующим образом:

где — среднее значение N чисел x1,x2....

Напишите программу, которая позволяет вводить n чисел типа float и вычислять их среднее изначение и стандартное отклонение.

10. Кафе.

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

145

Характеристики

Тип файла
Документ
Размер
3,06 Mb
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее