Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
№___230105__ МУ_лаб и пр_ОАиП_часть первая.docx
Скачиваний:
4
Добавлен:
26.04.2019
Размер:
383.97 Кб
Скачать

Краткие теоретические сведения

Алгоритмы разбиения строки символов на «слова» (одномерный массив «слов»)

Program prim_razb_str1;

Uses CRT;

Comst

N=128;

Type

Massiv=array[1..N]of string;

Var

St,st1:string;

Mas_sl:Massiv;

i,p,k:integer;

BEGIN

ClrScr;

Writeln(‘введите строку символов’);

Readln(st);

st1:=st+ ‘ ‘;

p:=0;

while length(st1)>0 do

begin

while st1[1]=’ ’do delete(st1,1,1)

if length(st1)>0

then

begin

p:=p+1;

k:=pos(’ ‘,st1);

Mas­_sl[p]:= copy(st1,1,k-1);

delete(st1,1,k);

end;

end;

if p>0

then

For i:=1 to p do writeln(Mas­_sl[i]);

Readln;

END.

Program prim_razb_str2;

Uses CRT;

Comst

N=128;

Type

Massiv=array[1..N]of string;

Var

St,st1:string;

Mas_sl:Massiv;

` i,p,k,n:integer;

BEGIN

ClrScr;

Writeln(‘введите строку символов’);

Readln(st);

st1:=’ ’st+ ‘ ‘;

p:=0;

n:=0;

k:=0;

For i:=1 to length(st1)-1do

begin

if ((st1[i]=’ ’)and (st1[i+1]<>’ ’))then n:=i+1;

if ((st1[i]<>’ ’)and (st1[i+1]=’ ’))then k:=i;

if n*k>0

then

begin

p:=p+1;

Mas­_sl[p]:= copy(st1,n , k-n+1);

n:=0;

k:=0;

end;

end;

if p>0

then

For i:=1 to p do writeln(Mas­_sl[i]);

Readln;

END.

Лабораторная работа №10(2 часа)

Тема: Компиляция и тестирование программы(См. лаб. раб. №9) обработки массивов строк.

Цель: Приобрести навыки проведения компиляции и тестирования программы.

Задание: Провести компиляцию и тестирование программы, разработанной в ходе выполнения лабораторной работы №9.

Практическая работа №8 (2 часа)

Тема: Организация процедур и функций.

Цель: Изучить понятия процедура и функция, виды процедур и функций, синтаксис объявления и вызова. Приобрести навыки использования стандартных процедур и функций и составления, собственных в рамках заданий варианта.

Задание: Описать процедуры или функции реализующие решение задач согласно варианту (при создании процедур и функций рекомендуется использовать параметры делающие подпрограмму более универсальной. В подпрограммы не рекомендуется использовать только глобальные переменные. Провести анализ использованных переменных и параметров.

Вариант 1. Даны натуральные n, m, k (n>1, m>1, k>1), целые a1, a2, …, an, b1, b2, …, bm, c1, c2, …, ck. Получить:

min (b1, b2, …, bm) + (c1, c2, …, ck) при min (a1, a2, …, an) >10,

L=

1+ (min (c1, c2, …, ck))2 в противном случае.

Вывести полученное значение L.

Вариант 2. Даны натуральные k, l, m, действительные x1, x2, …, xk, y1, y2, …, yl, z1, z2, …, zm. Получить:

(max (y1, y2, …, yl) + min (z1, z2, …, zm))/2 при max (x1, x2, …, xk) >0,

t=

1+ (max (x1, x2, …, xk))3 в противном случае.

Вариант 3. Дано натуральное n, действительные a1, a2, …, an. Получить x + y2 + z3, где

x = a a× an,

y = an+1× an+2×× a2n,

z = a2n+1 × a2n+2 ×× a3n.

Вариант 4. Даны действительные числа s и t. Получить и вывести на экран g(1.2, -s) + g(t,s) – g(2s – 1, st), где

Вариант 5. Дано действительное число y. Получить и вывести на экран , где

Вариант 6. Даны действительные числа a, b и c. Получить и вывести на экран

Вариант 7. Даны целочисленные 20 элементные массивы x1, x2, …, x20 и y1, y2, …, y20. Получить и вывести на экран:

при

U =

иначе.

Вариант 8. Даны вещественные 20 элементные массивы a1, a2, …, a20, b1, b2, …, b20 и c1, c2, …, c20. Получить и вывести на экран:

при min(ai) < max(bi),

Т =

max(bi + ci) + min(ci), иначе.

Вариант 9. Даны две квадратные вещественные матрицы порядка 10х10. Вывести на экран квадрат той из них, у которой наименьший след (сумма диагональных элементов), считая, что такая матрица одна.