Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы 1-15_Delphi.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.13 Mб
Скачать

Срсп(3 часа) Задание 1. Решить задачи и создать проекты для реализации решения задач. Постановка задачи

Составить программу и блок-схему для решения каждой из следующих задач:

1.      Вывести на экран только отрицательные элементы одномерного массива и подсчитать их количество.

2.      В последовательности чисел подсчитать количество элементов равных первому; последнему.

3.      Даны два одномерных массива одинаковой длины. Получить третий массив сложение соответствующих элементов первых двух массивов.

СРС(3 часа)

Задание 2. Решить задачи и создать проекты для реализации решения задач дополнительного задания.

Дополнительное задание

Подсчитать сколько элементов одномерного массива не превосходят среднего значения всех элементов.

Лабораторная работа №9 (СРСП, СРС)

Тема: «Двумерные массивы»

Цели работы

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

        Научиться определять необходимость применения массивов при решении задач

        Продолжить формирование логического и аналитического мышления, умения сравнивать факты и делать выводы

Постановка задачи

Составить программу и блок-схему для решения каждой из следующих задач:

1.      Вывести на экран только четные строки двумерного массива.

2.      Найти произведение всех элементов, которые не меньше элемента, стоящего во втором столбце и второй строке.

3.      Дана действительная матрица размера 6х9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.

Дополнительное задание

Найти сумму элементов квадратной матрицы, которые лежат выше главной диагонали.

Лабораторная работа №10(СРСП, СРС)

Тема: «Строки»

Цели работы

        Закрепить умение работы со строками

        Сравнить работу со строками и работу с массивами

        Продолжить формирование логического и аналитического мышления, умения сравнивать факты и делать выводы

Методический материал

Для работы со строками используйте функции:

Length(s); - возвращает длину строки в символа, т.е. число символов в строке.

Например, если n:= Length (‘Иванов’); , то значение n будет равно 6.

Copy(s, k,n); - копирует из строки s символы, начиная с k-го, всего – n символов.

Например, если s1:= Copy(‘Иванов’, 2,3); , то значение s1 = ‘ван’.

Pos(s1,s); - возвращает номер позиции вхождения сочетания символов s1 в s.

Например, если n:= pos(‘до’,’Сидоров’); Значение n будет равно 3, так как с третьей позиции сочетание символов ‘до’ входит в строку.

Процедура Delete(s,k,n); - удаляет из строки s символы, начиная с k-го, всего – n символов.

Например, если s1:= delete(‘Иванов’, 2,3); , то значение s1 = ‘Иов’.

В приведенных примерах вместо символьных констант могут быть указаны строковые переменные.

Постановка задачи

Составить программу и блок-схему для решения каждой из следующих задач:

1)      Дана строка, состоящая из нескольких слов. За последним словом – точка.

a)      Удалить из строки лишние пробелы между словами, т.е. оставить только по одному пробелу, если их несколько.

b)      Разделить строку на слова и найти самое короткое слово в массиве.

Дополнительное задание

Подсчитать, сколько раз в строке встречается первое слово.

Лабораторная работа №11

Тема: «Процедуры и функции»

Цели работы

        Закрепить навыки написания и использования процедур и функций

        Содействовать познавательному интересу к изучаемому предмету

        Продолжить формирование логического и аналитического мышления, умения сравнивать, делать выводы.

Методический материал

Задание 1. В проекте определения массива случайных неповторяющихся чисел (лабораторная работа № 8) объявить в интерфейсной части модуля описания главной формы процедуру

Procedure sluch (var fix: mas; rmax,ksl : integer);

А затем описать ее в выполняемой части модуля.

Procedure sluch (var fix: mas; rmax,ksl : integer);

Var I,j,n :integer;

Yes: Boolean;

Begin

rmax:=strtoint(edit1.text);

ksl:= strtoint(edit2.text);

for I:= 1 to rmax do

fix[I]:=0;

I:=1;

while I<= rmax do begin

n:= random(ksl) +1; // 1 прибавляется для исключения значения 0

yes:=false;

for j:=1 to I do

if fix[j]=n then begin

yes:=true; break;

end; //if

if not yes then begin

fix[I]:=n;

inc(i);

end;

end; //while

end; // proc

В коде кнопки «Найти массив» организовать вызов процедуры sluch и вывод элементов полученного массива в Мемо1.

Var I :integer;

Begin

Memo1.Clear;

rmax:=strtoint(edit1.text);

ksl:= strtoint(edit2.text);

sluch(fix, rmax,ksl); // вызов процедуры

for I:= 1 to rmax do

memo1.Lines.Add(inttostr(fix[I])) ;

end; // proc