
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Лабораторная работа по теме «Работа с файлами»
- •Лабораторная работа по теме «Записи»
- •Практическое занятие по теме «Рекурсия»
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •Задачи для индивидуального решения
- •3. Лабораторная работа по теме «Реализация программ с использованием циклов в языке программирования Pascal»
- •Индивидуальные задания для выполнения лабораторной работы
- •4. Тема практического занятия «Символьный и строковый тип»
- •Задачи для индивидуального решения
- •5. Лабораторная работа по теме «Работа с линейными массивами»
- •Темы индивидуальных заданий для выполнения данной лабораторной работы
- •Темы индивидуальных заданий для выполнения лабораторной работы
- •7 Практическое занятие по теме «Двумерные массивы»
- •Задачи для индивидуального решения.
- •8 Практическое занятие по теме «Процедуры и функции»
- •Процедуры
- •Функции
- •Задачи для индивидуального решения
- •8.2 Функции
- •9 Лабораторная работа по теме «Работа с файлами»
- •Индивидуальные задания для выполнения данной лабораторной работы
- •Индивидуальные задания для выполнения данной лабораторной работы
- •11 Лабораторная работа по теме «Записи»
- •Индивидуальные задания для выполнения данной работы
- •12 Практическое занятие по теме «Рекурсия»
- •Задачи для индивидуального решения
- •13 Лабораторная работа по теме «Динамические переменные (указатели, линейные списки, очереди, стеки)»
- •Задачи для индивидуального решения
18.Написать программу нахождения наибольшего общего делителя четырех положительных целых чисел. Числа вводятся с клавиатуры.
19.Сосчитать количество единиц в двоичной записи числа i.
20.Написать программу проверки умения складывать и вычитать числа в пределах 100. Программа должна вывести 10 примеров, причем в каждом примере уменьшаемое должно быть больше или равно вычитаемому, т. е. не допускается предлагать испытуемому примеры с отрицательным результатом. Оценка выставляется по следующему правилу: за 10 правильных ответов
—"отлично", за 9 и 8 —"хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо". Ниже представлен рекомендуемый вид экрана во время работы программы. Ответы пользователя выделены полужирным шрифтом.
Проверка умения складывать и вычитать числа. После примера введите ответ и нажмите <Enter>
75-4=71
35-9=29
Вы ошиблись! 35-9=26 14-1=13
6-5=1
37-19=28
Вы ошиблись! 37-19=18 53-14=39 94-87=7 90-16=74 4-2=2 89-41=48
Правильных ответов: 8 Оценка: Хорошо
4. Тема практического занятия «Символьный и строковый тип»
Приступая к решению задач этого раздела, следует вспомнить, что:
•каждому символу соответствует число — код символа;
•получить доступ к отдельному символу строки можно, указав его номер в квадратных скобках после имени переменной (строки).
26
Примеры решения задач
1. Дана строка символов. Группы символов в ней между группами пробелов считаются словами. Посчитать, сколько слов содержит данная строка.
var
s: string;
i, k: integer; begin
writeln('Введите строку'); readln(s);
k:=0;
i:=1;
while i<=length(s) do begin
{пропускаем пробелы}
while (s[i]=' ') and (i<=length(s))do i := i+1;
if i<=length(s) then k := k+1; {ищем новый пробел}
while (s[i]<>' ') and (i<=length(s)) do i := i+1;
end;
writeln('количество слов =',k) end.
Для решения задачи:
-формируем тело программы и описываем переменные;
-вводим строку s;
-на каждом шаге внешнего цикла отыскиваем очередное слово в строке и
увеличиваем счетчик слов;
-выводим результат на экран.
Переменные:
i - вспомогательная переменная; s - строка текста;
k - счетчик слов.
27
Задачи для индивидуального решения
1.Дана строка символов. Удалить из нее все знаки препинания.
2.Для заданных трех строк S1, S2 и S3 определить какая из этих строк является палиндромом.
3.Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом.
4.Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом.
5.Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом.
6.Ввести две строки S1 и S2, состоящие только из цифр. Определить в какой строке сумма цифр большая.
7.Даны две строки S1 и S2. Создать строку, состоящую из символов, входящих либо в S1, либо в S2, но не в обе сразу.
8.Для двух заданных строк, состоящих только из цифр и начинающихся 0, найти строку - сумму чисел, представленных данными строками.
9.Из данной строки удалить все цифры и малые латинские
буквы.
10.Составьте программу, в результате выполнения которой в
первой заданной строке удваивается каждый символ,
принадлежащий также второй строке.
11.Составить программу, в результате выполнения которой из первой заданной строки удаляется каждый символ, не принадлежащий также второй строке.
12.Составить программу, в результате выполнения которой из первой заданной строки удаляется каждый символ, принадлежащий второй строке.
13.В данной строке удвоить все цифры и малые латинские
буквы.
14.Составить программу, в результате выполнения которой
впервой заданной строке удваивается каждый символ, не принадлежащий второй строке.
15.Даны две строки. Создать строку, состоящую только из символов, общих для двух данных строк.
16.Для каждой цифры '0', '1',..., '9' подсчитать количество вхождений в данную строку S.
28
17.Для каждой малой латинской буквы 'a', 'b', 'c',..., 'z' напечатать количество вхождений в данную строку S.
18.Дана строка, состоящая из слов. Напечатать те слова,
которые являются палиндромами.
19.Русский шифр 15-16 веков:
Все согласные буквы русской азбуки записывались в два ряда; одна половина букв вверху, другая половина внизу, причем в обратном порядке (одна буква под другой),
Б В Г Д Ж З К Л М Н Щ Ш Ч Ц Х Ф Т С Р П
При зашифровке слов согласные взаимно заменялись, а остальные буквы вписывались без изменений. Написать программу шифровки и дешифровки текста.
5.Лабораторная работа по теме «Работа с линейными массивами»
Цель работы:
1)Научиться составлять и отлаживать программы на языке
Pascal
2)Практически освоить основные принципы работы с линейными массивами в языке программирования
Pascal.
Приступая к выполнению данной работы, следует вспомнить, что:
•массив — это структура данных, представляющая собой совокупность элементов одного типа;
•массив должен быть объявлен в разделе объявления переменных;
•при объявлении массива удобно использовать именованные константы;
•доступ к элементу массива осуществляется путем указания индекса (номера) элемента, в качестве которого можно использовать выражение целого типа, например, целую константу или переменную типа integer;
•для ввода, вывода и обработки массивов удобно применять ИНСТРУКЦИИ ЦИКЛОВ (for, while, repeat).
29
Отчет по данной работе должен содержать
1)Цель работы
2)Распечатку программы и результатов работы программы
3)Выводы
Пример решения задачи
1. Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.
const m=100; var
mas: array [1..m] of integer; i, k, n : integer;
begin
write('Введите размер массива n='); readln(n);
k:=0;
for i:=1 to n do begin
write('Введите элемент массива'); readln(mas[i]);
end;
for i:=1 to n-1 do
if mas[i]=mas[i+1] then k:=k+1; writeln('Одинаковых пар соседних элементов ',k); readln;
end.
Для решения задачи:
-формируем тело программы и описываем переменные;
-вводим длину массива n, значение элементов массива и устанавливаем начальное значение k;
-последовательно просматриваем элементы, и если очередной mas[i] равен
следующему mas[i+1], то увеличиваем значение k на единицу;
-выводим результат.
Переменные:
mas - массив чисел;
30