Алгоритмизация и программирование на языке Pascal

Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.

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

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

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

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

Министерство образования Республики Беларусь

УО "Полоцкий государственный университет"

Радиотехнический факультет

Курсовая работа

по дисциплине "Информатика"

Выполнил

студент группы 10ЭС-1

Цыганков К.Д.

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

преподаватель Деканова М.В.

Новополоцк 2011

Содержание

Введение

1. Решение задачи №1

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

1.2 Математическая формулировка задачи

1.3 Форма представления исходных данных

1.4 Разработка алгоритма и его описание

1.5 Описание программы

1.5.1 Структура

1.5.2 Описание переменных

1.6 Инструкция по эксплуатации программы

1.7 Результаты проведенных расчетов и их анализ

1.8 Исходный код программы

2. Решение задачи №2

2.1 Постановка задачи и выбор метода обработки информации

2.2 Математическая постановка задачи

2.3 Форма представления исходных данных

2.4 Разработка алгоритма и его описание

2.5 Описание программы

2.5.1 Структура

2.5.2 Описание переменных

2.6 Инструкция по эксплуатации программы

2.7 Результаты проведенных расчетов и их анализ

2.8 Исходный код программы

3. Решение задачи №3

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

3.2 Математическая постановка задачи и выбор метода обработки информации

3.3 Форма представления исходных данных

3.4 Разработка алгоритма и его описание

3.5 Описание программы

3.5.1 Структура

3.5.2 Описание подпрограмм

3.5.3 Описание переменных

3.6 Инструкция по эксплуатации программы

3.7 Результаты проведенных расчетов и их анализ

3.8 Исходный код программы

4. Решение задачи №4

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

4.2 Форма представления исходных данных

4.3 Разработка алгоритма и его описание

4.4 Описание программы

4.4.1 Структура

4.4.2 Описание переменных

4.5 Результаты проведенных расчетов и их анализ

4.6 Исходный код программы

5. Решение задачи №5

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

5.2 Математическая постановка задачи и выбор метода обработки информации

5.3 Форма представления исходных данных

5.4 Разработка алгоритма и его описание

5.5 Результаты проведенных расчетов и их анализ

5.6 Исходный код программы

Заключение и выводы

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

Введение

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

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

Язык Паскаль относится к процедурно-ориентированным языкам высокого уровня

Достоинства языка Паскаль:

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

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

3. гибкие возможности в отношении используемых структур данных;

4. высокая эффективность программ;

5. наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения.

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

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

Цели курсовой работы:

? разработка программ согласно заданию курсовой работы;

? систематизация и закрепление теоретических знаний и практических умений, полученных за время обучения дисциплины "Информатика".

1. Решение задачи №1

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

Написать программу для вычисления по указанной формуле. Проверить полученный ответ с помощью программы MathCAD.

1.2 Математическая формулировка задачи

Для решения данной задачи будет использована формула, приведённая ниже

y:=1.8+ln(abs(4-2/7-(sin(sin(5*x/3)/cos(sin(5*x/3))*(sin(5*x/3))))));

1.3 Форма представления исходных данных

При разработке программного продукта используются переменные вещественного типа (real): x, y

1.4 Разработка алгоритма и его описание

Программа работает по следующему алгоритму:

1 вводим X

2 переменная Y - решение данного уравнения

3 вводим данное уравнение

4 выводим результат

1.5 Описание программы

1.5.1 Структура

Название программы;

Раздел объявления переменных;

Основной блок программы.

1.5.2 Описание переменных

В процессе написания программы используются переменные

вещественного типа (real):

x - неизвестная в формуле, вводимая с клавиатуры;

y - решение уравнения

1.6 Инструкция по эксплуатации программы

При запуске программы под названием odin появляется запрос на введение значения х. После введения получаем значение выражения.

1.7 Результаты проведенных расчетов и их анализ

Введите X:

0.6

Полученное значение:

2.84403919098297

Результат проведенных расчетов верен

1.8 Исходный код программы

program odin;

var x,y: real;

begin

writeln('ВВЕДИТЕ Х');

readln(x);

y:=1.8+ln(abs(4-2/7-(sin(sin(5*x/3)/cos(sin(5*x/3))*(sin(5*x/3))))));

writeln(y);

end.

2. Решение задачи №2

2.1 Постановка задачи и выбор метода обработки информации

Вычислить сумму ряда с точностью =10-4

2.2 Математическая постановка задачи

Для решения данной задачи будем использовать формулу

Сумму необходимо вычислять до тех пор пока сумма ряда не станет меньше чем =10-4.

2.3 Форма представления исходных данных

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

Используются переменные целочисленного типа (integer): i и вещественного типа (real): e, sum, a, x

2.4 Разработка алгоритма и его описание

Пользователь вводит значение X с клавиатуры. После производятся вычисления до значения с точностью, равной 10-4. После нахождения результата сумма выводится на экран.

2.5 Описание программы

2.5.1 Структура

Название программы;

Раздел объявления переменных;

Основной блок программы.

2.5.2 Описание переменных

В процессе написания программы используются переменные целочисленного типа (integer): i вещественного типа (real): e, sum, a, x

2.6 Инструкция по эксплуатации программы

После запуска появится строка "Введите Х=". После необходимо ввести значение переменной Х. Далее производятся необходимые вычисления и выводится результат "Сумма=".

2.7 Результаты проведенных расчетов и их анализ

Для проведения тестирования выполним программу для некоторого значения Х.

Введем число 9. Сумма = 18;

В результате тестирования ошибок в работе программы не обнаружено.

2.8 Исходный код программы

program z126;

var i:integer;

e,sum,a,x:real;

function fact(n : integer) : longint;

begin

if n <= 1 then

fact := 1

else

fact := n * fact(n - 1)

end;

begin

writeln('Введите х= ');

read(x);

e:=0.0001;

sum:=0;

i:=1;

a:=0;

while abs(a)<=e do begin

a:=power(-1,i+1)*(power(x,2*i-1)*(2*i+x+1))/fact(2*i+1);

sum:=sum+a;

i:=i+1;

end;

writeln('сумма=', sum:6:10);

end.

3. Решение задачи №3

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

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

3.2 Математическая постановка задачи и выбор метода обработки информации

Для решения данной задачи необходимо найти максимальное число, встречающееся в данном массиве более одного раза.

3.3 Форма представления исходных данных

При разработке программы исходные данные представлены переменными целочисленного типа (Integer): i, j, z, x, c, n, max; двумерный массив a:array[1..q,1..w] of integer

3.4 Разработка алгоритма и его описание

1. Запускаем программу.

2. На экране дисплея задаётся массив.

3. С помощью операции сравнения элементов в двумерном массиве, выявить число.

3.5 Описание программы

3.5.1 Структура

Название программы;

Раздел объявления переменных;

3.5.2 Описание переменных

max - максимальное число, которое встречается в массиве более одного раза.

a:array[1..q,1..w] of integer - массив элементов

3.6 Инструкция по эксплуатации программы

При запуске программы под названием задание3-28 выводится двумерный массив и максимальное число, которое встречается в нём более одного раза.

3.7 Результаты проведенных расчетов и их анализ

Ввод массива:

19 18 18

0 7 3

12 19 7

5 9 9

19 18 2

Результат:

19

Результат проведенных расчетов верен.

3.8 Исходный код программы

const q=5;

w=3;

var a:array[1..q,1..w] of integer;

i,j,z,x,c,n,max:integer;

begin

for i:=1 to q do begin

for j:=1 to w do begin

a[i,j]:=random(20);

write(a[i,j],' ');

end;

writeln;

end;

max:=a[1,1];

n:=1;

for i:=1 to q do begin

for j:=1 to w do begin

if a[i,j]>max then begin

for z:=1 to q do begin

for x:=1 to w do begin

if (a[i,j]=a[z,x])and(z<>i)and(x<>j) then n:=n+1;

end;

end;

if n>c then begin c:=n; max:=a[i,j]; end;

n:=1;

end;

end;

end;

writeln(max);

end.

4. Решение задачи №4

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

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

4.2 Форма представления исходных данных

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

4.3 Разработка алгоритма и его описание

1. Вызываем процедуру сортировки;

2. Первый элемент записать "не раздумывая".

3. Пока не закончится последовательность вводимых данных, для каждого нового ее

элемента выполнять следующие действия:

- начав с конца уже существующей упорядоченной последовательности, все ее

элементы, которые больше, чем вновь вводимый элемент, сдвинуть на 1 шаг назад;

- записать новый элемент на освободившееся место.

4. Выводим на экран дисплея отсортированный массив.

4.4 Описание программы

4.4.1 Структура

Название программы;

Раздел объявления переменных;

Основной блок программы.

4.4.2 Описание переменных

a:array[1..q,1..w] of integer - массив элементов

s:array[1..q] of integer - массив для произведения нечетных

4.5 Результаты проведенных расчетов и их анализ

В ходе выполнения программы ошибок не обнаружено.

4.6 Исходный код программы

uses crt;

const q=5;

w=5;

var a:array[1..q,1..w] of integer;

s:array[1..q] of integer;

j,i:integer;

procedure PrVst(i:integer; var s:array[1..q] of integer);

var g,x:integer;

begin

for i:= 2 to w do

if s[i-1]>s[i] then

begin x:= s[i];

g:= i-1;

while (g>0)and(s[g]>x) do

begin s[g+1]:= s[g];

g:= g-1;

end;

s[g+1]:= x;

end;

end;

procedure swap(i,j:integer; var a:array[1..q,1..w] of integer);

var e,v:integer;

begin

for e:=1 to q do begin

v:=a[i,e];

a[i,e]:=a[j,e];

a[j,e]:=v;

end;

end;

begin

for i:=1 to q do begin

for j:=1 to w do begin

a[i,j]:=random(100);

write(a[i,j],' ');

end;

writeln;

end;

for i:=1 to q do begin

for j:=1 to w do s[j]:=a[i,j];

PrVst(i,s);

for j:=1 to w do begin a[i,j]:=s[j]; s[j]:=1; end;

end;

for i:=1 to q do begin

for j:=1 to w do

if j mod 2=1 then s[i]:=s[i]*a[i,j];

end;

for i:=1 to q do begin

for j:=1 to q do

if s[i]>s[j] then swap(i,j,a);

end;

writeln;

for i:=1 to q do begin

for j:=1 to w do write(a[i,j],' ');

writeln;

end;

end.

5. Решение задачи №5

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

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

5.2 Математическая постановка задачи и выбор метода обработки информации

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

5.3 Форма представления исходных данных

Текст вводится пользователем с клавиатуры.

5.4 Разработка алгоритма и его описание

1. Вводим с клавиатуры текст.

2. Каждое слово разделяем запятой.

3. Поиск слов, в которых больше двух гласных.

4. Выводим результат.

5.5 Результаты проведенных расчетов и их анализ

Протестируем программу, введя текст - рыбалка, футбол, информатика.

Полученный результат - рыбалка информатика.

Полученный результат сохраняется в файле output.txt

5.6 Исходный код программы

const gl=['у','е','ы','а','о','я','и','ю'];

rz=[',',' ','.'];

var f1:text;

s:array[1..100] of string;

a,d:string;

e,i,w,g:byte;

begin

assign(f1,'output.txt');

rewrite(f1);

readln(a);

e:=1;

for i:=1 to length(a) do begin

if not (a[i] in rz) then s[e]:=s[e]+a[i]

else e:=e+1;

end;

for i:=1 to e do begin

d:=s[i];

for w:=1 to length(s[i]) do

if d[w] in gl then g:=g+1;

if g>2 then begin write(s[i],' '); write(f1,s[i],' '); end;

g:=0;

end;

close(f1);

end.

Заключение и выводы

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

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

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

1. Константайн Л., Локвуд Л. Разработка программного обеспечения. - СПб.: Питер, 2004. - 592 с.: ил.

2. Жарков С.В. Shareware: профессиональная разработка и продвижение программ. - СПб.: БХВ-Петербург, 2003. - 320 с.: ил.

3. Архангельский А.Я. Программирование в Delphi. Учебник по классическим версиям Delphi. - М.:ООО "Бином-Пресс", 2006. - 1152 с.: ил

4. Кораблев В., Турбо Паскаль 7.0. - СПб.: Питер, 2004. -479с.:ил.

5. Turbo Pascal для студентов и школьников - СПб.: БЧВ - Петербург, 2004. - 352 с.: ил. (Г.Г. Рапаков, С.Ю. Ржеуцкая)

6. Turbo Pascal для школьников. Версия 7.0. - М.: Финансы и статистика, 1996. - 446 с. (Попов В.Б.)

7. Turbo Pascal: Учись программировать. 2002. - 448с.: ил. (Меженный О.А.)

8. Аляев Ю.А., Гладков В.П., Козлов О.А. Практикум по алгоритмизации и программированию на языке Паскаль: Учеб. пособие. - М.: Финансы и статистика, 2004.

9. Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров. - Мн.: Выш. шк.; БФ ГИТМ "НИКА", 1991.

10. Информатика, 7-11 класс. Киев, 2004. Гаевский А.Ю.

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


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

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

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

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

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

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

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

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

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

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

  • Понятие и история развития языка Turbo Pascal, оценка его графических возможностей и особенностей. Инициализация графического режима. Управление экраном и окнами, цветом и фоном, принципы работы с текстом. Построение графиков функций и изображений.

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

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

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

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

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

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

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

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

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

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