Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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

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

                                                               (ТУСУР)

Кафедра КСУП

Отчет

О лабораторной работе № 3 (Задачи №28 и №70)

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

                                                                                                                       

                                                                                                    

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

                                                                           Шайтаров Артём

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

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

                           

Томск 2005    

 Содержание:

  1.  Условие задачи №28
  2.  Описание используемых переменных задачи №28
  3.  Формальное представление алгоритма задачи №28
  4.  Текст программы задачи №28
  5.  Блок – схема задачи №28
  6.  Условие задачи №70
  7.  Описание используемых переменных задачи №70
  8.  Формальное представление алгоритма задачи №70
  9.  Текст программы задачи №70
  10.  Блок – схема задачи №70

Введение

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

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

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

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

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

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

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

Условие задачи:

 28. Даны действительные числа a[1], a[2], … , a[n], …, a[2n]. Преобразовать эту последовательность по правилу: Большее из a[i] и a[n+i] (i = 1, 2, … , n) принять в качестве нового значения a[i], а меньшее в качестве нового значения a[n+i].

Описание используемых переменных и обоснование выбора типа переменных.

а массив целочисленных переменных.

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

 n целочисленная беззнаковая константа, определяющее предел массива.

 bцелочисленная переменная, используемая для временного хранения элементов массива.

Формальное описание алгоритма решения задачи:

Шаг 1. С помощью цикла for заполняем массив случайными значениями и выводим его на экран.

Шаг 2..Вводим цикл for от i=1 до n.

Шаг 3. В теле цикла с помощью условного оператора сравниваем a[i] и a[n+i] элементы массива.

Шаг 4. Если элемент массива a[n+i] больше элемента a[i], то перемещаем при помощи переменной b значение a[n+i] в a[i], а значение a[i] в a[n+i], если нет, то продолжается цикл. После завершения цикла массив принимает требуемый вид.

     Шаг 5. С помощью цикла for  выводим измененный массив a на экран.

Текст программы:

Program art28;  {название программы}

uses crt;        {использование дополнительной библиотеки}

const n=4;       {раздел описания констант}

var        {раздел описания переменных }

a: array [1..2*n] of longint;

i, b :integer;

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

clrscr;      {очистка экрана}

randomize;     {оператор случайных чисел}

Writeln('Массив a:');    {вывод строки на экран}

for i:=1 to 2*n do    {цикл с параметром}

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

a[i]:=-random(100)+random(100);  {заполнение массива случайными числами}

write('a[',i,']=',a[i],' ');    {вывод строки на экран}

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

writeln;     {перевод каретки}

writeln(‘Изменённый массив a:');  {вывод строки на экран}

for i:=1 to n do    {цикл с параметром}

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

if a[n+i] > a[i] then    {условный оператор}

begin     

b:=a[i];     {присвоение значения переменной}

a[i]:=a[n+i];          {присваивание нового значения элементу массива}

a[n+i]:=b;             {присваивание нового значения элементу массива}

end;

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

for i:=1 to 2*n do    {цикл с параметром}

write('a[',i,']=',a[i],' ');    {вывод строки на экран}

readln;      {пустой ввод}

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

                                               Блок – схема задачи №28

 

         

   

           

                                                                                                                      

   нет     да   

     

 

 

       

       

     

             

   

        

Условие задачи:

70.  type вектор = array [1..n] of integer;   {n – чётное}

матрица = array [1..n] of вектор;

var a:матрица; x:вектор;

i,j:integer;

В матрице А поменять местами 1-ю и 2-ю строки, 3-ю и 4-ю строки, … ,(n-1)-ю и n-ю строки (воспользоваться x как вспомогательным массивом).

Описание используемых переменных и обоснование выбора типа переменных.

n -  целочисленная беззнаковая константа, определяющее предел массива.     

aцелочисленный массив массивов (матрица), состоящий из n векторов х.

хцелочисленный массив, является строками в матрице а, используется как  вспомогательный массив.

i, j - целочисленные беззнаковые переменные – счетчики цикла .

Формальное описание алгоритма решения задачи:

Шаг 1. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n заполняем матрицу а случайными значениями.

Шаг 2. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n выводим матрицу а на экран в табличном виде.

Шаг 3. С помощью цикла for со счётчиком от i:=1 до n/2 меняем местами строки (1-ю и 2-ю, 3-ю и 4-ю, … ,(n-1)-ю и n-ю) в матрице а .

Шаг 4. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n выводим измененную матрицу a на экран.

Текст программы:

program art70;    {название программы}

uses crt;     {использование дополнительной библиотеки}

const n=6;     {раздел описания констант}

type vektor = array [1..n] of integer;  {раздел описания типа переменных}

matrica = array [1..n] of vektor;  

var a:matrica; x:vektor;   {раздел описания переменных}

i,j:integer;     

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

clrscr;      {очистка экрана}

randomize;     {оператор случайных чисел}

for i:=1 to n do    {цикл с параметром}

for j:=1 to n do    {цикл с параметром}

a[i,j]:=random(100);    {заполнение массива случайными числами}

for i:=1 to n do    {цикл с параметром}

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

for j:=1 to n do    {цикл с параметром}

write(a[i,j],' ');     {вывод строки на экран}

writeln(' ');     {перевод каретки}

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

writeln;     {перевод каретки}

for i:=1 to (n div 2) do   {цикл с параметром}

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

x:=a[i*2-1];     {присвоение значения переменной}

a[i*2-1]:=a[i*2];   {присваивание нового значения элементу массива}

a[i*2]:=x;    {присваивание нового значения элементу массива}

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

for i:=1 to n do    {цикл с параметром}

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

for j:=1 to n do    {цикл с параметром}

write(a[i,j],' ');     {вывод строки на экран}

writeln(' ');     {перевод каретки}

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

readln;      {пустой ввод}

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

Блок – Схема задачи №70

 

 

 

 

 

 

Вывод: Мною были изучены простейшие массивы, массивы массивов и действия над ними. Были разработаны программы по их инициализации и сортировке.




1. Экономическое мышление в условиях социально-ориентированной рыночной экономики
2. SlipGurd ~ жидкость против скольжения которая пригодна для нанесения на кафельные гранитные мраморные кли
3. Симон Петлюра політичний діяч
4. МАСТЕРСКАЯ МЕНЕДЖМЕНТА КОНСАЛТИНГОВАЯ КОМПАНИЯ ТИПОЛОГИЯ ЛИЧНОСТИ MBTI И РУКОВОДСТВО ОРГАНИЗАЦ
5. Контрольная работа- Управление персоналом в структурной среде.html
6. Простейшие вычисления и использование графических возможностей Excel
7. О некоторых общих вопросах разработки истории психологии
8. социальный происходит от латинского socilis общественный
9. Пояснительная записка Учебно творческая работа с бумагой имеет большие возможности для развития креатив
10. Использование криминалистических средств и методов в установлении лица совершившего преступление
11. статусный набор
12. ДДТ Гармония г
13. Нивенс МакТвисп Траляля и Труляля Пес Баярд Хаммар Гусеница Абсолем Безумный Шляпник Мартовски
14. і Філією від лат
15. . Общие требования к курсовой работе Целью курсовой работы является развитие у студентов навыков использов
16. тематическое осмысление его результатов зародившееся еще в предыдущую эпоху стали в Новое время могучей ду
17. Мировоззренческие предпосылки аддиктивного поведения1
18. Установите соответствие между высказываниями каждого говорящего 1 ~ 5 и утверждениями данными в списке А ~ F
19. высокой классики Сократ Платон Аристотель Философская мысль в эпоху Средневековья
20. рефератов темы вбираем сами так как их много Влияние плавания на организм человека Нурсаяпова Л А ЗАБИТО