Программирование на языках высокого уровня
Работа добавлена: 2015-12-26





Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра компьютерных систем

в управлении и проектировании (КСУП)

ОТЧЕТ

К лабораторной работе  3 (массивы) по дисциплине

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

Выполнила:

Студентка гр. 539

Безверхая О.С.

12.04.2010

Принял:

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

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

2010

Оглавление

[1] Оглавление

[2] ВВЕДЕНИЕ

[3] Анализ задачи № 48

[4] БЛОК-СХЕМА  к задаче № 48

[5] Решение задачи №48 на языке  Turbo Paskal  

[6] var

[7] a:array[1..5,1..5] of integer;

[8] i,j,f,n,:integer;

[9] begin

[10] randomize;

[11] write('n=');

[12] readln(n);

[13] for i:=1 to n do

[14] begin

[15] writeln;

[16] for j:=1 to n do

[17] begin

[18] a[i,j]:=random(2);

[19] write(a[i,j],' ');

[20] end;

[21] end;

[22] writeln;

[23] i:=1;

[24] f:=1;

[25] while(i<=n-1) and (f=1) do

[26] begin

[27] j:=i+1;

[28] while(j<=n) and (a[i,j]=a[j,i]) do

[29] j:=j+1;

[30] if j>n then

[31] i:=i+1 else

[32] f:=0;

[33] end;

[34] writeln;

[35] if f=0 then

[36] writeln('нет симметрии') else

[37] writeln('есть симметрия');

[38] end.

[39] Анализ задачи № 3

[40] БЛОК-СХЕМА к задаче №

[41] Решение задачи № 48 на языке  Turbo Paskal

[42] var mas:array[1..20] of integer;                                                                                               i,m,a,n,b,c,max,min:integer;

[43] ЗАКЛЮЧЕНИЕ

[44] Приложение 1

ВВЕДЕНИЕ

Данная лабораторная работа посвящена решению задач в разделе “Одномерные и многомерные массивы”. Цель работы – научится применять основные правила работы с массивами, научиться определять, какие операции возможно применять на массиве в целом, а какие только над отдельными его элементами.

В данной работе представлены решения и анализ задач  №3 и №48 из лабораторной работы №3.


Анализ задачи № 48

Определить,   является ли   заданная целая   квадратная  матрица N-го

порядка симметричной (относительно главной диагонали).

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим размеры массива A и заполняем его случайными числами;

- формируем цикл, в котором задаем условие для приравнивания противоположенных элементов массива A;

- проверяем матрицу на наличае или отсутствие симметрии;

- выводим результат.  

Переменные:

a – двумерный массив;

i,j - переменные цикла;

f - вспомогательная переменная.


БЛОК-СХЕМА  к задаче № 48

 


Решение задачи №48 на языке  Turbo Paskal  

var

a:array[1..5,1..5] of integer;

i,j,f,n,:integer;

begin

randomize;

write('n=');

readln(n);

for i:=1 to n do

begin

writeln;

for j:=1 to n do

begin

a[i,j]:=random(2);

write(a[i,j],' ');

end;

end;

writeln;

i:=1;

f:=1;

while(i<=n-1) and (f=1) do

begin

j:=i+1;

while(j<=n) and (a[i,j]=a[j,i]) do

j:=j+1;

if j>n then

i:=i+1 else

f:=0;

end;

writeln;

if f=0 then

writeln('нет симметрии') else

writeln('есть симметрия');

end.


Анализ задачи № 3

Даны действительные числа a 1 , a 2 , ... a n. Все числа попарно различны.  Поменять в этой
последовательности местами:

   1) наибольший и наименьший члены;  

   2) наибольший и последний члены.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим размер массива и значения элементов массива;

-задаем для первого элемента массива минимальное и максимальное значение, переменным m и a присваиваем значения 1;

-просматриваем поочередно все элементы массива и как только один из элементов больше максимального присваиваем m номер этого элемента, аналогично проделываем с минимальным;

-затем делаем переприсваевание и меняем местами наибольший и наименьший члены массива;

- выводим результат;

-вводим новый массив и его элементы;

- затем делаем переприсваевание и меняем местами наибольший и последний члены массива;

- выводим результат.  

Переменные:

n – размер массива;

i – номер элемента массива;

a,b,c,m - вспомогательные переменные.


БЛОК-СХЕМА к задаче №

3




Решение задачи № 48 на языке  Turbo Paskal

var mas:array[1..20] of integer;                                                                                               i,m,a,n,b,c,max,min:integer;

begin            writeln(‘введите размер массива n’);     readln(n);           for i:=1 to n do        

begin

 writeln(‘введите элемент массива’);

 readln(mas[i]);

end;

max:=mas[1]; m:=1;

min:=mas[1]; a:=1;

for i:=2 to n do

begin

if mas[i]>max then

begin

max:=mas[i];

m:=i

end;

if mas[i]<min then

begin

min:=mas[i];

a:=i

end;

end;

b:=mas[m];

mas[m]:=mas[a];

mas[a]:=b;

for i:=1 to n do

writeln (mas[i]);

begin             writeln(‘введите размер массива n’);      readln(n);           for i:=1 to n do        

begin

 writeln(‘введите элемент массива’);

 readln(mas[i]);

end;

max:=mas[1]; m:=1;

min:=mas[1]; a:=1;

for i:=2 to n do

begin

if mas[i]>max then

begin

max:=mas[i];

m:=i

end;

if mas[i]<min then

begin

min:=mas[i];

a:=i

end;

end;

c:=mas[m];

mas[m]:=mas[n];

mas[n]:=c;

for i:=1 to n do

writeln (mas[i]);

end;

end.


ЗАКЛЮЧЕНИЕ

В ходе лабораторной работы были применены знания полученные на теоретических занятиях. При выполнении данной лабораторной работы – научилась применять основные правила работы с массивами, определять, какие операции возможно применять на массиве в целом, а какие только над отдельными его элементами.


Приложение 1

Тестирование задачи № 48:

Вводим размер массива n=2, получаем матрицу и смотри мсимметрию относительно главной диагонали:

Тестирование задачи №3

Вводим размер массива n=3, затем вводим поочередности элементы массива  и на экране получаем итоговый массив где максимальное и минимальное числа поменялись местами.

Вводим размер массива =3 , затем вводим поочередности элементы массива  и на экране получаем итоговый массив где максимальное и последнее числа поменялись местами.




Возможно эти работы будут Вам интересны.

1. Строки в программировании на языках высокого уровня

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

3. Представление о программировании: язык программирования (на примере одного из языков высокого уровня); примеры несложных программ с линейной, ветвящейся и циклической структурой

4. Метафоры и метонимии в звучащих и жестовых языках

5. Общая характеристика объектов в языках программирования

6. Организация ввода вывода в языках программирования. Понятие потока. Потоковые классы

7. СЕМАНТИЧЕСКАЯ ХАРАКТЕРИСТИКА ФРАЗЕОЛОГИЧЕСКИХ ЕДИНИЦ, РЕПРЕЗЕНТИРУЮЩИХ КОНЦЕПТ «БОГАТСТВО» В АНГЛИЙСКОМ И РУССКОМ ЯЗЫКАХ

8.  Технологическое обоснование и разработка экологически безопасной технологию возделывания озимой ржи в условиях Тверской области , обеспечивающая получение ДВУ зерна высокого качества

9. Определение уровня существенности ошибки

10. ИССЛЕДОВАНИЕ УРОВНЯ АДАПТАЦИИ ДЕТЕЙ РАННЕГО ВОЗРАСТА