Алгоритмические Языки и Программирование. Курсяк. Курсовая работа по дисциплине Алгоритмические Языки и Программирование Расчетнопояснительная записка Разработал студент
Скачать 57.56 Kb.
|
ФЕДЕРАЛЬНОЕ государственное бюджетное ОБРАЗОВАТельное учреждение ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» (ФГБОУ ВПО «ВГУ») Математический факультет КУРСОВАЯ РАБОТА по дисциплине: Алгоритмические Языки и Программирование Расчетно-пояснительная записка Разработал студент Гр. ТС-182 В.П. Астахов Подпись, дата Инициалы, фамилия Руководитель С.Д. Гунин Подпись, дата Инициалы, фамилия Члены комиссии ______________________________ Подпись, дата Инициалы, фамилия Нормоконтролёр _____________________________ Подпись, дата Инициалы, фамилия Защищена ___________________ Оценка __________________________ Дата Воронеж - 2018 Содержание Задание на курсовую работу 3 Замечания руководителя 4 Введение 5 Задача №1 6 Задача №2 7 Задача №3 8 Заключение 9 Задание на курсовую работу Вариант №1 1.В матрице A (m*n) расположить строки в порядке возрастания сумм их элементов 2. Для массива y(k),где k 10,и действительного числа x вычислить: где шаг Δ = 3.В матрице A (m*n) поменять местами строки с наибольшим и наименьшим элементом. Замечания руководителя Введение Паскаль – язык программирования, созданный в конце 60-х годов {1967-1968 гг.} швейцарским профессором Николаусом Виртом {впоследствии он создал и такие языки программирования как Модула и Оберон, но они не получили широкого распространения} специально для обучения программированию. Стандарт языка был разработан учёным в 1974 г. совместно с Кетлин Дженсен. Название языку было дано в честь выдающегося французского математика. Язык Паскаль характеризуется чёткой структурой программы, простотой и ясностью конструкций. С момента создания Паскаль был универсален и пригоден для решения широкого круга задач {в отличие от таких языков, как Бейсик, Фортран, Кобол}. Строгая типизация языка значительно сокращает количество ошибок в программах. Сейчас существует три стандарта языка: 1. Нерасширенный Паскаль {Unextended Pascal} был разработан в 1983 году и практически полностью совпадает с описанием языка по Дженсен-Вирту. 2. Расширенный Паскаль {Extended Pascal} содержит расширения, затрагивающие модульное программирование {отдельная компиляция модулей, импорт-экспорт подпрограмм, интерфейсная часть и реализация} и дополнен рядом процедур и функций {прямой доступ к файлам, работа со строками и др.}. 3. Объектный Паскаль {Object Pascal} принят в 1993 г. Он поддерживает классы, обладающие свойствами и методами, наследование классов, переопределение методов у потомков {полиморфизм} и другие атрибуты объектно-ориентированного программирования. С появлением компьютеров, Паскаль начал широко использоваться для программирования. Для операционной системы MS-DOS самое большое распространение приобрела реализация языка Паскаль фирмы Борланд под названием Турбо Паскаль. Интегрированная оболочка, которая включает в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой превратили разработку программ на Паскале в простое и понятное практически каждому человеку дело. Но так было не всегда. Например, в начале восьмидесятых годов сначала в редакторе нужно было написать текст программы, затем однопроходный компилятор выдавал код на ассемблере, далее приходилось транслировать его в объектный код, компоновать с системными библиотеками и только после этого запускать программу. Поиск ошибок {без встроенного отладчика, который сейчас просто показывает вам строку c ошибкой} был делом, требующим терпения, и большого количества времени. Когда возникла операционная система Windows, эта же фирма создала мощную среду программирования Delphi на основе существенно расширенного языка Паскаль {Object Pascal}. Задача №1 program z1; {Курсовая работа задача №1} const n1=20; {Разнамерность массива} var a:array[1..n1,1..n1] of integer; m,n,i,j,l,sm,b:integer; {Объявления массива и переменных} begin randomize; writeln('Введите кол-во строк'); readln(m); if (m<1) or (m>n1) then begin writeln('Количество строк должно быть меньше 20'); exit; end; writeln('Введите кол-во столбцов'); readln(n); if (n<1) or (n>n1) then begin writeln('Количество столбцов должно быть меньше 20'); exit; end; for i:=1 to m do for j:=1 to n do a[i,j]:=random(20); {Заполнение массива случайными числами} for i:=1 to m do {идем по строкам} begin sm:=0; for j:=1 to n do );{Обнуляем сумму,проходим по столбцу} sm:=sm+a[i,j]; a[i,n+1]:=sm; {Записываем сумму в отдельную строку} end; writeln('Исходная матрица:'); writeln('Сумма'); for i:=1 to m do begin for j:=1 to n+1 do if j<=n then write(a[i,j]:4) {Сама матрица} else write(a[i,j]:6); {Дополнительный столбец} writeln; end; for i:=1 to m-1 do {Сортируем все строки матрицы по возрастанию} for l:=i+1 to m do if a[i,n+1]>a[l,n+1] then for j:=1 to n+1 do begin b:=a[i,j]; a[i,j]:=a[l,j]; a[l,j]:=b; end; writeln('Измененная матрица:'); writeln('Сумма'); for i:=1 to m do begin for j:=1 to n+1 do if j<=n then write(a[i,j]:4) else write(a[i,j]:6); writeln; end; readln end. Задача №2 Program z2; {Курсовая работа задача №2} Const n=10;di=pi/4; Var Y:array[1..n] of real; k:byte; z,i,x,p:real; {Объявления массива и переменных} Begin randomize; write('vvedite x: ');readln(x); writeln('Massiv Y'); For k:=1 to n do Begin Y[k]:=random(10)+1; {Заполнение массива случайными числами} write(Y[k]:5:2); End; writeln; i:=-pi;p:=1; {Присвоение i значение пи} While i<=pi do Begin p:=p*sin(i+x); {Произведение } i:=i+di; End; For k:=1 to n do z:=z+y[k]*p; {Функция} writeln('Summa p = ',z:0:2); readln; End. Задача №3 Program z3; {Курсовая работа задача №3} var a: array[1..20,1..20] of integer; n,m,i,j,imin,jmin,imax,jmax,x: integer; {Объявления массива и переменных} begin randomize; imin:=1; jmin:=1; imax:=1; jmax:=1; {Присвоение минимальных и максисальных значений еденице} write('Введите размеры матрицы n, m: '); readln(n,m); writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(200)+1; {Заполнение массива случайными числами} write(a[i,j]:4); if a[i,j]>a[imax,jmax] then begin imax:=i; jmax:=j; {Максимальные значения} end else if a[i,j]then begin imin:=i; jmin:=j; {Минимальные значения} end; end; writeln; end; writeln('Минимум = a[',imin,',',jmin,'] = ',a[imin,jmin]); writeln('Максимум = a[',imax,',',jmax,'] = ',a[imax,jmax]); for j:=1 to m do begin x:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=x; {Перестановка максимального и минимального значений } end; writeln('Полученная матрица:'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; end. Заключение Pascal - один из языков программирования, который помогает писать «структурированные» программы в таком виде, в котором структура программы должна непосредственно отражать структуру задачи. Эта особенность языка Pascal, а также его достаточная простота из-за интуитивной понятийности его конструкций, позволила языку завоевать прочное место среди языков программирования. Современным достижением программирования является признание преимущества структурированных программ. |