Алгоритмические языки: использование множеств
Изучение способов описания и использования множеств, разработка алгоритма и составление программы для решения задачи. Нахождение в последовательности целых чисел таких, которые встречаются в ней ровно два раза. Набор программы, ее отладка и тестирование.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 03.10.2010 |
Размер файла | 121,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ЛАБОРАТОРНАЯ РАБОТА
по дисциплине “Основы программирования”
на тему
Алгоритмические языки: использование множеств
Цель работы: получение навыков работы с множествами.
Постановка задачи:
1. Изучить способы описания и использования множеств.
2. Разработать алгоритм и составить программу для решения задачи соответствующего варианта.
Задание к работе:
1. Найти в последовательности целых чисел такие, которые встречаются в ней ровно два раза.
2. Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.
3. Подобрать наборы тестовых данных.
Ход выполнения работы
Блок-схема:
Рисунок 1. Блок-схема программы.
-
+
Рисунок 2. Блок-схема элемента Code программы.
-
+
-
+
Рисунок 3. Блок-схема элемента Code2 программы.
Текст программы:
Program lab;
Uses crt;
Type
bin=byte;
maxlen=byte;
Const
max=100;
max_bin=255;
Var
a:array[1..max] of bin;
len:maxlen;
Procedure Vvod(Var a: array of bin;Var len:maxlen);
Var
x:maxlen;
begin
Write('Введите длинну последовательности: ');
Readln(len);
Writeln('Введите элементы последовательности: ');
for x:= 1 to len do
Begin
Write('a[',x,']=');
Readln(a[x]);
End;
End;
Procedure Code(a:array of bin;len:maxlen);
Var
x:maxlen;
b:array[1..max_bin] of byte;
Begin
for x:=1 to max_bin do b[x]:=0;
for x:=1 to len do inc(b[a[x]]);
for x:=1 to max_bin do if b[x]=2 then
Begin
Writeln('Число ',x,' повторяется ровно два раза');
End;
End;
Procedure Code2(a:array of bin;len:maxlen);
Var
b,c:set of bin;
x,y:maxlen;
k:byte;
Begin
y:=1;
b:=[];
c:=[];
for x:=1 to len do b:=b+[a[x]];
for y:=1 to len do
Begin
x:=0;
k:=0;
Repeat
Begin
inc(x);
if (a[x] in b)and(a[x]=a[y]) then inc(k);
End;
Until (x=len) or (k>2);
if k=2 then c:=c+[a[y]];
End;
for x:=1 to max_bin do if x in c then
Begin
Writeln('Число ',x,' повторяется ровно два раза');
End;
End;
Clrscr;
Begin
Vvod(a,len);
Writeln('Первый алгоритм: ');
Code(a,len);
Writeln('Второй алгоритм: ');
Code2(a,len);
End.
Результаты работы программы.
1) Введенные данные:
a[1]=1; a[2]=2; a[3]=3; a[4]=8; a[5]=10; a[6]=25; a[7]=44; a[8]=2; a[9]=9; a[10]=33;
Результаты работы программы
Первый алгоритм:
Числа повторяющиеся ровно два раза: 2;
Второй алгоритм:
Числа повторяющиеся ровно два раза: 2;
Рисунок 4. Результаты теста №1.
2) Введенные данные:
a[1]=1; a[2]=1; a[3]=2; a[4]=2; a[5]=3; a[6]=3; a[7]=4; a[8]=4;
Результаты работы программы
Первый алгоритм:
Числа, повторяющиеся ровно два раза: 1; 2; 3; 4;
Второй алгоритм:
Числа, повторяющиеся ровно два раза: 1; 2; 3; 4;
Рисунок 5. Результаты теста №2.
Подобные документы
Особенности работы с процедурами и двумерными массивами, последовательность вызова процедур. Способы описания и использования многомерных массивов, назначение процедур, их описание и обращение к ним. Набор программы, ее отладка и тестирование данных.
лабораторная работа [112,1 K], добавлен 03.10.2010Эскизный, технический и рабочий проект расчета основоположной задачи теории множеств, решение которой необходимо для доказывания теорем высшей математики. Разработка алгоритма и написание программы в среде Delphi 7 на языке программирования Delphi.
курсовая работа [1,5 M], добавлен 21.09.2011Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.
курсовая работа [69,8 K], добавлен 13.02.2012Содержательная и формальная (математическая) постановка задачи. Разработка алгоритма решения задачи. Структуры программы и алгоритмы программных модулей, их описание. Решение задачи на конкретном примере. Разработка системы тестов и отладка программы.
курсовая работа [882,1 K], добавлен 24.11.2014Разработка алгоритма синтеза пленочного резистора по заданным параметрам исходного резистора, программы реализации данного алгоритма на языке С++. Отладка и тестирование программы, составление документации и инструкции пользователя данной программой.
курсовая работа [1,7 M], добавлен 08.06.2009Структурное программирование, схема алгоритма. Программа на языке Си для int, float. Подпрограмма ввода и вывода целых чисел на Ассемблере IBM. Тестирование и отладка, инструкция пользователя. Язык программирования Си (для int и float), этапы трансляции.
курсовая работа [1,5 M], добавлен 21.10.2014Разработка программы, которая создает в отдельном потоке случайный массив целых чисел в заданном диапазоне и выводит на экран эти числа. Описание общего алгоритма, интерфейс программы. Методы решения и алгоритмы задач, реализуемых каждым потоком.
курсовая работа [372,6 K], добавлен 17.04.2014Формирование текстового документа с именем goto.cpp., содержимое которого взято из русифицируемой справки MSDN по оператору безусловного перехода. Выбор оптимального алгоритма решения задачи, разработка интерфейса, отладка и тестирование программы.
курсовая работа [499,8 K], добавлен 10.11.2009Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.
контрольная работа [52,9 K], добавлен 03.10.2010Программирование как процесс описания последовательности действий решения задачи средствами конкретного языка и оформление результатов описания в виде программы. Этапы разработки программы, требования к ее функциональности, направления использования.
контрольная работа [79,7 K], добавлен 10.01.2016