Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие ТРПП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
493.57 Кб
Скачать

Практическая работа №10

Тема: Моделирование баз данных

Цель: научиться моделировать БД

Источники:

  1. Рудаков А.В. Технологии разработки программных продуктов.- ОИЦ «Академия», 2010

  2. Технологии разработки программного обеспечения/С.А.Орлов, - СПб: "Питер", 2004.

  3. Бажин И.И. Информационные системы менеджмента. - М. ГУ-ВШЭ, 2000.

Оборудование: ПК, ООП, язык программирования, среда разработки.

Ход и содержание работы

Задание:

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

Спецификация программы:

  • Название задачи: подсчет количества символов

Название программы: lab6

Система программирования: Turbo Pascal 7.0

Системные требования: IBM PC/AT 286 и выше

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

  • Строка символов - SInp

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

  • Исходная строка;

  • Общее количество встречающихся символов «А» или «а»;

  • ALatBig, aLatSmall, ACyrBig, aCyrSmall – количество во введенной строке символов “A”, “a” (латиницей) и «А», «а» (кириллических) соответственно.

Постановка задачи:

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

Спецификация переменных:

Имя переменной в программе

Назначение переменной в программе

Тип переменной

Диапазон типа

SInp

Хранение введенной с клавиатуры строки

String

0..255

(каждый элемент)

ALatBig

Подсчет больших букв «А» латиницей

integer

-2768..32767

aLatSmall

Подсчет малых букв «а» латиницей

integer

32768..32767

ACyrBig

Подсчет больших букв «А» кириллицей

integer

32768..32767

aCyrSmall

Подсчет малых букв «а» кириллицей

integer

32768..32767

i

Счетчик

integer

32768..32767

Аналитический профиль программы:

№номер строки

Текст программы

program LabWork6;

Uses Crt;

var

SInp : string;

Function Code(ch:char):byte;

begin

Code := ord(ch);

end; {Function Code}

Procedure onScreen(ALatBig, aLatSmall, ACyrBig, aCyrSmall : integer);

begin

if ALatBig+aLatSmall+ACyrBig+aCyrSmall <> 0 then

begin

Write ('Символы ''A'' и ''a'' встречаются в строке ');

Write (ALatBig+aLatSmall+ACyrBig+aCyrSmall,' раз, ');

WriteLn ('причем:');

WriteLn;

if ALatBig <> 0 then

begin

Write ('Большая латинская ''A'' (код ASCII ',Code('A'),')');

WriteLn (' встречается ',ALatBig,' раз(а)');

end

else

WriteLn ('Большая латинская ''A'' не встречается');

if ALatSmall <> 0 then

begin

Write ('Малая латинская ''a'' (код ASCII ',Code('a'),')');

WriteLn (' встречается ',ALatSmall,' раз(а)');

end

else

WriteLn ('Малая латинская ''a'' не встречается');

if ACyrBig <> 0 then

begin

Write ('Большая русская ''А'' (код ASCII ',Code('А'),')');

WriteLn (' встречается ',ACyrBig,' раз(а)');

end

else

WriteLn ('Большая русская ''А'' не встречается');

if ACyrSmall <> 0 then

begin

Write ('Малая русская ''а'' (код ASCII ',Code('а'),')');

WriteLn (' встречается ',ACyrSmall,' раз(а)');

end

else

WriteLn ('Малая русская ''а'' не встречается');

end

else

begin

Write ('Во введенной Вами строке символы ');

WriteLn ('''A'' и ''a'' не встречается.');

end;

end; {Procedure onScreen}

Procedure CharCount(Sinp:string);

var

i, ALatBig, aLatSmall, ACyrBig, aCyrSmall : integer;

begin

ALatBig := 0;

aLatSmall := 0;

ACyrBig := 0;

aCyrSmall := 0;

for i := 1 to Length(SInp) do

Case SInp[i] of

'A': inc(ALatBig);

'a': inc(aLatSmall);

'А': inc(ACyrBig);

'а': inc(aCyrSmall);

end;

onScreen(ALatBig, aLatSmall, ACyrBig, aCyrSmall);

end; {Procedure CharCount}

begin

ClrScr;

Write ('Введите строку: ');

Read (SInp);

WriteLn('Введена строка: ',SInp);

CharCount(SInp);

ReadKey;

end.

Текст программы:

program LabWork6;

Uses Crt;

var

SInp : string;

Function Code(ch:char):byte;

begin

Code := ord(ch);

end; {Function Code}

Procedure onScreen(ALatBig, aLatSmall, ACyrBig, aCyrSmall : integer);

begin

if ALatBig+aLatSmall+ACyrBig+aCyrSmall <> 0 then

begin

Write ('Символы ''A'' и ''a'' встречаются в строке ');

Write (ALatBig+aLatSmall+ACyrBig+aCyrSmall,' раз, ');

WriteLn ('причем:');

WriteLn;

if ALatBig <> 0 then

begin

Write ('Большая латинская ''A'' (код ASCII ',Code('A'),')');

WriteLn (' встречается ',ALatBig,' раз(а)');

end

else

WriteLn ('Большая латинская ''A'' не встречается');

if ALatSmall <> 0 then

begin

Write ('Малая латинская ''a'' (код ASCII ',Code('a'),')');

WriteLn (' встречается ',ALatSmall,' раз(а)');

end

else

WriteLn ('Малая латинская ''a'' не встречается');

if ACyrBig <> 0 then

begin

Write ('Большая русская ''А'' (код ASCII ',Code('А'),')');

WriteLn (' встречается ',ACyrBig,' раз(а)');

end

else

WriteLn ('Большая русская ''А'' не встречается');

if ACyrSmall <> 0 then

begin

Write ('Малая русская ''а'' (код ASCII ',Code('а'),')');

WriteLn (' встречается ',ACyrSmall,' раз(а)');

end

else

WriteLn ('Малая русская ''а'' не встречается');

end

else

begin

Write ('Во введенной Вами строке символы ');

WriteLn ('''A'' и ''a'' не встречается.');

end;

end; {Procedure onScreen}

Procedure CharCount(Sinp:string);

var

i, ALatBig, aLatSmall, ACyrBig, aCyrSmall : integer;

begin

ALatBig := 0;

aLatSmall := 0;

ACyrBig := 0;

aCyrSmall := 0;

for i := 1 to Length(SInp) do

Case SInp[i] of

'A': inc(ALatBig);

'a': inc(aLatSmall);

'А': inc(ACyrBig);

'а': inc(aCyrSmall);

end;

onScreen(ALatBig, aLatSmall, ACyrBig, aCyrSmall);

end; {Procedure CharCount}

begin

ClrScr;

Write ('Введите строку: ');

Read (SInp);

WriteLn('Введена строка: ',SInp);

CharCount(SInp);

ReadKey;

end.

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

  1. Что такое спецификация программы

  2. Что такое постановка задачи

  3. Что такое исходные данные задачи

  4. Что такое тестирование

  5. Что такое отладка программы

  6. Для чего необходимо техническое задание

  7. Перечислить методы тестирования, используемые в данной работе.

  8. Перечислить ошибки, которые могут встретится при тестировании данной программы