Зайцев М. Г. / 2
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИИ
Новосибирский государственный технический университет
Практическое занятие №2
по курсу «Информатика и программирование»
«Множественный тип»
Факультет бизнеса
Группа: ФБИ-11
Студенты: Рыбаченко А.А.
Преподаватель: Зайцев М.Г.
Новосибирск
2012г.
Цель: Изучение синтаксиса и семантики структуры данных типа
множество (set) и процедуры Inc.
Задание
Спроектируйте, реализуйте и протестируйте на ObjectPascal программу со следующей программной функцией:
- осуществляет запрос и ввод элементов множества в переменную
типа множество с клавиатуры терминала, осуществляет вывод значения переменной типа множество на устройство отображения;
- осуществляет запрос и ввод элементов в массив множеств с клавиатуры терминала,
- осуществляет вывод значения переменной типа массив множеств
на устройство отображения.
Варианты задания выполнить для следующих множеств:
- прописных латинских букв;
- строчных латинских букв;
- арабских цифр;
- прописных букв кириллицы;
- строчных букв кириллицы;
- целых чисел;
- значений типа (White,Green,Blue,Red,Yellow,Black).
- арабских цифр;
Текст программы:
program arabic;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
digits=0..9;
arabic=set of digits;
var a:char;
x:arabic;
k:integer;
procedure input(var n:arabic);
var s:string; i:integer;
begin
write(‘Please, enter a variable');
readln(s);
for i:=1 to length(s) do
if strtoint(s[i]) in [low(digits)..high(digits)] then
include(n,strtoint(s[i]));
end;
procedure answer(var n:char);
begin
write('Continie?');
readln(n);
end;
function Output(n:arabic):string;
var s:digits;
begin
result:='[';
for s:=low(digits) to high(digits) do
if s in n then result:=result+inttostr(s);
result:=result+']';
end;
begin
a:='0';
repeat
input(x);
answepr(a);
until a<>#13;
write(output(x));
readln;
end.
-строчных латинских букв
Текст программы:
program lower;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
letters='A'..'Z';
lower=set of letters;
var a:char;
x:lower;
k:integer;
procedure input(var n: lower);
var s:string; i:integer;
begin
write(‘Please, enter a word');
readln(s);
for i:=1 to length(s) do
if s[i] in [low(letters)..high(letters)] then
include(n,s[i]);
end;
procedure answer(var n:char);
begin
write('Continie?');
readln(n);
end;
function Output(n: lower):string;
var l: letters;
begin
result:='[';
for l:=low(letters) to high(letters) do
if l in n then result:=result+l;
result:=result+']';
end;
begin
a:='0';
repeat
input(x);
answer(a);
until a<>#13;
write(output(x));
readln;
end.
- прописных латинских букв
Текст программы:
program capital;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
letters ='a'..'z';
capital=set of letters;
var a:char;
x: capital;
k:integer;
procedure input(var n: capital);
var s:string; i:integer;
begin
write(Please, enter a word'');
readln(s);
for i:=1 to length(s) do
if s[i] in [low(letters)..high(letters)] then
include(n,s[i]);
end;
procedure answer(var n:char);
begin
write('Continie?');
readln(n);
end;
function Output(n: capital):string;
var l: letters;
begin
result:='[';
for l:=low(letters) to high(letters) do
if l in n then result:=result+l;
result:=result+']';
end;
begin
a:='0';
repeat
input(x);
answer(a);
until a<>#13;
write(output(x));
readln;
end