Решение математических задач с помощью структурного программирования

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

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

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

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

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

Алматинский университет энергетики и связи

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИИ

РГР №1

Решение математических задач с помощью структурного программирования

Выполнил: ст. гр. БВТ 12-2

Байкадыр Ж.Б

Проверил: Бимурзаев С.Б.

Алматы, 2013

Введение

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

Идеи структурного программирования появились в начале 70-годов в компании IBM, в их разработке участвовали известные ученые Э. Дейкстра, Х. Милс, Э. Кнут, С. Хоор.

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

Основная часть

Задания:

1) (Теория) Назвать арифметические операции, чему равно значение выражении:

а) 11/3?

б) 11%3?

в) 11/3.0?

2) Написать программу для расчета по двум формулам. Ввести с клавиатуры значение угла в градусах. Необходимо включить к программе заголовочный файл <cmath>.

3) Написать программу для вычисления синуса.

Ответы:

1) Назвать арифметические операции, чему равно значение выражении:

а) 11/3 - целочисленное деление, ответ: 11/3=3

б) 11%3 - остаток от целочисленного деления, ответ 11%3=2

в) 11/3.0 - вещественное деление, ответ: 11/3.0=3,66667

Для проверки была написана простая программа:

#include "stdafx. h"

#include <iostream>

using namespace std;

int main ()

{

int a=11, b=3;

int c=11, d=3;

double e=11, f=3.0;

cout<<a/b<<endl;

cout<<c%d<<endl;

cout<<e/f<<endl;

cin>>a;

return 0;

}

Вывод программы:

2) Написать программу для расчета по двум формулам. Ввести с клавиатуры значение угла в градусах.

Текст программы:

#include "stdafx. h"

#include <iostream>

#include <cmath>

using namespace std;

int main ()

{

double Z1, Z2, sqrsin,a; // объявление переменных

const double Pi=3.1415926535898;

cin>>a;

a= (a/180) *Pi; // выражение для вычисления синуса в градусах

sqrsin= (2*sin (2. *a)) * (2*sin (2*a));

Z1= (sin (2. *a) +sin (5*a) - sin (3*a)) / (cos (a) +1-sqrsin);

Z2=2. *sin (a);

cout<<Z1<<endl<<Z2<<endl;

cin>>a; // задержка экрана

return 0;

}

Вывод программы:

3) Написать программу для вычисления синуса.

Текст программы:

#include "stdafx. h"

#include <iostream>

#include <cmath>

using namespace std;

// Граница ряда:

const int N=100;

int main () {

// Аргумент функции и "рабочие" переменные:

double x,q,s=0,s1;

// Индексная переменная:

int n;

cout << "Enter x = ";

cin >> x;

q=x;

// Вычисление синуса:

for (n=1; n<=N; n++) {

s+=q;

q*= (-1) *x*x/ (2*n) / (2*n+1); }

// Результат:

cout << "sin ("<< x <<") = "<< s << endl;

// Проверка правильности вычисления

s1 = sin (x);

cout << "s1= " << s1<< endl;

cin >> x;

return 0;

}

Вывод программы:

Заключение

Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

последовательное исполнение - однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

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

цикл - многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

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

Разработка программы ведётся пошагово, методом "сверху вниз".

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

структурное программирование программа алгоритм

Список литературы

1. Лабороторные работы / Бимурзаев С.Б.

2. Программирование на языке высокого уровня / Т.А. Павловская.

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


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

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

    реферат [40,0 K], добавлен 01.04.2010

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

    презентация [1,8 M], добавлен 05.11.2016

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

    курсовая работа [1,3 M], добавлен 03.03.2015

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

    учебное пособие [1,3 M], добавлен 24.06.2009

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

    дипломная работа [645,3 K], добавлен 21.11.2010

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

    курсовая работа [1,3 M], добавлен 05.12.2020

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

    курсовая работа [2,2 M], добавлен 20.09.2014

  • Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).

    презентация [41,4 K], добавлен 13.10.2013

  • Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм.

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

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

    реферат [276,9 K], добавлен 27.02.2008

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