Разработка программы с помощью языка программирования Pascal ABC

Анализ незаполненного шаблона вывода результатов решения задачи. Знакомство с разработкой программы с помощью языка программирования Pascal ABC. Общая характеристика структурной схемы алгоритма в виде блок-схемы. Этапы расчета элементов матрицы.

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

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

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

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

1.Содержательная постановка задачи

Задание №1.1. Расчет матрицы изгибающих моментов.

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

Рис.1 Равноотстоящие нагрузки на стержневом элементе

Вариант 15. Со сканирующей нагрузкой, т.е. изменение вектора нагрузки обусловлено перемещением нагрузки Рск последовательно с сечения с номером 1 по сечение номер К.

Исходные данные.

Длина балки L=3,66м;

Количество сечений К=4;

Величина нагрузки в сечениях Р1=1,2; Р2=6,4; Р3= -5,8; Р4= -0,6;

Величина сканирующей нагрузки Рск= -1,6.

2.Математическая модель задачи

Рассмотрим балку длиной L, на которую в К равноотстоящих сечениях воздействуют нагрузки (рис.1).

Представим нагрузку на балку в виде вектора . Каждый элемент вектора-столбца равен значению нагрузки, воздействующей на балку в сечении с номером, соответствующем индексу строки вектора:

Знак значении элемента вектора в соответствующем сечении определяется направлением его воздействия на балку: знак «+» при воздействии элемента на балку и знак «-» при направлении воздействия от балки.

Известно, что матрица изгибающих моментов равна произведению матрицы влияния изгибающих моментов размерности [K*K] на вектор нагрузок размерности [K]:

= * .

Элемент матрицы влияния изгибающих моментов S(i,j) равен изгибающему моменту в i-м сечении при единичной нагрузке в сечении j, т.е. при условии Pj=1. Таким образом, элементы строки матрицы представляют значения изгибающих моментов в сечениях, соответствующих индексу строки от воздействия единичной силы, расположенной в сечении с номером столбца. Строка матрицы влияния образует собой линию влияния с номером этой строки. Матрица влияния представляет собой произведение некоторой матрицы на константу:

Матрица имеет размерность матрицы , а её элементы определяются по формуле:

A[i,j]=(K - i + 1)*j (при i ? j).

Матрица симметрична, т.е. A[i,j]=A[j,i].

Следовательно, чтобы рассчитать матрицу изгибающих моментов, необходимо:

1. Определить количество сечений К.

2. Найти элементы матрицы из условия

A[i,j]=(K - i + 1)*j (при i ? j) и условия симметрии.

3. Найти элементы матрицы влияния по формуле:

,

Для удобства расчетов введем коэффициент

4. Определить элементы вектора при условии воздействия Рск на сечение с номером i:

P[i]=P0[i]+Pск,

P[j]=P0[j], при j ? i

Для i от 1 до К получаем К векторов.

5. Рассчитать элементы матрицы как произведение

= *

для рассчитанных векторов .

Результатом произведения матрицы размерности К на вектор-столбец размерности К будет также вектор-столбец размерности К, i-тый элемент которого равен сумме произведений элементов i-той строки матрицына соответствующий им элемент вектора-столбца , т.е.:

.

Учитывая, что вектор будет изменяться К раз, получим К векторов-столбцов результатов расчета. Иными словами, получим матрицу изгибающих моментов размерности [K*K], каждый i-ый столбец которой равен изгибающим моментам в сечениях при воздействии сканирующей нагрузки на i-ое сечение.

язык программирование pascal

Таблица. Спецификация

Ис. обоз. в зад.

Значение

Тип

Идентиф.

Вид

Формат

Размер.

Назначение

L

3,66

Действительный

L

Простая

Длина балки

Pск

-1,6

Действительный

Pck

Простая

Сканирующая нагрузка

K

4

Целый

K

Простая

Количество сечений

P1,P2,P3,P4

1,2; 6,4; -5,8; -0,6

Действительный

P0

Массив одномерный

[1..K]

Нагрузка в сечениях

A[i,j]=(K-i+1)*j (при i ? j)

Действительный

А

Массив двумерный

[1..K,1..K]

Для расчета мат. влияния

Действительный

b

Простая

Для удобства расчетов

Действительный

S

Массив двумерный

[1..K,1..К]

Матрица влияния

P[j]=P0[j]+Pск,

при j=i; P[j]=P0[j], при j ? i

Действительный

P

Массив одномерный

[1..K]

Нагрузка при сканирующей нагрузке в i-m сечении

= *

Действительный

M

Массив двумерный

[1..K,1..К]

Матрица изгиб. моментов

i,j

Вспомогат. переменные

Структурная схема алгоритма в виде блок-схемы

Схема

Схема

3.Программа на языке Паскаль

Для работы использовалась программа Pascal ABC. Файл программы Moment.pas прилагается.

Program moment;

const k=4;

L=3.66;

Pck=-1.6;

var i,j:integer;

b:real;

P0: array [1..k] of real;

P: array [1..k] of real;

A: array [1..k,1..k] of real;

S: array [1..k,1..k] of real;

M: array [1..k,1..k] of real;

begin

{ввод значений вектора нагрузок Р}

for i:=1 to k do

begin

write('введите значение нагрузки Р',i,' =');

readln(P0[i]);

end;

{расчет элементов матрицы А}

for i:=1 to k do

for j:=1 to k do

if i<=j then A[i,j]:=(k-i+1)*j else A[i,j]:=A[j,i];

{расчет коэффициента для матрицы S}

b:=L/((k+1)*(k+1));

{расчет элементов матрицы S}

for i:=1 to k do

for j:=1 to k do

S[i,j]:=b*A[i,j];

{расчет элементов матрицы М}

for i:=1 to k do

for j:=1 to k do

begin

{расчет элементов вектора Р при воздействии Рск на сечение с номером

if i=j then P[j]:=P0[j]+Pck else P[j]:=P0[j];

{расчет элементов матрицы М при воздействии Рск на сечение с номером i}

M[i,j]:=M[i,j]+S[i,j]*P[j];

end;

{вывод результатов}

writeln ('Матрица изгибающих моментов равна');

for i:=1 to k do

begin

for j:=1 to k do

write ('M[',i,',',j,']=',M[i,j]:8:2,' ');

writeln();

end;

end.

4.Интерфейс (шаблон ввода) исходных данных

Длина балки L=3.66, количество сечений k=4 и величина сканирующей нагрузки Pck=-1.6 введены в разделе определения констант. Для ввода данных нагрузки в сечениях Р1, Р2, Р3, Р4 введена переменная сложного типа - одномерный массив Р0. Для ввода значений массива организован цикл с параметром, внутри которого ввод с клавиатуры осуществляется при помощи оператора readln(). Для подсказки пользователю использовался оператор write().

{ввод значений вектора нагрузок Р}

for i:=1 to k do

begin

write('введите значение нагрузки Р',i,' =');

readln(P0[i]);

end;

Рис. 2 Процесс ввода данных с клавиатуры.

5.Незаполненный шаблон вывода результатов решения задачи

Для вывода (и расчета) результатов - матрицы изгибающих моментов, введена переменная сложного типа - двумерный массив М размерности [K*K].

Вывод матрицы начинается с заголовка «Матрица изгибающих моментов равна». Для чего использован оператор writeln().

Для вывода значений массива организован вложенный (двойной) цикл с параметром, внутри которого вывод на экран осуществляется при помощи оператора write(). Для перевода на следующую строку матрицы используется оператор writeln().

Вывод каждого элемента матрицы производится в формате 8:2, т.е. всего знаков в выводимом числе 8, дробная часть ограничена двумя знаками.

Шаблон вывода результатов:

Рис. Матрица изгибающих моментов равна

Программная реализация:

{вывод результатов}

writeln ('Матрица изгибающих моментов равна');

for i:=1 to k do

begin

for j:=1 to k do

write ('M[',i,',',j,']=',M[i,j]:8:2,' ');

writeln();

end;

Результат выполнения программы:

Рис.3 Результат выполнения программы.

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

...

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

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

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

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

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

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

  • Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.

    лабораторная работа [123,5 K], добавлен 15.01.2014

  • История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.

    курсовая работа [102,7 K], добавлен 23.12.2011

  • Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.

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

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

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

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

  • Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.

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

  • Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.

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

  • Разработка программы в среде программирования Borland Pascal, которая является электронным тестирующим пособием в области химии для 8-10 классов. Написание алгоритма решения задачи, определение необходимых функций, процедур, модулей, файловых переменных.

    контрольная работа [389,3 K], добавлен 19.09.2010

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

    контрольная работа [55,3 K], добавлен 31.07.2013

  • Преобразование матрицы системы линейных алгебраических уравнений (СЛАУ) с помощью алгоритма Гаусса. Решение задачи методом простой итерации. Создание блок-схемы и текста программы для решения СЛАУ, реализованной на языке программирования Turbo Pascal.

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

  • История появления и распространения Turbo Pascal - среды разработки для языка программирования Паскаль. Общий вид объявления файлового типа. Входная, выходная и промежуточная информация. Алгоритм решения задачи: словесный алгоритм, блок-схема, программа.

    курсовая работа [359,4 K], добавлен 05.01.2010

  • Понятие алгоритма, его свойства и способы описания. Схемы алгоритмических конструкций: линейная, разветвляющаяся, циклическая. Особенности и применение электронных таблиц Excel. Задачи, решаемые с помощью системы Mathcad. История создания языка Pascal.

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

  • Характеристика используемой операционной системы, языка программирования. Структура программы на языке Turbo Pascal 7.1. Операторы языка Turbo Pascal. Проведение сортировки записей. Алгоритмы программы и подпрограмм. Причины возникновения ошибок.

    курсовая работа [454,1 K], добавлен 13.06.2014

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

    курсовая работа [241,7 K], добавлен 11.12.2009

  • Составление программы на алгоритмическом языке Turbo Pascal. Разработка блок-схемы алгоритма её решения. Составление исходной Pascal-программы и реализация вычислений по составленной программе. Применение методов Рунге-Кутта и Рунге-Кутта-Мерсона.

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

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

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

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