- •В.П. Кондратьев языки программирования
- •210700 «Инфокоммуникационные технологии и системы связи»
- •Содержание
- •Пояснительная записка
- •Самостоятельная работа студентов
- •Самостоятельная работа 5
- •Самостоятельная работа 1
- •Самостоятельная работа 2
- •Самостоятельная работа 3
- •Самостоятельная работа 4
- •Самостоятельная работа 6
- •Самостоятельная работа 7
- •Самостоятельная работа 8
- •Самостоятельная работа 9
- •Самостоятельная работа 10
- •Самостоятельная работа 11
- •Самостоятельная работа 12
- •Литература
Самостоятельная работа 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.
