ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПОИСКА МИНИМАЛЬНОГО И МАКСИМАЛЬНОГО ЭЛЕМЕНТОВ МАССИВА»
(автор - student, добавлено - 29-05-2014, 17:45)
СКАЧАТЬ:
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПОИСКА МИНИМАЛЬНОГО И МАКСИМАЛЬНОГО ЭЛЕМЕНТОВ МАССИВА»
Модули и операторы.. 3 Блок-схема. 8 Паскаль программа. 9 Список литературы.. 12 Приложение. 13
Модуль Crt – обеспечивает управление дисплеем (текстовым режимом экрана и звука) и клавиатурой компьютера. Раздел описания переменных начинается зарезервированным словом var, за которым следует список переменных, двоеточие и тип данных. Блок операторов В программе на Паскале этот блок является самым основным, т.к. именно здесь с предварительно описанными величинами выполняются действия, позволяющие получить результат, ради которого составлялась вся программа. Раздел операторов начинается зарезервированным словом BEGIN затем следуют операторы, отделенные друг от друга точкой с запятой завершает раздел зарезервированное слово END с точкой. Слова BEGIN и END – аналог открывающей и закрывающей скобок в арифметических выражениях and логическое и (умножение) – принимает истинное значение, только если оба операнда истины or логическое или (сложение) – принимает истинное значение, если хотя бы одно из операндов истинно
Функция random(диапазон) возвращает случайное число, удовлетворяющее условию 0<=x<=диапазон. Тип аргумента и результата – word. Если необходимы случайные числа из диапазона a<=x<b - используется выражение random(b-a)+a. Если параметр диапазон не указан, то random возвращает число в диапазоне 0<=x<1. Тип результата – real (см. п.3.2). Если нам необходимы вещественные числа из диапазона a<=x<b, мы можем задать его при помощи random*b+a. Перед первым обращением к функции random необходимо с помощью вызова процедуры Randomize инициализировать программный генератор случайных чисел, иначе при каждом запуске программы датчик будет выдавать одни и те же числа.
Процедура чтения Read обеспечивает ввод числовых данных, символов, строк для их последующей обработки. Процедура чтения Readln аналогична Read. Единственное отличие состоит в том, что если в программе несколько процедур Readln, то после считывания значений переменных для одной процедуры Readln, данные для следующей процедуры будут считываться с начала новой строки. Инструкция Readln при вводе с клавиатуры предпочтительней Read, т.к. полностью освобождает буфер клавиатуры – рабочую область памяти, в которой временно хранятся введенные с клавиатуры символы. Инструкция Read оставляет в буфере клавиатуры код клавиши Enter, которой завершает процесс. Процедура Readln без переменных обычно записывается в конце программы и служит для создания паузы, которая длится до нажатия клавиши Enter. В противном случае по окончании программы окно с текстом программы закроет экран с полученным результатом. Инструкции Write и Writeln предназначены для вывода констант различных типов, значений переменных или выражений. Число параметров – произвольное. Данные выводятся на экран. Из констант наиболее часто выводятся строки текста (строковые константы заключаются в апострофы). Если в конструкции вывода записано выражение, оно сначала будет вычислено, а затем выполнен вывод полученного результата. Процедура Writeln аналогична Write, отличие заключается в том, что после вывода последней переменной из списка, курсор автоматически переходит в начало новой строки. Инструкция Writeln без параметров переводит курсор в начало следующей строки, что позволяет, например, отделять результаты работы программы друг от друга пустыми строками. Write(y1:n:m, y2:n:m, …); Writeln(y1:n:m, y2:n:m, …); где y1, y2,… - выражение, переменная или константа; n – определяет общую ширину поля вывода; m – определяет место под дробную часть.
Оператор присваивания можно считать основным оператором языка Паскаль, т. к. именно в нем выполняются практически все действия по обработке данных. Оператор присваивания используется для изменения значений переменных, в том числе и для вычислений по формулам — оператор предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, стоящей в левой части. идентификатор := выражение; Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой и ограниченную операторными скобками begin и end.
Условный оператор позволяет проверить некоторое условие и в зависимости от результата выполнить тот или иной оператор или группу операторов. <оператор2>. Условный оператор if
Формат: if <условие> then < оператор1> else < оператор2>; где if, then, else – зарезервированные слова (обозначают если, то, иначе соответственно); <условие> - произвольное выражение логического типа; <оператор1>, <оператор2> - любые операторы языка Паскаль.
Условный оператор работает по следующему алгоритму: вначале вычисляется выражение <условие>. Если результат - true (истина), то выполняется <оператор1>, а <оператор2> пропускается. Если результат - false (ложь), наоборот <оператор1> пропускается, а выполняется Часть оператора, стоящая после служебного слова else, может отсутствовать. Тогда при значении true условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается. В условном операторе логические выражения могут содержать несколько отношений и/или логических переменных, связанных операциями and, or, not. Каждое простое условие в логическом выражении обязательно заключается в скобки. Операторы повторения (циклы) предусматривают выполнение некоторых операторов несколько раз. Оператор повтора for часто называют оператором цикла с параметром, так как число повторений задается переменной, называемой параметром цикла, или управляющей переменной, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу – поэтому ее и называют счетчиком. Оператор повтора for состоит из заголовка (строка, содержащая for…do ) и тела цикла. Если требуется выполнить после do несколько операторов, они обрамляются операторными скобками begin и end, образуя тем самым составной оператор. Массив - это упорядоченная последовательность величин, имеющих один и тот же тип и объединённых одним именем. Число элементов массива задаётся при описании и в процессе выполнения программы не меняется. Имя массива образуется аналогично имени любой другой величины. Отдельные величины, составляющие массив, называются элементами массива. При обращении к элементу массива, необходимо указывать его имя, а в квадратных скобках его индексы. Для работы с массивами как единым целым используется имя массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения "равно и не равно" и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть тождественны по структуре или иметь одинаковые типы индексов и одинаковые типы компонентов. Элементы массива могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов, использоваться в операторах for, while, repeat, входить в качестве параметров в операторы Read, Write, им можно присваивать любые значения, соответствующие их типу. Индексы массива должны быть целого типа, и индексы могут иметь как положительные, так и отрицательные значения, а также индексы могут быть нулями. Если элемент массива имеет только один индекс, массив называется одномерным, если два индекса - двухмерным.
Начало 1 i:=1..10 i:=1..10 max[i]:=-11 j:=1..10 min[i]:=11 a[i,j] j:=1..10 a[i,j]:=random(20)-10 конец a[i,j] i:=1..10 j:=1..10
a[i,j]>max[i] max[i]=a[i,j]
a[i,j]>min[i] min[i]=a[i,j] i:=1..10 j:=1..10
a[i,j]=min[i] a[i,j]=max[i] j:=j+1
a[i,j]=max[i] a[i,j]=min 1 program Timerbaev; uses Crt; var a:array[1..20,1..20] of integer;max:array[1..20] of integer;min:array[1..20] of integer; i,j:integer; begin ClrScr;Randomize; writeln('Исходный массив:'); for i:=1 to 10 do begin max[i]:=-11; min[i]:=11; writeln; for j:=1 to 10 do begin a[i,j]:=random(20)-10; write(a[i,j]:3);end;end; for i:=1 to 10 do for j:=1 to 10 do begin if a[i,j]>max[i] then max[i]:=a[i,j]; if a[i,j]<min[i] then min[i]:=a[i,j]; end; writeln; writeln('Конечный массив:'); for i:=1 to 10 do begin for j:=1 to 10 do begin if a[i,j]=min[i] then begin a[i,j]:=max[i]; j:=j+1; end; if a[i,j]=max[i] then a[i,j]:=min[i]; end; end;writeln; for i:=1 to 10 do begin writeln; for j:=1 to 10 do write(a[i,j]:3); end; ReadLn;end.
Похожие статьи:
|
|