- •Практикум по Турбо Паскалю
- •Первые занятия Первое знакомство с системой программирования Турбо Паскаль
- •Команды редактора
- •Задания
- •Режим помощи
- •Первая программа
- •Простейшие линейные программы
- •Арифметический квадрат. Абсолютная величина
- •Запуск программы
- •Сохранение программы
- •Выход из системы программирования Турбо Паскаль
- •Целый и логический типы данных Условный оператор
- •Логический тип данных
- •Условный оператор
- •Вложенные операторы условия
- •Целый тип данных. Цикл с параметром
- •Цикл с параметром (разбор на примере)
- •Работа с окнами. Метод пошагового выполнения программ
- •Работа с окнами
- •Решение задач с использованием цикла с параметром
- •Вопросы для обсуждения
- •Трассировка примера
- •Цикл с постусловием
- •Алгоритм Евклида
- •Вложенные циклы
- •Решение задач с использованием циклов с условием
- •Простые типы данных
- •Задания
- •Решение задач
- •Вещественный тип данных
- •Задание
- •Решение задач
- •Ограниченный, перечисляемый типы данных. Оператор варианта
- •Ограниченный тип данных
- •Оператор варианта
- •Перечисляемый тип данных
- •Решение задач
- •Описание переменных, констант и типов Раздел описания констант
- •Раздел описания переменных
- •Раздел описания типов
- •Решение задач
- •Преобразование типов. Совместимость типов
- •Задания
- •Решение задач
- •Решение задач
- •Контрольные работы Контрольная работа №1
- •Контрольная работа №2
- •Основы Паскаля
- •X y22m размер gamma alfa r15
- •Процедуры и функции
- •Описание процедур и функций
- •Файловый тип
- •Описание файлового типа
- •Подпрограммы
- •Процедура Assign
- •Процедура Reset
- •Процедура Rewrite
- •Процедура Write
- •Процедура Close
- •Функция FileSize
- •Функция FilePos
- •Текстовые файлы
- •Описание текстового файла
- •Консоль
- •Устройства
- •Соответствие текстовых файлов и логических устройств
- •Операции над текстовыми файлами
- •Процедура Assign
- •Процедура Reset
- •Процедура Rewrite
- •Процедура Append
- •Процедура Close
- •Функция Eof
- •Функция SeekEof
- •Блочные файлы Описание типа блочного файла
- •Процедура BlockRead
- •Процедура BlockWrite
- •Операции ввода-вывода
- •Регулярные типы данных Одномерные массивы. Работа с элементами
- •Способы задания одномерных массивов
- •Работа с элементами массива (разбор на примерах)
- •Методы работы с элементами одномерного массива Изменение значения некоторых элементов
- •Создание массива
- •Работа с несколькими массивами
- •Удаление элементов из одномерного массива Удаление элемента
- •Вставка элементов в одномерный массив Вставка одного элемента
- •Вставка нескольких элементов
- •Перестановка элементов массива
- •Перестановка части массива
- •Найти сумму элементов
- •Работа с несколькими массивами
- •Двумерный массив. Работа с элементами Изменение значений некоторых элементов, удовлетворяющих заданному свойству
- •Заполнение двумерного массива по правилу.
- •Вставка и удаление элементов двумерного массива
- •Перестановка элементов массива
- •Комбинированный тип данных (записи)
Решение задач с использованием цикла с параметром
Как выглядит оператор цикла с параметром?
Какие из приведенных операторов правильные и почему?
For i := 12 To 15 Do s := s + i;
For a := 30 To 20 Do
If a Mod 3 = 0 Then d := d + 1;
For x := 1 To 20 Do
s := s + x; If (x Mod 2 = 0) Or (x Mod 3 = 0) Then d := d + 1.
В цикле должны выполнятся два оператора.
Задать с помощью условного оператора следующие действия:
-
меньшее из двух данных чисел (a и b) заменить на 0, а в случае их равенства заменить оба;
большее из трех данных чисел (a, b, и c) уменьшить на 5.
Решение задач
В трехзначном числе зачеркнули первую цифру слева, когда полученное двузначное число умножили на 7, то получили данное число. Найти это число. Ответ: 350.
Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найти все такие числа.
Дано натуральное число n (n<=9999). Определить, является ли оно палиндромом (''перевертышем''), с учетом четырёх цифр. Например, палиндромами является числа: 2222, 6116, 0440.
Вопросы для обсуждения
-
Дано число n. Каким образом можно построить ''перевёртыш'' данного числа?
Сколько переменных необходимо для решения данной задачи? Объясните назначение каждой переменной.
Решение
Обозначим: n - вводимое число; m - дубликат числа n; a - перевертыш числа n; i - переменная цикла для создания перевертыша.
Program Example_7; Var n,m,a,i : Integer; Begin Writeln('введите целое число, не большее 9999'); Readln(n) {вводим целое число} m:=n; a:=0;>
{ создание перевертыша }
For i=1 Begin a:=a*10+m Mod 10; m:=m Div 10 End.>
Трассировка примера
Рассмотрим выполнение этой программы в пошаговом режиме для числа 3994.
i |
n |
m |
a - это перевертыш |
- |
3994 |
3994 |
0 |
1 |
3994 |
399 |
0*10+3994 mod 10=0+4=4 |
2 |
3994 |
39 |
4*10+399 mod 10=40+9=49 |
3 |
3994 |
3 |
49*10+39 mod 10=490+9=499 |
4 |
3994 |
0 |
499*10+3 mod 10=4990+3=4993 |
Так как значение переменной a не равно значению переменной n, то на экране появится слово 'НЕТ!!!'.
Даны натуральные числа n, k (n, k<=9999). Из чисел от n до k выберете те, запись которых содержит три одинаковых цифры. Например, числа 6766, 5444, 0006, 0060 содержат ровно три одинаковых цифры.
Решение
Если данное число содержит ровно три одинаковых цифры, то только одна из цифр отличается от остальных, то есть возможны четыре случая:
|
1 |
2 |
3 |
4 |
1 |
x |
x |
x |
|
2 |
x |
x |
|
x |
3 |
x |
|
x |
x |
4 |
|
x |
x |
x |
В первом случае отличается последняя цифра, во втором - третья, в третьем - вторая, а в четвертом - первая. Для каждого числа выполняется только одно из условий.
Фрагмент решения
Begin Writeln('Введите два числа, не больших 9999'); For i:=n To k Do Begin
{выделение цифр: а1 - первая, а2 - вторая, а3 - третья, а4 - четвертая}
a4:=m Mod 10; m:=m Div 10; a3:=m Mod 10; m:=m Div 10; a2:=m Mod 10; a1:=m Div 10;
{проверка условий}
If ((a1=a2) And (a1= a3) And (a1<>a4)) Or
{первое условие}
Трассировка примера
Рассмотрим выполнение программы для числа 3733.
n |
m |
a1 |
a2 |
a3 |
a4 |
3733 |
3733 |
- |
- |
- |
3 |
3733 |
373 |
- |
- |
3 |
3 |
3733 |
37 |
3 |
7 |
3 |
3 |
Для данного числа выполняется третье условие, поэтому на экране появится число 3733.
Среди четырёхзначных чисел выбрать те, у которых все четыре цифры различны.
Дано четырёхзначное число n. Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Например, из числа 1509 должно получиться 19.
Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведённых в n-ю степень, равна самому числу. Получить все числа Армстронга, состоящие из трёх и четырёх цифр.
Дана последовательность из 20 целых чисел. Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей.
Циклы с условиями
Целый тип. Циклы с предусловием
Целый тип
|
описание - идентификатор Longint; |
|
диапазон значений от -2 147 483 648 до 2 147 483 647 |
Цикл с предусловием
Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания.
Оператор цикла с предусловием |
while <условие> do <тело цикла>; |
Примечание. К уроку можно подготовить таблицу с конструкцией оператора цикла с предусловием (цикл while).
Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется <тело цикла>, а затем вновь проверяется условие и т.д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение <тела цикла> прекратится.
Подсчёт количества цифр начнём с последней цифры числа. Увеличим счётчик цифр на единицу. Число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т. д., пока число не станет равным нулю .
Примечание:
Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками.
В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание.
Пример:
Дано натуральное число n. Подсчитать количество цифр данного числа.
Решение
Подсчет количества цифр начнем с последней цифры числа. Увеличим счетчик цифр на единицу. Число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т.д., пока число не станет равным нулю.
Program Exampl_8; Var m, n: Longint; k: Integer; {счетчик цифр} Begin Writeln('Введите целое число); {вводим целое число n} Readln(n);m:n; k:=0;<ик> Writeln('В числе' n,' - ',k,' цифр!); {вывод количества цифр} Readln; End.
