Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Алгоритмизация и программирование на языке 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. Гаевский А.Ю.

Показать весь текст
Заполнить форму текущей работой