
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Лабораторная работа по теме «Работа с файлами»
- •Лабораторная работа по теме «Записи»
- •Практическое занятие по теме «Рекурсия»
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •3. Лабораторная работа по теме «Реализация программ с использованием циклов в языке программирования Pascal»
- •Индивидуальные задания для выполнения лабораторной работы
- •4. Тема практического занятия «Символьный и строковый тип»
- •Задачи для индивидуального решения
- •5. Лабораторная работа по теме «Работа с линейными массивами»
- •Темы индивидуальных заданий для выполнения данной лабораторной работы
- •Темы индивидуальных заданий для выполнения лабораторной работы
- •7 Практическое занятие по теме «Двумерные массивы»
- •Задачи для индивидуального решения.
- •8 Практическое занятие по теме «Процедуры и функции»
- •Процедуры
- •Функции
- •Задачи для индивидуального решения
- •8.2 Функции
- •9 Лабораторная работа по теме «Работа с файлами»
- •Индивидуальные задания для выполнения данной лабораторной работы
- •Индивидуальные задания для выполнения данной лабораторной работы
- •11 Лабораторная работа по теме «Записи»
- •Индивидуальные задания для выполнения данной работы
- •12 Практическое занятие по теме «Рекурсия»
- •Задачи для индивидуального решения
- •13 Лабораторная работа по теме «Динамические переменные (указатели, линейные списки, очереди, стеки)»
- •Задачи для индивидуального решения
Для решения задачи:
-формируем тело программы и описываем переменные;
-создаем функцию card, подсчитывающую количество элементов в множестве;
-организуем пустое множество;
-в цикле repeat ... until вводим числа до тех пор, пока не ввели 0, и
дописываем их в множество;
-вызываем функцию card и выводим значение счетчика k1 на экран;
-завершаем работу программы.
Переменные: в функции card:
A - множество (формальный параметр);
p - счетчик цикла от 0 до 99 (локальная переменная);
k - количество элементов множества А (локальная переменная);
в основной программе:
x - введенное число (локальная переменная);
b - созданное множество (локальная переменная);
k1 - количество элементов в созданном множестве (фактический параметр).
Темы индивидуальных заданий для выполнения лабораторной работы
6.1Реализация алгоритмов основных операций над множествами
Необходимо реализовать следующие алгоритмы с множествами:
1. Слияния двух множеств.
2. Объединение двух множеств.
3. Разность двух множеств.
6.2Задачи для индивидуального решения»
1. Спортлото: 6 из 49.
Составьте программу, в которой загадываются, иначе говоря, создаются разных чисел, значения которых никак не связаны друг с другом, а величина лежит в интервале от 1 до 49.
41
(Выражение random (49)+1 дает случайное целое число в интервале от 1 до 49).
2.В возрастающем порядке напечатать все целые числа из диапазона 1..255, представимые в виде n^2 + m^2 , где m,n>=0.
3.Дана строка. В алфавитном порядке напечатайте (по разу) все малые латинские буквы, входящие в эту строку ровно один раз.
4.Введите множество, состоящее из 20 целых чисел от 1 до
50.Определите, сколько чисел, у которых первая значащая цифра в десятичной записи есть 1 или 2.
5.Дана строка. Подсчитайте сумму цифр, не входящих в данную строку.
6.Введите множество, состоящее из 15 целых чисел от 0 до
255.Определите, сколько среди них точных квадратов (одинаковые числа считать по разу).
7.Дана строка. В алфавитном порядке напечатайте все малые латинские буквы, не входящие в эту строку.
8.Введите множество, состоящее из 20 целых чисел от 1 до
50.Определите, сколько среди них чисел Фибоначчи.
9.Дана строка из строчных латинских букв. Напечатать все буквы, входящие в строку по одному разу.
10.Дана строка из строчных латинских букв. Напечатать первые вхождения букв в текст, сохраняя их взаимный порядок.
Указание: формируйте множество, в которое очередной элемент добавляется после первой печати.
11.Введите множество, состоящее из 20 целых чисел от 1 до
50.Определите, сколько чисел, у которых последняя цифра 3, 5 или
7.12. Создайте множество, состоящее из простых чисел < 255 и дающее при делении на 4 остаток 3. Напечатайте элементы этого множества.
13.Дана строка символов. В возрастающем порядке напечатайте все цифры, входящие в эту строку.
14.Дана строка. В алфавитном порядке напечатайте (по разу) все строчные латинские согласные буквы, входящие в эту строку.
Указание: гласные буквы - а, e, i, o, u; остальные - согласные.
15.Введите множество, состоящее из 20 целых чисел от 1 до
100.Определите, сколько среди них чисел, которые не являются числами Фибоначчи.
16.Создайте множество, состоящее из чисел Фибоначчи меньших 255. Напечатайте элементы этого множества в порядке убывания.
42
17. Введите множество, состоящее из 20 целых чисел от 1 до
100.
Определите, сколько среди них простых чисел.
18.Дана строка символов. Подсчитайте количество различных латинских малых букв, входящих в данную строку.
19.Дана строка. Определить, каких букв больше в этом тексте, латинских строчных гласных или согласных.
Указание: гласные буквы - а, e, i, o, u; остальные - согласные.
20.Создайте множество, состоящее из составных чисел <
255.Напечатайте элементы этого множества в порядке убывания.
7Практическое занятие по теме «Двумерные массивы»
Приступая к решению задач этого раздела, следует вспомнить, что:
массивы - это совокупности однотипных элементов. Характеризуются они следующим:
•каждый компонент массива может быть явно обозначен и к нему имеется прямой доступ;
•число компонент массива определяется при его описании и
вдальнейшем не меняется.
Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый элемент. Тип индекса может быть только порядковым (кроме longint). Чаще всего используется интервальный тип (диапазон).
Описание типа массива задается следующим образом: type
имя типа = array[ список индексов ] of тип
Так как тип, идущий за ключевым словом of в описании массива, - любой тип Турбо Паскаль, то он может быть и другим массивом. Например:
type
mas = array[1..5] of array[1..10] of integer;
Такую запись можно заменить более компактной: type
mas = array[1..5, 1..10] of integer;
Таким образом возникает понятие многомерного массива. Глубина вложенности массивов произвольная, поэтому количество
43
элементов в списке индексных типов (размерность массива) не ограничена, однако не может быть более 65520 байт.
Работа с многомерными массивами почти всегда связана с организацией вложенных циклов. Так, чтобы заполнить двумерный массив (матрицу) случайными числами, используют конструкцию вида:
for i:=1 to m do
for j:=1 to n do a[i,j]:=random(10);
Для "красивого" вывода матрицы на экран используйте такой цикл:
for i:=1 to m do begin
for j:=1 to n do write(a[i,j]:5); writeln;
end;
Пример решения задачи
Дана матрица NxM, состоящая из натуральных чисел. Выбрать в строках самые левые наименьшие элементы и поставить их в первый столбец. Для решения этой задачи нужно сначала найти самый левый минимальный элемент в строке и запомнить его местоположение, а затем поменять его местами с элементом в первом столбце.
const t=100; s=100; var
a: array [1..t,1..s] of integer; n, m, jm, i, j, min: integer; begin
write('Введите количество строк n='); readln(n);
write('Введите количество столбцов m='); readln(m);
for i:=1 to n do begin
write('Вводите через пробел', m,'чисел'); {ввод матрицы} for j:=1 to m do read(a[i,j]);
end;
for i:=1 to n do {нахождение минимально числа }
44
begin
min:= a[i,1]; jm:=1;
for j:=1 to m do
if min > a[i,j] then begin
jm:=j;
min:=a[i,j]; end; a[i,jm]:=a[i,1]; a[i,1]:=min;
end;
for i:=1 to n do
{вывод матрицы на экран в виде таблицы} begin
for j:=1 to m do write(a[i,j]:4); writeln;
end end.
Для решения задачи:
-формируем тело программы и описываем переменные;
-вводим размеры массива А и значения его элементов;
-просматриваем строки массива слева направо, ищем минимальное значение и
запоминаем значения индексов;
-для каждой строки меняем местами минимальный элемент
иэлемент в первом
столбце; - выводим матрицу на экран.
Переменные:
a - двумерный массив;
n,m - количество строк и столбцов массива; i,j - переменные цикла;
jm - столбец минимального элемента для каждой строки; min - текущий минимум.
45