
- •Оператор присваивания. Ввод и вывод информации.
- •Программирование разветвлений. Операторы 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г. Был годом зеленой крысы и началом очередного цикла.