- •Оператор вывода данных , ввода данных
- •Линейная структура
- •Оператор выбора варианта Case
- •Цикл с параметром for
- •1. Написать программу, которая 10 раз выводит на экран имя и фамилию пользователя.
- •Написать программу, возведения числа a в степень n.
- •1 3 4 2 7 4 9 6 2 1 Ср.Арифм. 3.9
- •Цикл с предусловием While
- •Найти произведение чисел 1*2*3*…*n. Вычисление факториала числа n.
- •Цикл с постусловием Repeat
- •3. Написать программу, которая преобразует введенное пользователем десятичное число в двоичное. Рекомендуемый вид экрана во время работы программы приведен ниже.
- •Дано натуральное число n. Вычислить: .
- •Найти наибольший общий делитель чисел m и n.
- •Дано натуральное число n. Найти сумму первой и последней цифры этого числа.
- •Даны два натуральных числа n и m (m£9999, n£9999). Проверить, есть ли в записи числа m цифры, одинаковые с цифрами в записи числа n.
- •Массивы
- •Линейные массивы
- •В одномерном массиве поменять местами минимальный и максимальный элементы.
- •Переписать одномерный массив в обратном порядке.
- •Дана последовательность натуральных чисел al, a2, ..., ап. Создать массив из четных чисел этой последовательности. Если таких чисел нет, то вывести сообщение об этом факте.
- •Двумерные массивы
- •В двумерном массиве найти сумму всех тех элементов, сумма индексов которых равна n.
- •Определить номер строки и столбца минимального элемента двумерного массива.
- •Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам.
- •Дана квадратная матрица a[n, n]. Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы.
- •Переписать столбцы двумерного массива в обратном порядке. Строковый тип данных
- •Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом.
- •В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество замен.
- •Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
- •Записи (комбинированный тип)
- •Функции
- •Написать программу нахождения суммы большего и меньшего из 3 чисел.
- •Составить программу, определяющую, в каком из данных двух чисел больше цифр.
- •Процедуры
- •Напишите процедуру, которая удаляет из одномерного вещественного массива наибольшее значение.А-07-2
- •Процедура замены запятых на точки с запятой в строке.А-07-2
- •Написать процедуру, которая вычисляет объем и площадь поверхности параллелепипеда. А-07-2
- •Динамические указатели
- •Динамические структуры списки
- •Очереди
- •Список использованной литературы
Написать процедуру, которая выводит строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры.
Найти наименьшее общее кратное 4-х заданных натуральных чисел.
Используя процедуру для вычисления степени числа, найти значение выражения: , , x вводятся с клавиатуры.
Используя процедуру обмена, упорядочить по возрастанию значения трех переменных a, b, c. А-07-2
Даны координаты трех вершин треугольника. Найти длину всех его сторон.
Даны длины a, b, c сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника (Замечание: длина медианы, поведенной к стороне а, равна ).
Используя процедуру, найти номера четных элементов одномерного массива. А-07-2
Вывести сообщение true, если уравнения и имеют вещественные корни и при этом оба корня первого уравнения лежат между корнями второго, и вывести значение false во всех остальных случаях.
Два простых числа называются «близнецами», если они отличаются друг от друга на 2 (например, 41 и 43). Напечатать все пары «близнецов» из отрезка [n, 2n], где п — заданное натуральное число больше 2.
Написать программу вычисления суммы для заданного числа п. Результат представить в виде несократимой дроби (р, q — натуральные).
Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.
Написать программу, определяющую сумму n-значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в найденной сумме.
Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Через сколько таких действий получится нуль?
В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.
Напишите процедуру, которая преобразует одномерный массив, состоящий из n2 элементов, в двумерный массив размера m на n.
Напишите процедуру, которая удаляет из одномерного вещественного массива наибольшее значение.А-07-2
Задача (использование и функций, и процедур) формирования матрицы M[i,j], элементами которой являются:
- сумма индексов i и j;
- произведение индексов i и j;
- сумма квадратов индексов i и j.
Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 < Р < 9):
сложение; вычитание; умножение; деление;
перевод из десятичной системы счисления в Р-ичную;
перевод из Р-ичной системы счисления в десятичную;
процедура проверки правильности записи числа в Р-ичной системе счисления;
процедуры, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
КОНТРОЛЬНЫЕ ЗАДАНИЯ
Написать процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.
Даны две целые переменные. Используя процедуру, поменять местами их значения.
Даны два одномерных массива одинаковой размерности. Получить третий массив такой же размерности, каждый элемент которого равен сумме соответствующих элементов данных массивов. Использовать процедуру.
Процедура замены запятых на точки с запятой в строке.А-07-2
На части катушки с автобусными билетами номера шестизначные. Составить программу, определяющую количество счастливых билетов на катушке, если меньший номер билета — N, больший — М (билет является счастливым, если сумма первых трех его цифр равна сумме последних трех).
Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.
Написать процедуру, которая вычисляет объем и площадь поверхности параллелепипеда. А-07-2
Написать процедуру, которая вычисляет значение ab. Числа а и b могут быть любыми дробными положительными числами.
Написать процедуру вычисления количества запятых в строке.
МОДУЛИ
Приступая к решению задач этого раздела, следует вспомнить, что:
Используя модули, можно разбивать программу на отдельные части. Программный модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций, которые могут совместно использоваться несколькими программами.
Каждый модуль аналогичен отдельной программе на Паскале: он может иметь основное тело, которое вызывается перед запуском программы и осуществляет необходимую инициализацию.
Структура модуля:
UNIT<имя модуля>;
INTERFACE
USES <список модулей>; {Необязательный}
{определяют константы, типы данных, переменные, процедуры и функции}
IMPLEMENTATION
USES <список модулей>; {Необязательный}
{описание реализации используемых процедур и функций}
BEGIN
<код инициализации>;
END.
Файл с модулем должен быть сохранен под таким же именем, как и в разделе unit, автоматически имеет расширение .tpu (Turbo Pascal Unit);
В основной программе для подключения созданного модуля необходимо после служебного слова uses указать имя этого модуля (если подключаемых модулей несколько, то указываем их через запятую).
ЗАДАЧИ
Создать модуль sqr3(x), позволяющий возводить любое число в третью степень.
Создать модуль, позволяющий переводить градусную меру в радианную и вычислять tg(x).
Создать модуль, содержащий функции нахождения arcsin(x), arcos(x) через arctg(x), перевода радианной меры в градусную.
Написать модуль для работы с набором гиперболических функций (sinh(x), cosh(x), tanh(x)).
Написать модуль, позволяющий работать с десятичным логарифмом (lg(x)).
Написать модуль возведения произвольного числа в произвольную целую степень.
Разработать функции нахождения максимального и минимального элементов в массиве из 15 целых чисел. Функции и объявления типов данных должны располагаться в различных модулях. Разработать программу, вызывающую эти функции.
Даны две дроби и (А, В, С, D — натуральные числа). Составить модуль с процедурами:
деления дроби на дробь;
умножения дроби на дробь;
сложения этих дробей.
Ответ должен быть несократимой дробью.
Создать модуль, дополняющий математические возможности Паскаля арифметическими действиями над комплексными числами.
Будем представлять комплексные числа парами действительных: (а,b). Как известно, действия над ними выполняются по правилам:
(a,b) + (c,d) = (a+c , b+d),
(a,b)- (c,d) = (a-c , b-d),
(a,b) * (c,d) = (a*c-b*d , a*d+b*c),
(a,b) / (c,d) = ((a*c+b*d) / (c*c+d*d) , (b*c-a*d) / (c*c+d*d)).
Создаваемый модуль будет включать четыре процедуры: Sum - сумма, Raz -разность, Proiz - произведение, Chastn - частное.
Модуль для вычислений с квадратными матрицами:
- умножение матрицы на число;
- суммирование двух матриц;
- транспонирование матрицы:
- нахождение определителя матрицы.
11. Написать модуль, который находит все четырехзначные числа вида abcd, для которых выполняется:
а, b, с, d — разные цифры;
ab - cd = а + b + с + d.
Вывести на печать все такие числа.
12. Создать модуль для работы с комплексными числами: выполняет преобразование двух вещественных значений x и y (вещественная и мнимая части) в одно комплексное. Использовать в этом модуле следующие функции:
- функция вычисления абсолютной величины комплексного числа;
- функция получения экспоненциального представления комплексного числа;
- вывод комплексных значений на экран.