Алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal

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

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

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

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

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

Введение

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

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

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

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

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

переменная оператор цикл массив

Задание №1

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

Вычислить

1.2 Анализ задачи

Задача соответствует линейному типу структуры, т.к. действия в ней выполняются последовательно. Есть оператор присваивания, составной оператор (begin…end),оператор ввода (read) и вывода (writeln).

1.3 Анализ данных

Пользователь сам вводит входные данные -переменную х с клавиатуры. Все переменные (k,x,b,k1,k2) - вещественного типа real, т.к. они могут принимать любые значения. Pi - постоянная, которая равна 3.14 и описана в разделе описания констант.

K1, k2 - промежуточные переменные. k1=(bx)2 . k2=|k1+р|. В переменной k значение переменной k2 возводится в степень. K - результат вычислений, который выводится на экран.

1.4 Решение задачи

1.5 Скриншот программы

Задание №2

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

Вычислить , где x меняется от xн до xк с шагом x.

2.2 Анализ задачи

Задача на программирование разветвлений и циклов. Требуется найти значение Z, которое считается по разным формулам в зависимости от соотношения c и d. При этом х меняется от начального до конечного значения с шагом x. Используется условный оператор; в зависимости от того, какое условие является истинным, осуществляется переход к одной из ветвей алгоритма. В этих ветвях выполняются линейные вычисления. В зависимости от соотношения переменных c и d, значение Z вычисляется по разным формулам. После ввода переменных считаем, что х=xn. Указываем предусловие цикла x<=xk. Пока условие истинно, сравниваем c и d b считаем значение Z. После этого х увеличивается на шаг dx и цикл снова выполняется с другим значением х. Цикл выполняется, пока х не станет больше xk. Если начальное и конечное значения совпадают (то есть не будет выполняться изменение шага), то программа считает единственное значение переменной Z при x=xn.

2.3 Анализ данных

Переменные Xn,Xk,dX,d,c,a,b вводятся вручную с клавиатуры. Есть раздел описания переменных (Xn,Xk,dX,d,x,c,a,b,z вещественного типа, потому что могут принимать любые значения), раздел описания констант (pi=3.14). Z - результат, который после вычисления выводится на экран.

2.4 Решение задачи

program zadanie2;

const pi=3.14;

Var

Xn,Xk,dX,d,x,c,a,b,z:real;

Begin

writeln('Введи xn,xk,dx'); read(xn,xk,dx);

writeln('Введи d'); read(d);

writeln('Введи c'); read(c);

writeln('Введи a');read(a);

writeln('Введи b'); read(b);

x:=xn;

while x<=xk do

begin

if c>d then z:=d*x*sin(c);

if c=d then z:=1.75*ln(a)/(ln(b)/ln(10))

else z:=cos(sqr(a*b));

writeln('при x=',x:6:3,' ','Z=',z:6:3);

x:=x+dx;

end;

End.

2.5 Скриншот программы

Задание №3

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

В двумерном массиве A из m строк и n столбцов найти сумму всех элементов и заменить на нули элементы на главной диагонали.

3.2 Анализ задачи

Задача с использованием двумерного массива,. В моей задаче A - двумерный массив, который может содержать от 1 до 15 элементов вещественного типа. У матрицы может быть главная диагональ - это ряд элементов массива, у которых равны индексы i=j. При наличии такой диагонали матрица называется квадратной. Если матрица не квадратная, то есть количество строк не равно количеству столбцов, то на экран выводится сообщение "У матрицы нет главной диагонали, т.к. она не квадратная".

Используется оператор цикла с параметром (for…).

При суммировании сначала переменную s нужно обнулить, чтобы не изменилось ее истинное значение.

3.3 Анализ данных

Ввод количества строк (m), столбцов (n) и значения элементов массива (a[i,j]) осуществляется с клавиатуры пользователем.

Индексы строк (i), столбцов (j), количество строк (m) и столбцов (n) должны быть целыми числами, поэтому используется тип integer.

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

3.4 Решение задачи

Program zadanie3;

Var A: array [1..15,1..15] of real;

s: real; i, j, m, n: integer;

Begin

writeln('Введите количество строк m'); read(m);

writeln('Введите количество столбцов n'); read(n);

for i:=1 to m do for j:=1 to n do

begin

write('Введи а[',i,',',j,']='); readln(a[i,j]);

end;

s:=0;

begin

for i:=1 to m do for j:=1 to n do

s:=s+A[i,j];

writeln('Сумма всех элементов=',s:10:3);

end;

if m<>n then writeln ('У матрицы нет главной диагонали') else

begin

for i:=1 to m do for j:=1 to n do

if i=j then a[i,j]:=0;

writeln('Массив A');

for i:=1 to m do

begin

for j:=1 to n do

write(A[i,j]:10:3); writeln;

end;

end;

End.

3.5 Скриншот программы

Заключение

В своей работе я представил алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal. Блок-схемы выполнены, опираясь на соответствующие ГОСТы. Программы отлажены, могут решать типовые задачи с разными данными, задающимися пользователем, дают верный и точный конечный результат.

Использованные источники

1) А.В. Могилев "Информатика"

2) ГОСТ 19.701-90. "Схемы алгоритмов, программ, данных и систем"; ГОСТ 19.003-80. "Схемы алгоритмов и программ. Обозначения условные графические"

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


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

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

    контрольная работа [819,0 K], добавлен 12.03.2014

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

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

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

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

  • Структура программы Pascal и алгоритмы решения задач. Работа с циклическими операторами, массивами, процедурами. Составление блок-схем задач. Операции над матрицами в программе MathCad. Работа формулами, графиками и диаграммами в оболочке MS Excel.

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

  • Ознакомление с разнообразными надстройками, входящими в состав Microsoft Excel; особенности их использования. Примеры решения задач линейного программирования с помощью вспомогательных программ "Подбор параметра", "Поиск решения" и "Анализ данных".

    реферат [2,5 M], добавлен 25.04.2013

  • Графоаналитический метод решения задач. Получение задачи линейного программирования в основном виде. Вычисление градиента и поиск экстремумов методом множителей Лагранжа. Параболоид вращения функции. Поиск решения на основе условий Куна-Таккера.

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

  • Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.

    лабораторная работа [474,2 K], добавлен 23.11.2014

  • Выполнение арифметических операций, этапы решения задач с помощью ЭВМ - постановка задачи, составление алгоритма решения, программная реализация алгоритма в среде Qbasic. Решение систем линейных уравнений по формулам Крамера. Графический режим Qbasic.

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

  • Использование информационных технологий для решения транспортных задач. Составление программ и решение задачи средствами Pascal10; алгоритм решения. Работа со средствами пакета Microsoft Excel18 и MathCad. Таблица исходных данных, построение диаграммы.

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

  • История развития языка программирования Pascal, его основные концепции. Вычисления в математических задачах. Изменение порядка выполнения инструкций программы. Выполнение оператора цикла. Логические выражения, линейные алгоритмы, условные операторы.

    методичка [847,6 K], добавлен 10.01.2013

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