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