Алгоритмизация и программирование на языке Pascal
Исходный код программы Заключение и выводы Список литературы Введение программирование pascal массив алгоритм С каждым днём программирование становиться всё более популярно среди обычных пользователей, что связано с интенсивным развитием информационных технологий. В начале компьютерной эры программисты были рабами вычислительных машин. Разработчики программного обеспечения должны были писать свои… Читать ещё >
Алгоритмизация и программирование на языке Pascal (реферат, курсовая, диплом, контрольная)
Министерство образования Республики Беларусь УО «Полоцкий государственный университет»
Радиотехнический факультет Курсовая работа по дисциплине «Информатика»
Выполнил студент группы 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.84 403 919 098 297
Результат проведенных расчетов верен
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
Результат:
Результат проведенных расчетов верен.
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. Гаевский А.Ю.