У вас вопросы?
У нас ответы:) SamZan.net

Программирование на языке высокого уровня

Работа добавлена на сайт samzan.net: 2016-03-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

Министерство образования РФ

Томский Государственный Университет Систем Управления и

Радиоуправления

(ТУСУР)

Кафедра КСУП

Отчет

О лабораторной работе № 3

По дисциплине «Программирование на языке высокого уровня»

                                                                                                                       

                                                                                                    

                                                                                             Выполнил студент гр.584-1

                                                                           Атрошенко М.А.

                                                                                            

          Проверил ст.преп. каф. КСУП                 

          Потапова Е.А.

                           

Томск 2005


Введение

Массив- это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

a : array[1..2, 1..2] of integer

Если в такой форме описания задан один индекс, массив называется одномерным ,

если  два индекса - двумерным

Инициализация (присваивание начальных значений) массива заключается в присваиванию каждому элементу массива одного и того же значения, соответствующего базовому типу.

Копированием массивов называется присваивание значений всех элементов одного массива всем соответствующим элементам другого массива.

Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами.

Задача 1

Определить процедуру р(х, у), которая для данного массива х создает массив у. По следующим правилам: y[i] = x[i] – m, где m – среднеарифметическое элементов массива х.

Описание  переменных

x, y – массивы от 1 до n из целых чисел в определяемой процедуре.

a, b - массивы от 1 до n из целых чисел в программе для проверки процедуры.

i – целочисленная переменная. Счетчик цикла.

m – целочисленная переменная. Среднеарифметическое элементов массива х

Пошаговое описание алгоритма.

Процедура p

Шаг 1  Устанавливаем m равным 0

Шаг 2 Устанавливаем i равным 1

Шаг 3 Если I <= n, то Шаг 4, иначе Шаг 6

Шаг 4 Устанавливаем m равным m + x[i]

Шаг 5 Увеличиваем i на 1, переход на Шаг 2

Шаг 6 Устанавливаем m равным m div 2

Шаг 7 Устанавливаем i равным 1

Шаг 8 Если I <= n, то Шаг 9, иначе Шаг 11

Шаг 9 Устанавливаем y равным x[i] - m

Шаг 10 Увеличиваем i на 1, переход на Шаг 8

Шаг 11 Завершение алгоритма

Главная программа

Шаг 1 Ввод массива а

Шаг 2 Выполнение процедуры р над массивами а и b

Шаг 3 Вывод массива b

Шаг 4 Завершение алгоритма


Текст программы с комментариями

Const      {определение констант}

n = 10;      {количество элементов равно 10}

var      {определение переменных}

a, b: array [1..n] of Integer;    {массивы а и b}

i: Integer;      {целочисленные переменные}

procedure p(x: array of Integer; var y: array of Integer);   {определение процедуры р}

var      {определение переменных}

 m: Integer;      { целочисленные переменные }

 i: Integer;      { целочисленные переменные }

begin      {начало процедуры}

 m := 0;      {m равно 0}

 for i := 1 to n do    {заголовок цикла}

   m := m + x[i];     {определение m}

 m := m div n;     {получение среднеарифметического}

 for i := 1 to n do    {заголовок цикла}

   y[i] := x[i] - m;     {определение элементов массива y}

end;       {конец процедуры}

begin      {начало главной программы}

 for i := 1 to n do    {заголовок цикла}

 begin      {начало цикла}

  readln(a[i]);      {ввод элемента массива а}

  b[i] := 0;      {обнуление элемента массива b}

 end;       {конец цикла}

 p(a, b);      {выполнение процедуры p}

 for i := 1 to n do    {начала цикла}

   write(b[i], ' ');     {вывод элемента массива b}

 readln;      {ожидание ввода}

end.          {конец программы}

Задача 2

Даны две последовательности из n элементов в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую.

Описание переменных.

a, b - массивы от 1 до n из целых чисел в программе для проверки процедуры.

I, j – целочисленные переменные. Счетчики циклов.

Min – целочисленная переменная. Хранит значение min элемента.

F – Булевская переменная. Хранит значение, найдено ли значение элемента первого массива во втором.

.

Шаг 1  Ввод массива а

Шаг 2  Ввод массива b

Шаг 3  Устанавливаем значение min большим (10000)

Шаг 4  Устанавливаем значение i равным 1

Шаг 5  Если i <= n, то Шаг 6, иначе Шаг 16

Шаг 6  Устанавливаем f равным ЛОЖЬ

Шаг 7 Устанавливаем j равным 1

Шаг 8 Если J <= n, то Шаг 9, иначе Шаг 11

Шаг 9 Если a[i] равное b[j], то Шаг 10, иначе Шаг 11

Шаг 10 Устанавливаем f равным Правда

Шаг 11 Увеличиваем i на 1, переход на Шаг 8

Шаг 12 Если f неПравда, то Шаг 13, иначе Шаг 15

Шаг 13 Если min больше а[i], то Шаг 14, иначе Шаг 15

Шаг 14 Устанавливаем min равным a[i]

Шаг 15 Увеличиваем i на 1, переход на шаг 5

Шаг 16 Вывод min на экран

Текст программы с комментариями.

Const      {определение констант}

n = 10;      {n равно 10}

var       {определение переменных}

a, b: array [1..n] of integer;    {массивы а и b}

i, j: Integer;      {целочисленные переменные}

min: Integer;      {переменная min}

f: Boolean;      {булева переменная f}

begin       {начало программы}

 writeln('vvedite ', n, ' elementov a');  {вывод строки наэкран}

 for i := 1 to n do     {заголовок цикла}

  readln(a[i]);      {чтение с клавиатуры a[i]}

 writeln('vvedite ', n, ' elementov b');  {вывод строки на экран}

 for i := 1 to n do     {начало цикла}

  readln(b[i]);      {чтение с клавиатуры b[i]}

 min := 10000;     {устанавливаем min в 10000}

 for i := 1 to n do     {заголовок цикла по i}

 begin      {начало цикла по i}

  f := false;      {устанавливаем f в False}

  for j := 1 to n do     {заголовок цикла по j}

   if a[i] = b[j] then     {если a[i] = b[j], то}

    f := true;      {устанавливаем f в True}

  if not f then      {Если F равно False, то}

    if min > a[i] then min := a[i];   {Если min > a[i], то min = a[i]}

 end;       {конец цикла по i}

 writeln(min);     {вывод min на экран}

 readln;      {ожидание ввода}

end.       {конец программы}




1. то не последовало
2. Партийное политическое лидерство
3. Решение проблем и принятие решений
4. це ЛЗщо зменшують больові відчуття
5. Nonliner multi-wve coupling nd resonnce in elstic structures
6. История создания Интернет
7. Система местного самоуправления
8. Курсовая работа- Жилищное законодательство Республики Казахстан.html
9. на всю жизнь. Чоупатти кстати это пляж район Бомбея.html
10. Каденции пассажные, мотивные, тематические