
- •А. Содержание
- •С. Лист учета экземпляров
- •Пояснительная записка
- •Тематический план
- •Перечень практических работ
- •Практическая работа № 1
- •Практическая работа № 2
- •Задание:
- •Практическая работа № 3
- •Практическая работа № 4
- •Практическая работа № 5
- •1.2Нужно составить программу, которая создавала бы случайным образом двумерный массив с девятью элементами и вычисляла сумму этих элементов.
- •Практическая работа №6
- •Задание:
- •Практическая работа №7
- •Практическая работа №8
- •Задание:
- •Практическая работа №9
- •Практическая работа №10
- •Перечень литературы и технических средств обучения
Практическая работа №10
Тема: Моделирование баз данных
Цель: научиться моделировать БД
Источники:
Рудаков А.В. Технологии разработки программных продуктов.- ОИЦ «Академия», 2010
Технологии разработки программного обеспечения/С.А.Орлов, - СПб: "Питер", 2004.
Бажин И.И. Информационные системы менеджмента. - М. ГУ-ВШЭ, 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.
Контрольные вопросы
Что такое спецификация программы
Что такое постановка задачи
Что такое исходные данные задачи
Что такое тестирование
Что такое отладка программы
Для чего необходимо техническое задание
Перечислить методы тестирования, используемые в данной работе.
Перечислить ошибки, которые могут встретится при тестировании данной программы