Файл: Алгоритмизация как обязательный этап разработки программы (Устройство современных компьютеров).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 12.03.2024

Просмотров: 26

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • табулирование функции на отрезке с шагом 0.5;
  • формирование трех квадратных матриц случайного размера из случайных чисел.

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

В поставленной задаче можно выделить следующие подзадачи:

  • оформление меню;
  • вычисление значения функции;
  • вывод сформированной матрицы на экран.

Функциональная схема программы, разделенной на такие блоки, представлена на рисунке 20.

Рисунок 20 - Функциональная схема программы

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

Блок – схемы алгоритмов основной программы и подпрограмм представлены на рисунке 21.

Рисунок 21 – Блок-схема алгоритма решения задачи

При составлении алгоритма задачи получена схема, на основании которой разработан программный код, содержащий все спланированные подпрограммы. Программный код (язык программирования PascalABC) представлен в Приложении A.

Результаты тестирования программы представлены на рисунках 22 – 23.

Рисунок 22 – Тестирование программы (табулирование функций)

Тестирование показывает, что программа корректно решает одну из поставленных задач – задачу табулирования функции.

Рисунок 23 - Тестирование программы (формирование матриц)

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

Реализация функции выхода из программы представлена на рисунке 24.

Рисунок 24 - Выход из программы

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


ЗАКЛЮЧЕНИЕ

Курсовая работа по технологии программирования на тему «Алгоритмизация как обязательный этап разработки программы» освещает теоретические основы разработки программного обеспечения, наиболее подробно представляя понятие алгоритма, и предлагает практический пример создания алгоритма решения задачи и его реализацию на языке программирования PascalABC.

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

К настоящему времени сложились и продолжают развиваться определенные модели жизненного цикла информационных систем и соответствующие технологии развития программного обеспечения.

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

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

Алгоритмизация позволяет разработать наиболее оптимальную программу с прозрачной логикой работы.

СПИСОК ЛИТЕРАТУРЫ

  1. Антонов Т.Е. Введение в язык Паскаль. – М.:Наука, 2015. - 320 c.
  2. Гецци, Карло Основы инженерии программного обеспечения. - СПб.: БХВ-Петербург, 2015. - 832 c.
  3. Голубь Н.Г., Кириленко Е.Г. Алгоритмические языки и программирование: Методические рекомендации по выполнению контрольных и лабораторных работ, часть 1. – Харьков:ХАИ, 2017. – 31 с.
  4. Губич, Л. В. Внедрение на промышленных предприятиях информационных технологий поддержки жизненного цикла продукции. - Минск.: Белорусская наука, 2013. - 190 c.
  5. Дедков А.Ф. Абстрактные типы данных в языке Паскаль. - М.: Наука, 2016. - 200 c.
  6. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. - М.:  Попурри, 2014.- 143 с.
  7. Епанешников А.М.; Епанешников, В.А. Программирование в среде Turbo Pascal 7.0. - М.: ДИАЛОГ-МИФИ, 2015. – 367 c.
  8. Есаян А.Р. Информатика. - М.: Просвещение, 2015. - 288 c.
  9. Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М.:Наука, 2016.- 207 с.
  10. Инженерная логистика. Логистически-ориентированное управление жизненным циклом продукции. - М.: Горячая линия - Телеком, 2014. - 644 c.
  11. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на компьютере. М.: Наука, 2016.-200 с.
  12. Коберн А. Быстрая разработка программного обеспечения. - М.: ЛОРИ, 2013. - 336 c.
  13. Культин Н.Б. Turbo Pascal в задачах и примерах. – СПб.: БХВ, 2014. – 256 c.
  14. Онокой Л.С. Компьютерные технологии в науке и образовании: Учебное пособие. - М.: ИД ФОРУМ, ИНФРА-М, 2014. - 224 c.
  15. Прайс Д. Программирование на языке Паскаль: Практическое руководство. - М.: Наука, 2016. – 209 с.
  16. Семашко, Г.Л.; Салтыков, А.И. Программирование на языке Паскаль. - М.: Наука, 2015. - 128 c.

ПРИЛОЖЕНИЕ A. ПРОГРАММНЫЙ КОД

program Primer;

type

matrica=array[1..20, 1..20] of integer;

var

n, k:integer;

x: real;

a:matrica;

// процедура вывода матрицы на печать

Procedure print(a:matrica; l:integer);

var i, j:integer;

begin

for i :=1 to l do

begin

for j:=1 to l do

begin

write (a[i,j]:5);

end;

writeln;

end;

end;

//функция вычисления куба

Function f(x:real):real;

begin

f:=x*x*x;

end;

//процедура меню

Procedure Menu();

var i,j,t :integer;

begin

writeln (' Выберите нужную функцию:');

writeln;

writeln(' 1 - Табулирование функции');

writeln(' 2 - Формирование матрицы');

writeln(' 3 - Выход из программы');

write(' Введите число от 1 до 3. N = ');

readln (n);

case n of

// табулирование функции

1:

begin

writeln (' Табулирование функции');

writeln('=========================');

writeln (' x y ');

writeln('-------------');

x:=0;

while (x<=10) do

begin

writeln (x:4:2,f(x):10:2);

x:=x+0.5;

end;

writeln (' Нажмите любую клавишу для перехода в главное меню');

readln;

Menu();

end;

// формирование квадратной матрицы

2:

begin

writeln (' Формирование матрицы');

writeln('=========================');

randomize;

for t:=1 to 3 do

begin

k:=random(8)+3;

for i :=1 to k do

for j:=1 to k do

a[i,j]:=random(50)+10;

print(a, k);

writeln; writeln;

end;

writeln (' Нажмите любую клавишу для перехода в главное меню');

readln;

Menu();

end;

// выход из программы

3:

begin

writeln (' Выход');

writeln (' Нажмите любую клавишу для выхода из программы');

readln;

halt;

end;

else

begin

writeln (' Такого пункта нет в меню');

writeln (' Нажмите любую клавишу для перехода в главное меню');

readln;

Menu();

end;

end;

end;

//Основная программа

begin

Menu();

end.