Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
210700_МУ_СРС_ЯП.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
265 Кб
Скачать
☆

Самостоятельная работа 1

Структуры языка. Типы данных. Операторы. Процедуры. Функции

1 Цель:

1.1 Закрепление теоретических знаний по основам программирования на языке Pascal, подготовка к выполнению первой лабораторной работы.

2 Вид самостоятельной работы:

2.1 Пользуясь конспектом лекций и учебниками [2], [3], [5], изучить основные операторы языка, стандартные типы данных, структуру процедур и функций.

Самостоятельная работа 2

Интегрированная среда IDE

1 Цель:

1.1 Закрепление сведений и приемов работы в интегрированной среде IDE, полученных на лабораторной работе 1.

2 Вид самостоятельной работы:

2.1 Пользуясь конспектом лекций и учебными пособиями [3], [5], освоить приемы работы в интегрированной среде и настройки режимов работы в ней.

Самостоятельная работа 3

Графика. Файлы

1 Цель:

1.1 ознакомление с файловой системой в языке Pascal: создание файла, тип файловых данных, текстовые файлы. Ознакомление с основными графическими примитивами.

2 Вид самостоятельной работы:

2.1 Пользуясь конспектом лекций, учебными пособиями [3], [5] и навыками работы, полученными на лабораторной работе 2, освоить приемы создания файлов в интегрированной среде и настройки режимов работы в ней. Применение стандартных графических примитивов для рисования простейших графиков. Модифицировать программу, построенную на лабораторной работе 2 с использованием модуля инициализации графического режима.

Самостоятельная работа 4

Среда DELPHI. Настройки, запуск задач, отладка

1 Цель:

1.1 Ознакомление с системой визуального программирования Turbo-Delphi, интегрированной оболочкой системы.

2 Вид самостоятельной работы:

2.1 Пользуясь конспектом лекций, учебными пособиями [3], [5] и системой программирования Turbo-Delphi, освоить приемы работы в интегрированной среде, работы с компонентами, их свойствами, с инспектором объектов.

Самостоятельная работа 5

Основные алгоритмы обработки данных

1 Цель:

1.1 Ознакомление с алгоритмами работы с массивами, записями, с алгоритмами сортировки.

2 Вид самостоятельной работы:

2.1 Ознакомиться с алгоритмами: сортировки по убыванию и возрастанию (для числовых элементов массива) и аналогичных алгоритмов сортировки в алфавитном порядке (для текстовых данных), с алгоритмами поиска элемента в упорядоченном массиве (метод бинарного поиска), с алгоритмами обработки двумерных массивов. На основе учебной программы линейной сортировки массива целых чисел по убыванию построить программы сортировки массива целых чисел по возрастанию, массива строк в алфавитном порядке.

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

Программа линейной сортировки массива по убыванию:

program sortlin;

uses CRT;

const

N=10;

B:array[1..N] of integer=(19,2,60,33,3,6,9,52,23,44);

type

chisla=array [1..n] of integer;

var

a:chisla;

i:integer;

k:integer;

{=============================================}

procedure pseudo(m: integer; a: chisla);{псевдографика}

{процедура выводит на экран псевдографическое изображение массива чисел в виде строчек из a[i] символов как условных величин числа}

var

i,k,j:integer;

begin

for i:=1 to m do

begin

for j:=1 to 2 do

begin

writeln;

for k:=1 to a[i] do

write('W');

end;

writeln(a[i]:3);

end;

readln;

end;

{=============================================}

procedure lin_sort(N:integer;var mass:chisla);

var

k,j:integer;

numer:integer;

function num_max_elem( num:integer):integer;

var

k:integer;

maxel:integer;

begin

maxel:=mass[num];

for k:=num+1 to N do

if mass[k]>maxel then

begin

maxel:=mass[k];

num:=k;

end;

num_max_elem:=num;

end;

procedure swap(var x,y:integer);

var

z:integer;

begin

z:=x;x:=y;y:=z;

end;

begin

for i:=1 to N-1 do

begin

numer:=num_max_elem(i);

if numer<>i then swap(mass[i],mass[numer]);

pseudo(N,mass);

{readln;}

end;

end;

{==============основная программа=============================}

begin

a:=chisla(B);

pseudo(n,a);

lin_sort(n,a);

{ readln;}

end.

Заготовка программы обработки двумерного массива.

Program dim2;

Uses CRT;

const

N=10;M=12;

type

chisla=array [1..n] of integer;

var

Mass2: array[1..M] of chisla;{двумерный массив как массив строчек}

Num:chisla;{массив номеров максимальных по строкам}

{здесь объявить переменные, необходимые для работы программы}

function num_max_elem( num:integer; mass: chisla): integer;

var

k:integer;

maxel:integer;

begin

maxel:=mass[1];

num:=1;

for k:=num+1 to N do

if mass[k]>maxel then

begin

maxel:=mass[k];

num:=k;

end;

num_max_elem:=num;

end;

begin

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

randomize; {установка датчика в исходное состояние}

WRITELN('задайте через пробел целые числа: границы интервала A, B ');

read(A,B);

{формируем массив и печатаем в виде таблицы по строкам }

for i:=1 to m do

begin

for k:=1 to n do

begin

M[I,k]:=A+RANDOM(B-A);

WRITELN(M[I,k]:6);

end; writeln;

num[k]:= num_max_elem(1,M[I]);{в качестве параметра отдаем строку массива}

end;

{полученный массив номеров максимальных элементов по строкам передаем в процедуру и вычисляем номер максимального элемента в нем}

{эти операторы и оператор печати результата: номер строки и номер столбца написать самостоятельно}

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]