Структуры и алгоритмы обработки данных

Изучение применяемых в программировании и информатике структур данных, их спецификации и реализации, алгоритмов обработки данных и анализ этих алгоритмов. Программа определения среднего значения для увеличивающегося количества чисел заданного типа.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 19.03.2015
Размер файла 16,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Филиал Федерального государственного бюджетного образовательного учреждения

высшего профессионального образования

«Южно-Уральский государственный университет»

(Национальный исследовательский университет)

в г. Озерске

Кафедра «Информатика»

Контрольная работа

по дисциплине Структуры и алгоритмы обработки данных

Руководитель

Ивановская М.Н.

Автор работы,

студенты групп 125,135-ОзЗ

Карлов А.А.

Наймушин Е.В.

Озерск 2011

Содержание

Введение

Задание №1

Задание №2

Задание №3

Приложение

Введение

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

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

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

Задание №1

Составить программу определения среднего значения для увеличивающегося количества чисел заданного типа.

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

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

Каждое рассчитанное среднее значение должно выводиться на экран. Кроме среднего можно выводить общее количество чисел, по которым рассчитывается среднее. Проверить правильность расчета среднего значения любым способом.

Решение

В нашем варианте для выполнения первого задания используем одномерный массив типа float и статичный одномерный массив. В начале нашей программы запускаем цикл, запрашиваем у пользователя действительные числа и вносим их в массив `stat' (который изначально ограничен до 200). После каждого ввода элемента в массив, расчет среднего для ряда чисел с учетом вновь введенных значений выполняется на основе ранее полученного среднего значения. sr:=(sr+stat[i])/2; где 'sr' - среднее значение, `stat[i]'- новый введенный элемент массива. Количество элементов в массиве также отображается на экране и записывается в переменную `all'.

Для остановки занесения данных пользователю надо нажать 0 на клавиатуре. данные алгоритм программирование структура

На экране появляется сообщение производить проверку или нет, значение записывается в переменную `prov', если пользователь нажимает `y' то выполняем проверку, если нет переходим к упорядочиванию массива. Для проверки среднего значения, находим сумму всех элементов и делим на их количество sum:=sum+stat[i]; sum:=sum/all; где `sum'- сумма элементов массива `stat'. Выводим среднее значение на экран.

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

Задание №2

Составить программу определения максимального значения для увеличивающегося количества чисел заданного типа.

Решение

Определение максимального значения для увеличивающегося количества чисел заданного типа реализовано в той же программе. Смысл заключается в постоянной перезаписи переменной `maxi', если выполняется условие, когда каждый новый введенный элемент массива `stat[i]' больше переменной `maxi'. Вывод максимального значения на экран происходит после остановки цикла нажатием клавиши 0 и перехода на метку `G'.

Задание №3

Предложить метод упорядочения набора чисел по возрастанию (или убыванию). Составить программу, реализующую предложенный метод и проверить правильность её работы. В тексте программы должны быть поясняющие комментарии.

Решение

Программа упорядочения набора чисел запускается после остановки цикла задания 1 и перехода на метку `G'.

Запрашиваем у пользователя способ упорядочивания элементов массива `stat', если 1 то по убыванию, если 2 по возрастанию. Вид упорядочивания заносится в переменную `vd'. После выбора переходим к циклу упорядочивания. Смысл упорядочивания заключается в запуске цикла (for i:=0 to all) в котором заключен второй цикл (for i2:=0 to all), если элемент массива `stat[i]' больше элемента массива `stat[i2]' то меняем их местами в массиве, через временные переменные `a' и `b'.

После обработки цикла выводим на экран элементы массива через пробел, в зависимости от вида упорядочивания (переменная `vd').

Выводим максимальное значение(первый элемент массива) и минимальное значение (последний элемент массива).

Приложение

program rasdva;

uses

crt;

const max=200;

var

stat:array[0..max] of real;

sr,sum,a,b,maxi:real;

i,i2,all,vd:integer;

prov:string;

label g;

begin

textbackground(blue);

textcolor(white);

clrscr;

writeln('Программа вычисления среднего значения для увеличивающегося колличества чисел типа Float');

Writeln('Для прекращения ввода чисел нажмите 0');

WriteLn;

for i:=0 to max do begin

write('Введите любое действительное число:');

readln(stat[i]);

if stat[i]>maxi then maxi:=stat[i];

all:=i;

if stat[i]=0 then goto g;

if sr<>0 then begin sr:=(sr+stat[i])/2;

writeln('Среднее значение:',sr:0:3,', всего чисел в массиве:',i+1); end else sr:=stat[i];

end;

g:

Writeln;

Writeln('Максимальное введенное число = ',maxi:0:2);

writeln;

write('Чтобы провести проверку нажмите у/n:');

writeln;

readln(prov);

if prov='y' then begin for i:=0 to all do

sum:=sum+stat[i];

sum:=sum/all;

writeln('Среднее число равно ',sum:0:2,' и оно отличается от расчета среднего для ряда чисел с учетом вновь введенных значений,из за выполнения вычислений на основе ранее полученных средних значений');

all:=all-1;

Writeln;

Writeln('...программа завершена');

readln;

exit;

end

else

Write('Вывести элементы массива по убыванию(1) или возрастанию(2):');

readln(vd);

if stat[0]=0 then exit;

for i:=0 to all do

for i2:=0 to all do

if stat[i]>stat[i2] then begin

a:=stat[i]; b:=stat[i2]; stat[i]:=b; stat[i2]:=a; end;

if vd=1 then for i:=0 to all do write(stat[i]:0:2,' ')

else begin for i:=0 to all do write(stat[all-i]:0:2,' ') end;

writeln;

Writeln('Максимальное число: ',stat[0]:0:2);

Writeln('Минимальное число: ',stat[all]:0:2);

Writeln;

Writeln('...программа завершена');

readln;

exit;

end.

Размещено на Allbest.ru


Подобные документы

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

    контрольная работа [19,6 K], добавлен 11.12.2011

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

    курсовая работа [29,2 K], добавлен 09.02.2011

  • Решение задачи средствами прикладных программ. Разработка алгоритмов и структур данных. Реализация задачи определения статистических данных по успеваемости на факультете на языке программирования C#. Программа перевода чисел в различные системы счисления.

    курсовая работа [519,9 K], добавлен 03.01.2015

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

    курсовая работа [37,0 K], добавлен 07.12.2010

  • Общая характеристика организации массива в виде двоичного дерева. Особенности линейного и двоичного поиска заданного элемента массива. Методика упорядочения массива методом сортировки деревом. Инструкции и текст программы для нечисленной обработки данных.

    курсовая работа [242,3 K], добавлен 12.11.2010

  • Разработка вычислительной структуры, реализующей заданный набор операций для обработки запросов в реляционной базе данных (БД). Описание общей структуры системы с машиной баз данных. Разработка схем исполнительных процессоров и алгоритмов их операций.

    реферат [140,3 K], добавлен 27.10.2010

  • Линейный односвязный список (ЛОС) из введенных данных с клавиатуры с заданным указателем sag, работающий с типом данных Integer. Вывод информационных сообщений. Подсчет количества идентичных по содержанию элементов. Ввод данных в диалоговом режиме.

    лабораторная работа [36,3 K], добавлен 03.03.2009

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

    контрольная работа [316,8 K], добавлен 28.08.2012

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

    лабораторная работа [485,9 K], добавлен 22.10.2013

  • Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.

    дипломная работа [3,9 M], добавлен 06.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.