- •Оператор присваивания. Ввод и вывод информации.
- •Программирование разветвлений. Операторы if и case.
- •If Условие then
- •Задачи.
- •Решить квадратное уравнение . Рассмотреть все возможные случаи задания значений коэффициентов , и уравнения.
- •Операторы цикла.
- •Задачи.
- •Массивы
- •Процедуры и функции
- •Рекомендации по использованию процедур и функций:
- •Задание 1 (функции).
- •Задание 2 (процедуры).
Операторы цикла.
Цикл со счётчиком (известным числом повторений):
FOR Счётчик:=начальное значение TO конечное значение DO
Begin
{Инструкции}
End;
FOR Счётчик:=начальное значение DOWNTO конечное значение DO
Begin
{Инструкции}
End;
Параметр (счетчик) цикла For может изменяться (увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на 1. Если нужен другой шаг изменения параметра, предпочтительнее циклы Repeat или While.
Переменная-счетчик должна быть порядкового типа: чаще – целочисленная, реже – символьного, логического или перечисляемого типов. Использование вещественного типа недопустимо.
Начальное и конечное значение счетчика могут быть константами, переменными, выражениями и должны принадлежать одному и тому же типу данных. Их нельзя изменять во время выполнения цикла.
Цикл с постусловием (число повторение может быть неизвестно):
REPEAT
{Инструкции}
UNTIL Условие выхода из цикла ;
Цикл с предусловием (число повторение может быть неизвестно):
WHILE Условие выполнения цикла DO
Begin
{Инструкции}
End;
!! Переменная, которая участвует в условии выхода из цикла Repeat или While, обязательно должна изменяться в цикле (иначе цикл будет выполняться бесконечно).
Инструкции цикла Repeat всегда будут выполнены хотя бы 1 раз.
Для успешного завершения цикла Repeat или While в его теле обязательно должны быть команды, оказывающие влияние на условие выполнения цикла.
While используется в тех же задачах, что и Repeat, но удобнее в случаях, когда возможна ситуация невыполнения цикла.
В операторе While никогда не ставится « ; » после слова do. Ее постановка не приводит к сообщению об ошибке, но компилятор считает, что тело цикла – это пустой оператор, и потому результат работы программы будет неверен.
Дополнительные полезные операторы:
CONTINUE - прекращение выполнения текущей итерации цикла и переход к анализу конца цикла и переходу к следующей итерации
BREAK – прекращение выполнения ближайшего охватывающего цикла.
HALT – прерывает выполнение программы.
GOTO – переход на оператор, отмеченный меткой.
PRED(s) – функция возвращает элемент, предшествующий s в списке значений типа. Тип результата совпадает с типом s. Если предшествующего s элемента не существует, возникает программное прерывание.
SUCC(s) – функция возвращает значение следующее за s в списке значений типа. Тип результата совпадает с типом s.
DEC(x,n) – процедура уменьшает значение целочисленной переменной x на n (т.е. это аналог команды x:=x-n). При отсутствии необязательного параметра n процедура принимает вид DEC(x), а значение x уменьшается на 1.
INC(x,n) – процедура увеличивает значение целочисленной переменной x на n (т.е. это аналог команды x:=x+n). При отсутствии необязательного параметра n процедура принимает вид DEC(x), а значение x увеличивается на 1.
Задачи.
-
Написать программу «Тест по таблице умножения». Сценарий: формируются 2 множителя при помощи функции RANDOM, выводится вопрос и сравнивается ответ, введенный с клавиатуры, с правильным значением. После проведения теста выводятся результаты: число заданных вопросов и число правильных ответов.
-
Вывести на экран таблицу значений функции . Вывод выполняется в 2 столбца: первый – значение аргумента, второй – значение функции.
-
При помощи функции RANDOM сформируйте последовательность случайных целых чисел. Вычислите среднее арифметическое и определите максимальное и минимальное число в последовательности.
-
Составить программу, выводящую членов ряда Фибоначчи (ряд Фибоначчи определяют так: ).
-
Рассчитать сумму
с заданной точностью . Точность вычисления вводится с клавиатуры.
-
! Определить все возможные двузначные числа, для которых выполняется условие: сумма квадратов цифр числа на 1 больше утроенного произведения этих цифр.
-
! Составить программу, которая удаляет из строки все повторно встречающиеся символы. Исходная строка вводится с клавиатуры.
-
! Разработать программу, в основе которой следующие правила. Необходимо ввести как можно больше чисел при соблюдении следующих условий: числа должны быть в диапазоне от 0 до 255; запрещается последовательно вводить числа, разность которых меньше 7. Программа заканчивает работу при первом же ошибочном вводе.
-
! Составить программу вычисления значений в диапазоне с шагом . Функцию описать в виде разложения в ряд Тейлора (можно отдельной функцией-подпрограммой). Количество слагаемых ряда n, границы интервала и шаг вводятся с клавиатуры.
-
! Даны целое и последовательность из вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.
-
Составьте программу вычисления значения биномиального коэффициента: .
-
Найдите наибольшее и наименьшее значение функции , если на заданном интервале аргумент изменяется с шагом .
-
Составьте программу вывода на экран всех простых чисел, не превосходящих заданного . Простым называется натуральное число больше 1, имеющее только 2 делителя: 1 и само это число.
-
! Напечатайте в убывающем порядке трехзначные числа от до , в десятичной записи которых нет одинаковых цифр.
-
! Вычислить по схеме Горнера: . Значение ввести с клавиатуры.
-
! Вычислить по схеме Горнера: .
-
! Составьте программу вычисления при заданном значения функции вида: .
-
! Вычислить: .
-
Вычислить - первое из чисел , , , …, меньшее по модулю .
-
Напишите программу для нахождения первого члена последовательности , , который не принадлежит заданному отрезку .
-
Вычислить: и .
-
! Дано 200 вещественных чисел (для задания можно воспользоваться функцией RANDOM). Определить, сколько из них больше своих «соседей», т.е. предыдущего и последующего числа.
-
Для заданного значения вычислите -ый многочлен Чебышева, сели известны следующие соотношения: ; ; .
-
Пусть дано 50 целых чисел, которые вводятся по одному. Получите сумму тех из них, которые:
-
кратны 5;
-
нечетны и отрицательны;
-
меньше по абсолютному значению порядкового номера вводимого числа.
-
Составьте программу для вычисления и вывода на экран таблицы значений функции . Вывод выполните в 2 столбца: первый – значение аргумента, второй – значение функции. При разработке программы следует учитывать область определения функции и в случае необходимости организовать вывод сообщения – «функция не определена».
функция |
|||
25.1. |
0,1 |
1,25 |
0,1 |
25.2. |
3 |
5,5 |
0,3 |
25.3. |
20 |
115 |
9 |
-
Необходимо составить программу расчета конечной суммы и сравнения полученного результата с контрольным значением. Число членов суммы вводится с клавиатуры с защитой от возможного неверного ввода данных.
-
№
вид суммы
контрольное значение
1
2
3
4
5
6
7
8
-
Вычислить с точностью значения функции:
27.1.
27.2.
27.3. , .
27.4
27.5
27.6
27.7
-
Расчет бесконечных сумм.
Составить программу расчета бесконечной суммы обратных степеней числового ряда. Суммирование проводить, пока очередной член ряда по модулю не станет меньше заданной точности . Результат сравнить с точным значением .
-
№
Вид суммы
Вид ряда
1
2
2
4
3
2
4
4
5
2
6
4
7
6
8
1
9
1
-
* При заданных вычислите сумму тех слагаемых, которые по абсолютной величине больше : , где .
-
* Разработать программу нахождения площади под кривой, заданной уравнением: , в пределах , используя следующий алгоритм: В пределах строится прямоугольник, описывающий кривую (см. рис).
рис
Затем случайным образом ставятся точки в пределах построенного квадрата. При этом: , где - общее число точек, - число точек, попавших в круг, - площадь под кривой, - площадь квадрата.
-
Среди чисел найти первое число, которое больше данного числа А>0.
-
Дана последовательность и eps>0. Найти первый член последовательности для которого .
-
При a > 0 задана последовательность . Найти при eps >0 такое n, что an < eps.
-
Найти произведение Сомножители брать с точностью eps>0.
-
Найти сумму , меньшую заданного числа А.
-
Вычислить сумму квадратов всех целых чисел, меньших заданного числа А.
-
Дана последовательность вещественных чисел. Найти сумму всех элементов, больших заданного числа .
-
Дана таблица целых чисел . Найти количество чисел, принадлежащих отрезку .
-
Дана таблица целых чисел и число . Найти минимальное значение индекса , при котором .
-
! Дана таблица целых чисел . Вычислить .
-
!Дана таблица положительных чисел . Вычислить
-
! Дана таблица положительных чисел . Вычислить .
-
* Составить процедуру, которая из произвольной строки, содержащей некоторый текст, выделяет все слова и печатает их в алфавитном порядке (по первой букве).
-
* Дана строка символов, состоящая из нулей, единиц и пробелов (другие символы не вводятся). Группы единиц и нулей, разделенных пробелами и не содержащие пробелов внутри себя, назовем словами. Требуется подсчитать количество слов в строке и, рассматривая слова как числа, определить количество слов, делящихся на 5 без остатка.
-
* Дана строка символов, состоящая из нулей, единиц и пробелов (другие символы не вводятся). Группы единиц и нулей, разделенных пробелами и не содержащие пробелов внутри себя, назовем словами. Требуется найти самое длинное и самое короткое слово в строке и, рассматривая эти слова как числа, определить их сумму.
-
* Дана строка символов, в которой могут встречаться цифры, пробелы, буква Е и знаки + и -. Из данной строки выделить подстроку символов, предшествующих первому пробелу. Требуется определить, является ли эта подстрока числом. Если да, то выяснить: целое или вещественное, положительное или отрицательное это число. Результат вывести на экран.
-
* Дана строка символов, содержащая некоторый текст. Разработать программу, которая определяет, является ли этот текст полиндромом, т.е. читается ли он слева направо так же, как и справа налево (например, "А роза упала на лапу Азора").
-
* В древности японский календарь использовал 60-летний цикл, состоявший из пяти 12-летних, которые обозначались цветами: зеленый, красный, желтый, белый и черный. Каждый год из числа двенадцати носил название определенного животного: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Составьте программу, которая вводит номер любого года нашей эры и печатает его название, если известно, что, например, 1984г. Был годом зеленой крысы и началом очередного цикла.