Referat.me

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

Вид работы: лабораторная работа

Рубрика: Информатика и программирование

Размер файла: 46.06 Kb

Скачать файл: referat.me-134473.docx

Краткое описание работы: Изучение способов описания и использования множеств, разработка алгоритма и составление программы для решения задачи. Нахождение в последовательности целых чисел таких, которые встречаются в ней ровно два раза. Набор программы, ее отладка и тестирование.

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

ЛАБОРАТОРНАЯ РАБОТА

по дисциплине “Основы программирования”

на тему

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


Цель работы: получение навыков работы с множествами.

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

1. Изучить способы описания и использования множеств.

2. Разработать алгоритм и составить программу для решения задачи соответствующего варианта.

Задание к работе:

1. Найти в последовательности целых чисел такие, которые встречаются в ней ровно два раза.

2. Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.

3. Подобрать наборы тестовых данных.


Ход выполнения работы

Блок-схема:


Рисунок 1. Блок-схема программы.



-


+


Рисунок 2. Блок-схема элемента Code программы.



-

+

-


+

c:=c+[a[y]]

Рисунок 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.

Похожие работы

  • Множества

    Понятие множества в Паскале очень близко к математическому определению: множество - это совокупность однотипных неиндексированных объектов.

  • Программирование на Турбо Паскале

    Правила описания множественных типов данных, приемов использования множеств и операций над множествами в Паскаль-программах. Разработка в Турбо Паскале программы вывода всех согласных букв, которые входят хотя бы в одно слово заданного предложения.

  • Лабораторная работа №11

    Цель работы: Изучение правил и получение навыков составления программ с использованием сложных типов данных массивов. Задание№ 17 . Из символов произвольного предложения сформировать массив целых чисел, соответствующих порядковому номеру литер в коде ASCII. Определить максимальный элемент этого порядка.

  • Программа на языке Паскаль, реализующая операции над множествами

    Объединение, пересечение, разность, симметричная разность и декартовое произведение множеств. Реализация на одном из языков программирования программы, способной выполнять операции над множествами. Список основных идентификаторов переменных и процедур.

  • Введение в программирование

    Сущность отладки, условия ее выполнения. Ошибки при компиляции программы, создание и изменение исходных символьных файлов. Процесс преобразования кода в машинный. Первый программист, виды трансляторов, классификация и уровни языков программирования.

  • Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ

    Составление алгоритма и программы для факторизации целого числа N с помощью ро-метода Полларда. Краткое описание данного метода: составление последовательности, вычисление разности и наибольшего общего делителя. Алгоритм работы и листинг программы.

  • ЛИСП-реализация основных способов вычисления гамма-функции

    Изучение представления, основных способов расчета для целых положительных, простых чисел и ряда точек, и вычисления путем аппроксимации логарифма гамма-функции. Предоставление функциональных моделей, блок-схем и программной реализации решения задачи.

  • Алгоритмы и блок-схемы

    Понятие алгоритма, его назначение, представление (изобразительные средства для описания), типы, способы записи, схемы. Основные принципы разработки алгоритмов и программ. Характеристика языков программирования. Средства и правила построения блок-схем.

  • Алгоритмические языки: обработка одномерных массивов

    Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.

  • Алгоритмические языки: использование процедур при работе с двумерными массивами

    Особенности работы с процедурами и двумерными массивами, последовательность вызова процедур. Способы описания и использования многомерных массивов, назначение процедур, их описание и обращение к ним. Набор программы, ее отладка и тестирование данных.