Алгоритмические языки программирования

Примечаниеиз текста: Реализация альтернативных действий на языке Си
Загрузить архив:
Файл: ref-29346.zip (287kb [zip], Скачиваний: 245) скачать

Лабораторная работа № 3 Реализация альтернативных действий на языке Си

Фамилия

Крамаренко А.А.


Группа

АУЗ-261


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

Козлова Г.В.


Срок выполн.

01.04.09


Срок сдачи

05.06.09

Формулировка задания

Определите, правильно ли расставлены скобки (' и' )' в -заданной формуле, запи-санной в виде символьной строки. Скобки расставлены правильно, если закры-вающая скобка расположена после соответствующей открывающей и их количе-ство совпадает.

Внешняя спецификация

Входные данные:

Строка любых символов, содержащая в себе '(' и ')' (формула).

Выходные данные:

1. Сообщение о проверке расстановки скобок (правильно) (неправильно).

2. Сообщение о ошибке.

Справочная информация:

1. Вывод данных о программе.

2. Вывод данных о задании.

Диалоги:

1. Введите формулу содержащую скобки.

2. Результат

3. Скобки расставлены правильно!!!

4. Ошибка, проверьте расстановку!!!

Главная Функция:

Подсчет количества закрывающих и открывающих скобок. Сравнение количества ско-бок. Проверка правильности расстановки. Вывод результата.

Набор тестовых примеров (входные/выходные данные):

Тест №1: Ввод формулы содержащей скобки расставленные верно

Вход: (x+y)(z÷i) = x(-2)

Выход: Скобки расставлены правильно!!!

Тест №2:Ввод формулы не содержащей скобки

Вход: x=y*2+4

Выход: Нет скобок!!!

Тест №3: Ввод формулы содержащей скобки расставленные не верно

Вход: (x+y)(z÷i) = x)-2)

Выход: Ошибка, проверьте расстановку!!!

Тест №4:Ввод строки содержащей равное количество скобок но расставле-ных не верно

Вход: ())(

Выход: Ошибка, проверьте расстановку!!!

Тест №5: Ввод пустой строки (выполнить программу без входных данных )

Вход:

Выход: Нет скобок!!!

Структура данных:

Имя

Тип

Описание

m, y

Символьный

Введнные значения

Zak, otk

Целое [-32767 до 32767]

Количество скобок

i

Целое [-32767 до 32767]

Адрес сим-вола в мас-сиве

Экранные формы работающей программы:

Алгоритм в виде блок-схемы:

Листинг:

//---------------------------------------------------------------------------

#include

#pragma hdrstop

#include "Unitaaa1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo1->Clear(); // очистка поля вывода

AnsiString y;//введенные символы

y = Edit1->Text; //ввод данных с Edit1

char* m = y.c_str(); // Преревод AnsiString в char

int zak=0, otk=0; // переменных для подсчета скобок

for (int i=0;m[i]!='