О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПОИСКА ЭЛЕМЕНТОВ МАССИВА, КРАТНЫХ ЗАДАННОМУ ЧИСЛУ»

(автор - student, добавлено - 10-04-2014, 12:21)

СКАЧАТЬ:  222.zip [35,35 Kb] (cкачиваний: 34)

 

 

 

КУРСОВАЯ РАБОТА

 ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»

РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL

НА ТЕМУ:

«РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПОИСКА ЭЛЕМЕНТОВ МАССИВА, КРАТНЫХ ЗАДАННОМУ ЧИСЛУ»

 

Оглавление:

 

Постановка задачи…………………………………………………………………………..3

Модуль и операторы……………………………………………………………………….4

Блок-схема……………………………………………………………………………………..11

Листинг программа………………………………………………………………………..12

Список литературы………………………………………………………………………...16

Приложение…………………………………………………………………………………...17

 

 

Постановка задачи

 

Разработка в среде Turbo Pascal программы поиска элементов массива, кратных заданному числу.

Дан массив размера N.

  1. Известно, что в массиве имеются элементы, кратные натуральному числу K. Определить номера первого и последнего из них.
  2. Элементы массива, расположенные между найденными элементами, упорядочить по возрастанию.

Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.

 

 

 

Модуль и операторы.

 

     Модуль 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, им можно присваивать любые значения, соответствующие их типу. Индексы массива должны быть целого типа, и индексы могут иметь как положительные, так и отрицательные значения, а также индексы могут быть нулями.

 Если элемент массива имеет только один индекс, массив называется одномерным, если два индекса - двухмерным.

 

 

 

Блок-схема

 

 

Листинг программа.

program p1;

uses Crt;

const

  K = 3;

  N = 20;

var

  i, j      : integer;

  f1, f2    : integer;

  t, min, min_i : integer;

  a : array[1..N] of integer;

begin

  Randomize;

  ClrScr;

 

  for i := 1 to N do

  begin

    a[i] := random(30)+1;

    write( a[i]:4 );

  end;

  writeln;

  writeln;

 

 

  f1 := -1;

  for i := 1 to N do

    if a[i] mod K = 0 then

    begin

      f1 := i;

      break;

    end;

 

  if f1 = -1 then

  begin

    writeln( 'Net chisel kratnyh ', K );

    readln;

    halt;

  end;

 

  for i := N downto 1 do

    if a[i] mod K = 0 then

    begin

      f2 := i;

      break;

    end;

 

 

 writeln( 'Proverka kratnosty na ', K );

  writeln( 'Pervoe chislo   : ', a[f1], ' (nomer', f1, ')' );

  writeln( 'Poslednee chislo: ', a[f2], ' (nomer', f2, ')' );

 

  if f2 - f1 < 3 then

  begin

    writeln( 'Nevosmozhno uporyadochit' );

    readln;

    halt;

  end;

 

  min := a[f1+1];

  min_i := f1+1;

  for i := f1+1 to f2-1 do

  begin

    for j := i to f2-1 do

      if a[j] < min then

      begin

        min := a[j];

        min_i := j;

      end;

    t := a[i];

 

 a[i] := a[ min_i ];

    a[ min_i ] := t;

    min := 100;

  end;

 

  writeln( 'Uporyadochenniy massiv: ' );

  for i := 1 to N do

    write( a[i]:4 );

 

  readln;

end.

 

 

Список литературы.

  1. А.И. Гусева Учимся программировать:Pascal 7.0
  2. А.И. Гусева Учимся программировать:Pascal 7.0. Задачи и методы их решения.
  3. Алаев Ю.А., Гладков В.П., Козлов О.А. Практикум  по алгоритмизации и программированию на языке Паскаль. М.:Финансы и статистика, 2004.
  4. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. СПб.:ДиаСофтЮП, 2003.
  5. Потапова О.Н., Салихова Г.Л., Садриева Л.М., Миндиярова О.Г.,      Мохова О.М., Фахрутдинова Р.Р., Ханова И.А. «Методические указания по выполнению курсовой работы для студентов очного и заочного отделения всех специальностей.», Альметьевск: АГНИ, 2009

 

 

 

 

 

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!