- •Содержание
- •Введение уважаемый студент!
- •Желаем Вам успехов!!!
- •Раздел 1 «Основные принципы алгоритмизации и программирования».
- •Тема 1.1. «Основы алгоритмизации»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Раздел 2. «Программирование на алгоритмическом языке»
- •Тема 2.1. «Основные элементы языка» Практическая работа № 4 «Составление программ линейной структуры»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №1.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.2. «Операторы языка» Практическая работа № 5 «Составление программ разветвляющейся структуры»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.3. «Подпрограммы» Практическая работа № 8 «Организация и использование процедур»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 9 «Организация и использование функций»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.4. «Структурированные типы данных» Практическая работа № 10 «Символьный и строковый тип данных»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 11 «Методы работы с элементами одномерного массива»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 13 «Быстрые методы сортировки массивов»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 15 «Методы работы с элементами двумерного массива»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Тема 2.5 Файлы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Assign(Имя файловой переменной, путь до файла);
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Раздел 3. Объектно-ориентированное программирование
- •Тема 3.1 Интегрированная среда разработчика
- •Обеспеченность занятия и средства обеспечения
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 19 «Системные события»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №18.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №18.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
Краткие теоретические и учебно-методические материалы по теме практической работы
Оператор while предназначен для реализации циклов с предусловием.
Форма записи:
while <условие> do <оператор>;
В качестве оператора может быть любой простой или составной оператор Begin ... End. В этом случае цикл с предусловием будет иметь вид:
While <условие> Do
Begin
<операторы>
End;
В цикле с предусловием предварительной проверкой определяется, выполнять тело цикла или нет, до первой итерации. Если это не соответствует логике алгоритма, то можно использовать цикл с постусловием, т.е. цикл, в котором проверяется, делать или нет очередную итерацию, лишь после завершения предыдущей. Это имеет принципиальное значение только на первом шаге, а далее циклы ведут себя идентично.
Оператор repeat реализует цикл с постусловием. Данный цикл всегда будет выполнен хотя бы один раз.
Форма записи:
repeat
<оператор1>;
<оператор2>;
…
until <условие>;
Последовательность операторов может состоять из одного или нескольких любых операторов.
В цикле while подразумевается такой алгоритм: пока условие истинно, выполнять операторы тела цикла.
В цикле repeat действует другой алгоритм: выполнять тело цикла, пока не станет истинным условие, т.е. пока условие ложно, выполняется цикл.
Вопросы для закрепления теоретического материала к практическому занятию:
Что называют циклом?
Какова функция предусловного оператора цикла?
В программах какого типа используется предусловный оператор цикла?
Каким образом можно создать бесконечную программу?
Какова функция оператора цикла с постусловием?
В программах какого типа используется оператор цикла с постусловием?
Почему перед словом UNTIL вставка точки с запятой не обязательна?
В чем отличие оператора while от оператора repeat?
Напишите пример оператора цикла, который не выполняется ни разу.
Какой тип имеет выражение, стоящее за служебным словом UNTIL?
Задания и инструкция по выполнению практической работы
Решите задачу: Определить и вывести на экран цифры целого числа n.
Найдем цифры числа 4538. Для этого надо найти остаток от деления 4538 на 10 с помощью операции нахождения остатка от деления целых чисел (mod):
4538 mod 10 = 8, получим последнюю цифру числа (она же является первой справа).
4 |
5 |
3 |
8 |
Делим на 10 |
div |
mod |
|||
Выдаем сообщение: «1 - я цифра справа равна 8».
После этого выполним целочисленное деление заданного числа 4538 на 10, получим
453 (остаток отбрасывается): 4538 div 10 = 453.
4 |
5 |
3 |
8 |
Делим на 10 |
div |
mod |
|||
Далее процесс повторяем 2 - й раз:
453 mod 10 = 3
4 |
5 |
3 |
Делим на 10 |
div |
mod |
||
2 - я цифра справа равна 3,
453 div 10 = 45,
4 |
5 |
3 |
Делим на 10 |
div |
mod |
||
3 - й раз:
45 mod 10 = 5,
3 - я цифра справа равна 5,
45 div 10 = 4.
4 - й раз:
4 mod 10 = 4,
4 - я цифра справа равна 4,
4 div 10 = 0.
Наберите код программы в PascalABC и протестируйте на разных числах.
Решить задачу: Дано натуральное число n. Подсчитать количество цифр данного числа.
Количество цифр в числе n неизвестно, поэтому необходимо использовать оператор While. Использование For потребует или введения дополнительных переменных, или искусственного выхода из цикла, а мы договорились, что это плохо — каждый фрагмент нашей логики должен иметь одну точку входа и одну точку выхода. Подсчет количества цифр начнем с последней цифры числа. Увеличим счетчик цифр на единицу (k). Число (m) уменьшим в 10 раз, убирая тем самым из него последнюю цифру (подсчитанную). Далее с получившимся числом проделаем ту же последовательность действий и т. д., пока число не станет равным нулю. Для этого и всех остальных задач, требуется выполнять ручную «трассировку». Пусть введено число 65387, присвоим это значение переменной с именем m, значение счетчика числа цифр (k) равно 0. Выполним действия, описанные выше, их результат приведен в таблице. Итак, окончательное значение переменной k равно 5, в числе и цифр.
-
k
M
0
65387
1
6538
2
653
3
65
4
6
5
0
После этого работаем с программой P7_1 по традиционной схеме: набор, компиляция, сохранение, запуск и проверка работы на конкретных примерах.
Модифицируя программу P7_1, решить следующие задачи:
найти сумму цифр числа;
найти первую цифру числа, например, для числа 7265 это цифра 7;
поменять порядок цифр числа на обратный. Например, было 12345, стало 54321;
найти количество четных цифр числа;
найти самую большую цифру числа;
n найти сумму цифр числа, больших 5;
ответить на вопрос, сколько раз данная цифра встречается в числе?
Составить программу перестановки первой и последней цифр введенного натурального числа.
Пусть пользователем введено число 4538. После перестановки первой и последней цифр число станет таким: 8534.
Определить последнюю цифру числа нетрудно. Это можно сделать уже известным нам способом: 4538 mod 10.
Чтобы найти и отделить первую цифру числа, надо использовать прием, который применялся в предыдущих программах для вывода цифр числа и для подсчета суммы цифр, т. е. отделять по одной цифре справа. Но, если в предыдущих программах такой процесс продолжался до тех пор пока n <> 0 (n не равнялось нулю), а когда n становилось равным нулю, то цикл заканчивался т. е. все цифры, включая первую, отделялись, то теперь надо этот процесс остановить на одну цифру раньше и тогда последним значением переменной n будет первая цифра числа. В нашем примере она равна 4.
Итак, первая и последняя цифры найдены. Как переставить их в числе.
Для веденного нами числа это можно сделать так. Вычесть из него первую цифру, умноженную на 1000 и вычесть последнюю цифру:
4538 -4 * 1000 - 8 = 530.
К полученному результату прибавить последнюю цифру - 8, умноженную на 1000 и прибавить первую цифру: 530 +8 * 1000 + 4 = 8534.
Две последние операции можно записать в одной строке:
4538 -4 * 1000 - 8 +8 * 1000 + 4 = 8534.
Возникает одна трудность. Как определить разряд, в котором находится первая цифра числа (первая слева) и на сколько надо умножить ее при вычитании? Тысячи ли это, десятки тысяч или другой разряд?
Для того, чтобы это выяснять заведем переменную, первоначальное значение которой 1, а затем, каждый раз при отделении цифры она умножается на 10.
Посмотрим весь процесс на примере того же числа 4538.
Первоначальные значения: n = 4538, i = 1.
Цикл продолжается пока n ≥ 10, 4538 ≥ 10 - истина, значит операторы цикла выполняются первый раз: i := i *10 = 1*10 = 10; - переменная i получает первое значение,
n := 4538 div 10 = 453.
Проверка условия: 453 ≥ 10 - условие выполняется, значит цикл выполняется второй раз: i := i *10 = 10*10 = 100; n := 453 div 10 = 45.
Проверка условия: 45 ≥ 10 - истина, значит цикл выполняется третий раз: i := i*10 = 100*10 = 1000, n := 45 div = 4.
Проверка условия: 4 ≥ 10 - ложь, значит операторы цикла не выполняются. Цикл заканчивается.
Конечные значения переменных: n = 4 - первая цифра числа, i = 1000.
Теперь остается выполнить сам процесс перестановки цифр и выдать результат на экран. После этого работаем с программой P7_2 по традиционной схеме: набор, компиляция, сохранение, запуск и проверка работы на конкретных примерах.
Составить программу вывода всех натуральных чисел, меньших n, квадрат суммы цифр которых равен заданному числу m.
Напишите код программы по следующему алгоритму:
Переменные:
n, m, k, a, p, s. Тип целый.
n - для границы значений натуральных чисел, m - для числа, с которым сравнивается
квадрат суммы цифр (точный квадрат), k - для натуральных чисел от 1 до n, a - для запоминания натурального числа, перед тем, как будет определяться сумма его цифр, p -для цифр числа, s - для суммы цифр.
Раздел операторов.
1 шаг. Ввод значений n и m.
2 шаг. Установить первоначальное значение для k равное 1 (эта переменная «перебирает» все натуральные числа от 1 до n).
3 шаг. Цикл, пока k <= n:
3.1 шаг. Установить первоначальные значения для суммы s (s:=0);
3.2 шаг. Запомнить число в переменную a (a := k);
3.3 шаг. Цикл для подсчета суммы цифр, пока a <> 0:
3.3.1 шаг. Выделять по одной цифре числа, известным способом.
3.3.2 шаг. Прибавлять по одной цифре к сумме.
3.3.3 шаг. Уменьшать число на последнюю цифру и на порядок.
3.4 шаг. Проверка выполнения условия. Если квадрат суммы цифр равен заданному числу, тогда вывести это натуральное число на экран.
3.5 шаг. Перейти к проверке следующего числа k:=k+1.
Приписать по 1 в начало и в конец записи числа n. Например, было n=3456, стало n=134561.
Решите задачу 1 с использованием оператора Repeat.
Алгоритм задачи приведен в пункте 1. Код программы P7_0 приведен с использованием оператора While. Изменить программу следуя инструкции.
Оператор
Repeat начинается со служебного слова
Repeat. Этот оператор ограничивает тело
цикла двумя служебными слова repeat и
until, поэтому операторные скобки не
нужны. Замените
выделенное на слово Repeat.
Условие
выхода из цикла проверяется в конце
оператора. Оператор
с постусловием работает пока условие
ложно, поэтому условие, которое
применялось в операторе While, нужно
указать на противоположное.
Замените
выделенное на строку until n=0.
С помощью repeat напишите программу, которая требует у вас пароль, например 111, и если пароль правильный, то заполняет все строки экрана сообщением "Молодец!!!". Если после пятой попытки пароль все равно неверен, выйти из программы.
Решите задачу по варианту из электронного задачника PascalABC раздел While. Данную задачу решите в двух вариантах, с использование оператора While и Repeat. Номер варианта, это номер Вашего ПК.
