Автор: Пользователь скрыл имя, 31 Мая 2012 в 22:31, курсовая работа
Паскаль – это язык программирования, который относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю. Паскаль воспитывает дисциплину структурного программирования и программирования вообще лучше, чем другие языки программирования, такие как, например, Бейсик.
Паскаль – гибкий и развитый в отношении типов данных язык. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентированного программирования.
ВВЕДЕНИЕ
ЗАДАЧА
АЛГОРИТМ ЗАДАЧИ, ОПИСАННЫЙ ГРАФИЧЕСКИМ СПОСОБОМ – В ВИДЕ БЛОК-СХЕМЫ.
АЛГОРИТМ ЗАДАЧИ, ОПИСАННЫЙ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PASCAL – ПРОГРАММА
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ К ЗАДАЧЕ
Кочемасов А.С., гр.57-51
АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ
НЕФТЯНОЙ ИНСТИТУТ
КАФЕДРА ИНФОРМАТИКИ
КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»
РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL
НА ТЕМУ:
«Разработка в среде Turbo Pascal программы
поиска минимального элемента
двумерного массива»
выполнил студент: Кочемасов А.С.
группы: 57-51Вт
проверил: ст. преподаватель Салихова Г.Л.
АЛЬМЕТЬЕВСК 2008 год
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
ЗАДАЧА
АЛГОРИТМ ЗАДАЧИ, ОПИСАННЫЙ ГРАФИЧЕСКИМ СПОСОБОМ – В ВИДЕ БЛОК-СХЕМЫ.
АЛГОРИТМ ЗАДАЧИ, ОПИСАННЫЙ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PASCAL – ПРОГРАММА
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ К ЗАДАЧЕ
15
Кочемасов А.С., гр.57-51
Паскаль – это язык программирования, который относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю. Паскаль воспитывает дисциплину структурного программирования и программирования вообще лучше, чем другие языки программирования, такие как, например, Бейсик.
Паскаль – гибкий и развитый в отношении типов данных язык. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентированного программирования.
Паскаль стал «наследником» Алгола. Алгоритмический язык Алгол был разработан в 1950-60-х годах. Его разработчиком был швейцарский ученый Никлаус Вирт, собиравшийся использовать этот язык для обучения своих студентов методам разработки компиляторов. Время рождения языка Паскаль – начало 70-х годов. По сравнению с Алголом Паскаль проще и яснее. У него намного лучшие возможности обработки данных и имеются встроенные процедуры ввода-вывода, которых не было в Алголе. Турбо Паскаль фирмы Borland является расширением стандарта языка и содержит, кроме того, интегрированную среду, намного ускоряющую и облегчающую процесс разработки программ.
Турбо Паскаль, в свою очередь положил начало новой линии продуктов фирмы Borland-Delphi, системе быстрой разработки приложений для Microsoft Windows. Используемый в Delphi язык программирования Объектный Паскаль(Object Pascal) сохранил основные черты Турбо Паскаля, обогатившись новыми возможностями. Имеются и другие реализации языка Паскаль, в том числе предназначенные для работы не на только персональных компьютерах(как Турбо Паскаль), а на других компьютерных платформах.
Международным признанием языка Паскаль можно считать выпуск стандартов, описывающих синтаксис этого языка. Международные стандарты в мире программирования играют роль своеобразных кодексов поведения. Если программист придерживается стандартов, его программы оказываются переносимыми, то есть могут выполняться на разных компьютерах и в разных операционных системах. Язык Турбо Паскаль состоит приблизительно из 80 зарезервированных слов и специальных символов. Алфавит языка составляют буквы латинского алфавита, как строчные и прописные, цифры, а также специальные символы, такие как, например. + , - , _ .
15
Кочемасов А.С., гр.57-51
Задан двумерный массив целых чисел:
1. Найти минимальный элемент среди минимальных элементов столбцов двухмерного массива целых чисел;
2. Столбец, в котором находится найденный минимальный элемент, упорядочить по возрастанию.
Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.
15
Кочемасов А.С., гр.57-51
15
Кочемасов А.С., гр.57-51
program primer;
Uses crt;
const N=7;
Var i,j,nom,k: byte;
min,min2,max,S: integer;
A:array[1..n,1..n] of integer;
Begin
clrscr;
WriteLn(' ПРОГРАММА ПОИСКА МИНИМАЛЬНОГО ЭЛЕМЕНТА');
WriteLn;
Randomize;
Write('Первоначальная матрица: ');
WriteLn;
for i := 1 to n do
begin
for j := 1 to n do
begin
A[i,j] := random(77);
write(A[i,j]:3,' ');
end;
Writeln
end;
min := A[1,1]; min2 := A[1,1]; nom := 1;
for j := 1 to n do
begin
for i := 1 to n do
if A[i,j] < min then min := A[i,j];
if min < min2 then
begin
min2 := min;
nom := j
end;
end;
for K := 1 to N do
begin
min := A[k,nom];
J := K;
for I := k to n do
if A[i,nom] < min then
begin
min := A[i,nom];
J := I
end;
S := A[k,nom];
A[k,nom] := min;
A[j,nom] := S;
end;
WriteLn;
WriteLn('Минимальный элемент среди минимальных элементов столбцов = ',min2,',');
WriteLn(' он находится в ',nom,' столбце.');
WriteLn;
WriteLn('Матрица с упорядоченным столбцом:');
for i:=1 to n do
begin
for j := 1 to n do
write(A[i,j]:3,' ');
Writeln
end;
ReadKey
End.
15
Кочемасов А.С., гр.57-51
Программа начинается стандартной строкой:
Program primer;
Далее следует описательная часть программы. Она состоит из нескольких разделов:
Раздел указания использующих модулей начинается с зарезервированного слова uses. Присутствие в программе предложения uses не обязательно. Оно описывается в случаях, если в программе используются константы, типы, переменные, процедуры или функции, определенные в стандартных модулях Turbo Pascal, кроме модуля System или в модулях, созданных пользователем.
Предложение uses в каждой отдельной программе может быть описано только однократно и должно располагаться непосредственно после заголовка программы. Подпрограммы модуля Crt обеспечивают контроль над текстовыми режимами экрана, расширенными кодами клавиатуры, цветами, окнами и звуком.
Const: описывает используемые в программе константы. N - определяет число элементов массива.
Var: описывает переменные
Integer – целочисленный тип, может принимать значение от -32768 до 32767 и занимает объем памяти в 16 бит.
BEGIN - это зарезервированное слово pascal, оно означает начало программы.
ClrScr - очищает экран или окно и помещает курсор в верхний левый угол.
-Randomize – инициализирует встроенный генератор случайных чисел.
При описании массива, указывается количество и тип этих компонент. Значения такого типа хранятся в оперативной памяти. К каждой компоненте можно обращаться непосредственно. Описание одномерных массивов имеет вид:
“имя” : array[n .. m] of “тип”;
и описывается в разделе описания переменных.
random(X) - Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.
ReadKey - читает символ из буфера клавиатуры.
Процедура вывода Write
Формат: Write (х1,х2,…,хN)
Writeln (х1,х2,…,хN)
Write(b:m:n) – b –имя выводимой переменной или арифметическое выражение.
m- общее количество позиций, отводимых под запись всего числа.
n- количество позиций под дробную часть.
Каждое значение размещается в отдельном поле и занимает крайние позиции. Незаполненный позиции остаются свободными, образуя пробелы.
Оператор цикла for … to … do …
Этот вариант оператора цикла – цикл со счетчиком – имеет вид:
For j:=expression1 to expression 2 do statement;
Здесь переменная, называемая управляющей переменной цикла for, является произвольным идентификатором, который объявляется как переменная любого скалярного типа.
При выполнении оператора for сначала вычисляется значение выражения expression1, затем вычисляется значение выражения expression2, далее управляющая переменная цикла последовательно пробегает все значения от expression1 до expression2. в том случае, когда значение expression1 оказывается больше значения expression2, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for.
В теле цикла for следует избегать операторов, изменяющих значение управляющей переменной j. Несмотря на то что использование подобных конструкций не приводит к ошибкам компиляции, они потенциально опасны и могут приводить к неприятным последствиям.
Оператор цикла for … downto … do … - в этом случае шаг цикла равен «-1». В том случае, когда значение expression2 оказывается больше значения expression1, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for.
Составной оператор объединяет группу операторов в единое целое, после чего они могут считаться одним оператором. Составной оператор состоит из последовательности объединяемых операторов, которые располагаются между ключевыми словами begin и end. Составной оператор использует в тех случаях, когда синтаксис языка ТР допускает в определенной точке программы указание только одного оператора, а по алгоритму в этом месте необходимо выполнить группу операторов. Составной оператор используется совместно со структурными операторами.
End. - зарезервированное слово, означающее конец программы. Здесь после «End» стоит точка, которая означает конец программы.
15
Кочемасов А.С., гр.57-51
1. А.Ф. Иванов, О.Н. Потапова, Г.Л. Салихова Основы алгоритмического языка Pascal. г. Альметьевск: - тип. АГНИ, 2007.
2. Марченко А.И., Марченко Л.А.: под ред. Тарасенко В.П. Программирование в среде Turbo Pascal 7.0 Киев: -"ВЕК+",2000.
3. Немнюгин С., Перколаб Л. Изучаем TURBO PASCAL. – СПб.: Петербург,2001.
4. Немнюгин С., Перколаб Л. Изучаем TURBO PASCAL. – СПб.: Петербург,2002.
5. Культин Н.Б. TURBO PASCAL в задачах и примерах. – СПб.: Петербург,2002.
15
Кочемасов А.С.., гр.57-51
15