Алгоритмизация и программирование на языке 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Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.
контрольная работа [286,3 K], добавлен 10.04.2011Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.
отчет по практике [2,1 M], добавлен 02.05.2014Понятие и история развития языка 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