Сборник индивидуальных задач
по разделу «Язык программирования Pascal»
по дисциплине «Информатика»
Содержание
Пояснительная записка 3
Вариант 1. 4
Вариант 2. 10
Вариант 3*. 16
Вариант 4*. 23
Вариант 5**. 30
Вариант 6. 37
Вариант 7. 43
Вариант 8. 49
Вариант 9. 56
Вариант 10. 63
Вариант 11. 70
Вариант 12. 76
Вариант 13. 82
Вариант 14**. 88
Вариант 15. 95
Вариант 16. 101
Вариант 17. 108
Вариант 18. 115
Вариант 19*. 122
Вариант 20*. 129
Вариант 21***. 137
Вариант 22*. 144
Вариант 23. 150
Вариант 24**. 156
Вариант 25. 163
Список использованной литературы 169
Приложения 170
Пояснительная записка
Сборник заданий по программированию содержит индивидуальные задания для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», обучающихся по очной форме. Данные задания необходимы для закрепления учебных навыков по дисциплине «Информатика».
Перед распределением вариантов заданий необходимо учитывать динамическую составляющую общеобразовательного уровня студента и его природные способности. Варианты 1 степени сложности помечены *, 2 степени - **, 3 степени - ***.
Каждое задание состоит из восьми блоков, охватывающих основные изучаемые разделы по разделу «Алгоритмизация и программирование на языке Turbo Pascal».
При решении задач блока «Организация циклов» нельзя использовать символьные переменные.
После решения индивидуальных задач по каждому из блоков, студент должен сдать отчет по одной из задач блока на выбор (приложение 2) и ответить на теоретические вопросы (приложение 1).
Успешное решение задач индивидуального задания служит основой для успешного освоения знаний студентами дисциплины общепрофессионального цикла «Основы алгоритмизации и программирования».
Вариант 1.
Решение арифметических уравнений
Y=SIN(A2 -B )+3,4-C, A=1,3; B=3,6; C=5
Результат округлить.
Вычислить прибыль от совершения сделки, если она составляет 70 % от первоначального капитала, величина которого задана.
Составьте программу для вычисления площади прямоугольного треугольника по его катетам a и b.
Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника.
Составьте программу для вычисления выталкивающей силы, действующей на тело объемом V, наполовину погруженное в жидкость плотностью R.
Составьте программу для вычисления напряжения на каждом из последовательно соединенных участков электрической цепи сопротивлением R1, R2, R3 Ом< если сила тока при напряжении U В составляет 1 А.
Дано значение х. Получить значение -2х + Зх2 – 4х3 и 1 + 2х + Зх2 + 4х3 за минимальное число операций.
Четырем группам поручено убрать поле площадью F га. Известно количество учеников в каждой группе. Сколько га надо убрать каждой группе?
На производство 1 кв. метра ситца затрачивают 5 минут. Определить количество ткани, выпущенное за N часов при ширине полотна L.
За год квартплата повышалась дважды. Первый раз на 30%, а второй на 40%.Год назад семья Березовских платила квартплату 800 рублей в месяц. Сколько они платят сейчас.
Ответить на вопросы:
Для чего используется указание типа данных величины?
Как описывается тип величины в языке Паскаль?
Приведите полный перечень типов данных в Турбо Паскале с примерами величин каждого типа.
Какие типы данных относят к скалярным типам?
Охарактеризуйте целочисленные типы данных: какие они могут принимать значения, в каких операциях участвовать, сколько места занимают в памяти.
Охарактеризуйте вещественные типы данных: какие они могут принимать значения, в каких операциях участвовать, сколько места занимают в памяти.
Перечислите стандартные процедуры и функции, работающие с целыми числами?
Перечислите стандартные процедуры и функции, работающие с вещественными числами?
Чем отличаются вещественные числа от целых?
Какие функции преобразую вещественный аргумент в целое число? Чем они отличаются?
Что такое выражение, операция, операнд?
Какие операции в языке Паскаль вы знаете?
Перечислите арифметические операции.
Каковы основные правила определения старшинства операций?
Какие процедуры служат в Паскале для выполнения операций ввода-вывода?
В чем заключается отличие процедуры Read от Readln?
Как задать вывод информации на принтер?
Что такое форматный вывод?
Из каких разделов может состоять программа на языке Паскаль? Какие из них обязательны?
Что такое переменная, идентификатор, константа?
Охарактеризуйте оператор присваивания.
Какие функции выполняют операторы в языке Паскаль?
Что является разделителем операторов?
Программирование алгоритмов разветвляющейся структуры
Заданы числа a и b. Определить, эти числа одного или разных знаков.
Даны натуральные n, m (n < m). Определить, сколько среди чисел n, n+1, …, m таких, которые являются номерами високосных годов.
С клавиатуры вводится шестизначный номер трамвайного билета. Определить, является ли билет счастливым.
Если целое число т делится нацело на целое число п, то вывести на экран частное от деления, в противном случае вывести сообщение «m на п нацело не делится».
Имеется стол прямоугольной формы размером а * b (а и b — целые числа, а > b). В каком случае на столе можно разместить большее количество картонных прямоугольников с размерами c * d (c и d — целые числа, с > d): при размещении их длинной стороной вдоль длинной или вдоль короткой стороны стола. Прямоугольники не должны лежать один на другом и не должны свисать со стола.
Написать программу, которая на ввод знака препинания выдает на экран его название. Например, на ввод точки выводится текст: «Это точка».
Даны вещественные числа а, b, с. Удвоить эти числа, если а < b < с , и заменить их абсолютными значениями, если это не так.
Дано целое число k (1≤k≤365). Определить каким будет k-ый день года, выходным (суббота и воскресенье) или рабочим, если 1 января –понедельник.
Составьте программу, определяющую, принадлежит ли точка (х,у) множеству точек плоскости, изображенной на рисунке
.
Вычислить значение функции , при а=2,6
Ответить на вопросы:
Назначение, формы записи и порядок выполнения оператора условия if?
Особенности использования вложенных условных операторов.
Каковы отличия оператора выбора case от оператора условия if?
Оператор безусловного перехода, его назначение и особенности применения?
Какие правила должны выполняться при использовании оператора выбора case?
Организация циклов в системе Turbo-Pascal
Составьте программу, которая вычисляет сумму чисел от 1 до N. Значение N вводится с клавиатуры.
Составить алгоритмы и программы перевода старинных русских мер длины, торгового и аптекарского веса (счетчик цикла меняется от 1 до 10):
саженей в метры ( 1 сажень равна 2,1366 м)
футов в метры (1 фут равен 0,3048 м)
драхм в граммы (1 драхма равна 3,7325 г)
унций в граммы (1 унция равна 29,86 г)
фунтов в килограммы (1 фунт равен 0,40951 кг)
аршинов в метры (1 аршин равен 0,7112 м)
золотников в граммы (1 золотник равен 4,2657 г)
дюймов в миллиметры (1 дюйм равен 25,3995 мм)
Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000.
Напишите программу, которая выведет на экран 10 строк по 5 случайных чисел в диапазоне 0…36.
Определить пары натуральных чисел а < 100 и b<100, произведение которых в 10 раз больше их суммы. Сколько таких пар?
При каком натуральном числе и произведение предшествующего числа и числа, следующего за п, равно 2208?
Ввести N целых чисел. Число А ввести с клавиатуры. Определить, существуют ли числа, равные А и сколько их.
Выясните, можно ли представить данное натуральное N в виде произведения двух сомножителей, каждый из которых кратен 7.
Целое число, представленное в двоичной системе счисления, модуль которого не превышает двоичного числа 1111111, вводится в вещественную переменную. Необходимо вывести на экран значение этого числа в 10-й системе счисления как значение целочисленной переменной. Предусмотреть проверку правильности ввода информации.
Вывести на экран в строку все натуральные простые числа, не превосходящие заданное натуральное трехзначное число М. Необходимо также найти количество этих чисел и их сумму. Предусмотреть проверку правильности ввода информации.
Задачи целочисленной арифметики
Составьте программу отыскания наименьшего h, при котором число h2+h+41 - составное.
Составьте программу подсчета простых делителей натурального N.
Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна 50.
Определить количество натуральных чисел, меньших n, которые не делятся на 11 .
Ответить на вопросы:
В каких случаях предпочтительней использовать для организации циклов оператор повтора for?
Что записывается в заголовке оператора For?
Каким образом в операторе цикла For описывается направление изменения значения параметра цикла?
Какие ограничения налагаются на использование управляющей переменной в цикле For?
Что такое вложенные циклы? Какие дополнительные условия необходимо соблюдать при организации вложенных циклов?
Сколько раз выполняется цикл For?
Какие типы может принимать параметр цикла?
Каково назначение операторов цикла?
Какие требования предъявляются к выражениям, управляющим повторениями?
В чем отличия оператора while и repeat?
В каких случаях предпочтительней использовать для организации циклов оператор повтора while?
В каких случаях предпочтительней использовать для организации циклов оператор повтора repeat?
Одномерные массивы
Составьте программу нахождения наибольшего среди тех элементов одномерного массива А(N), что лежат в интервале (С,D).
Составьте программу подсчета числа различных элементов одномерного массива А(Q), не принадлежащих отрезку [R,P].
Составьте программу, выясняющую, образуют ли элементы одномерного массива геометрическую прогрессию.
Удалить все отрицательные элементы, кратные 13.
Вставить в массив элемент с заданным значением перед каждым положительным элементом.
Введите с клавиатуры в массив пять целочисленных значений. Выведите их в одну строку через запятую. Получите для массива среднее арифметическое.
Найти сумму положительных элементов линейного массива целых чисел. Размерность массива – 10. Заполнение массива осуществить с клавиатуры.
Найти произведение элементов линейного массива целых чисел, которые кратны 5. Размерность массива –10. Заполнение массива осуществить случайными числами от 10 до 100.
Дан массив A(N). Сформировать массив В(М), элементами которого являются большие из двух рядом стоящих в массиве А чисел. Например, если массив А состоит из элементов 1; 3; 5; -2; 0; 4; 0, то элементами массива В будут 3; 5; 4.
В одномерный массив вещественных чисел на 8-е место вставить элемент, равный сумме первых 10 элементов массива.
Ответить на вопросы:
Что такое массив?
Как определить местоположение элемента в массиве?
Что такое индекс? Каким требованиям он должен удовлетворять?
Особенности расположения элементов массива в памяти ЭВМ.
Каким образом задается описание массива, что в нем указывается?
В каких операциях могут участвовать массивы и какие к ним при этом предъявляются требования?
Каким образом задается обращение к элементу массива?
Что называют инициализацией массива, и зачем она принимается?
Что называется сортировкой массива?
Как задать имена переменных или выражения пря просмотра их значений в окне просмотра при исполнении программы по шагам?
Что представляет собой массив как структура данных?
Какие данные могут выступать в качестве индексов и элементов массива?
Как организовать вывод элементов массива?
В чем заключается суть метода удаления элемента массива перед заданным и после заданного?
Двумерные массивы
Дан целочисленный массив X[1..5, 1..4]. Заменить в нем все элементы, меньшие 5 числом 111.
Дана таблица со сведениями о наличии сырья на каждом из 4-х участков пяти цехов. Определить номер цеха, в котором меньше всего сырья.
Дан двухмерный массив. Вставить в него:
а) строку из чисел 100 после строки с номером 5;
б) столбец из нулей перед столбцом с номером k;
в) строку из нулей после первой из строк, количество нулей в которой равно заданному числу п;
г) столбец из чисел 10 после первого из столбцов, у которых сумма элементов не превышает заданное число п;
д) две строки из нулей: одну перед 5-й строкой, вторую — перед р-й строкой;
е)два столбца из чисел 1: один после &-го столбца, второй — перед q-u столбцом.
Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы.
Составьте программу упорядочения по возрастанию элементов каждой строки двумерного массива C.
Задан массив А[1..5,1..5]. Получить из него новый массив путем деления элементов каждой из строк первого массива на элемент этой строки, стоящий по левой диагонали.
Дан двухмерный массив из 20 строк. Перенести первые k строк в конец массива, соблюдая порядок их следования.
Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их один массив, включив второй массив между k-м и (k + I) элементами первого, не используя при этом дополнительный массив.
В зрительном зале 25 рядов, в каждом из которых 36 мест (кресел). Информация о проданных билетах хранится в двухмерном массиве, номера строк которого соответствуют номерам рядов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, определяющую число проданных билетов на места в 12-м ряду.
Дан двухмерный массив целых чисел. Модифицировать его элементы, как описано ниже, и вывести на экран по строкам:
а) Ко всем четным элементам массива прибавить первый элемент соответствующей строки.
б) Все элементы массива, оканчивающиеся цифрой 2, умножить на последний элемент соответствующего столбца.
в) Ко всем положительным элементам массива прибавить последний элемент соответствующей строки, а к остальным — первый элемент такой же строки.
г) Все элементы массива, сумма индексов которых кратна пяти, заменить нулями.
Ответить на вопросы:
Что представляет собой массив как структура данных?
Какие данные могут выступать в качестве индексов и элементов массива?
Как организовать вывод элементов массива?
В чем заключается суть метода удаления элемента массива перед заданным и после заданного?
В чем заключается суть метода вставки в массива элемента перед заданным и после заданного?
Особенности расположения в памяти элементов многомерных массивов
Общие и отличительные черты одномерных, двумерных и n-мерных массивов.
Почему при описании массивов предпочтительнее употреблять константы, а не указывать размеры массива в явном виде?
Что называется сортировкой массива? Какие методы сортировки вы знаете, опишите их существенные отличия.
Как задать имена переменных или выражения для просмотра их значений в окне просмотра при исполнении программы по шагам?
Что называется главной (побочной) диагональю матрицы? Что такое транспонирование матрицы?
Что такое массив, двухмерных массив?
В каких операциях могут участвовать массивы и какие к ним при этом предъявляются требования?
Как задать имена переменных или выражения пря просмотра их значений в окне просмотра при исполнении программы по шагам?
В чем заключается суть метода удаления строки или столбца массива перед заданным и после заданного номера строки или столбца?
В чем заключается суть метода вставки строки или столбца в массив перед заданным и после заданного номера строки или столбца?
Опишите принципы перестановки элементов массива.
Обработка строковых величин
Составьте программу, меняющую в слове Х букву «а» на букву «е», если «а» стоит на четном месте.
Составьте программу подсчета числа сочетаний «му» в слове Х.
Составьте программу, определяющую, все ли буквы слова Х различны.
Напишите программу, подсчитывающую количество букв во введенном с клавиатуры слове. Ввод осуществляйте в цикле while do. Выход из программы – строка «999».
Дано натуральное число n и символы s1, s2, …, sn. Подсчитать сколько раз среди данных символов встречается символ +.
Составить программу, удаляющую в строке все, что заключено между фигурными скобками и их самих.
Проверить, одинаковое ли число открывающих и закрывающих скобок в данной строке.
Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме, например «а — 25 раз», «к — 3 раза» и т. д.
Упорядочить данный массив английских слов по алфавиту.
Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.
Ответить на вопросы:
Что такое строка?
Каким идентификатором определяются данные строкового типа?
Какова максимально возможная длина строки? Как определить текущую длину строки?
Какие выражения называют строковыми?
Какие операции допустимы над данными строкового типа?
Каким образом производится сравнение строк?
Какие требования предъявляются к записи выражений с операндами строкового типа?
Как можно обратиться к отдельным символам строки?
Назначение специальных процедур и функций обработки данных строкового типа. Приведите примеры.
Процедуры и функции
Напишите программу, состоящую из трех процедур и основной программы. Первая процедура организует ввод двух целых чисел X и Y, вторая проверяет их сумму, третья выводит результат. Используйте эти процедуры в основной программе. Используйте X и Y как глобальные переменные.
Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).
Рассчитать значение х, определив и использовав необходимую функцию.
Дана целочисленная матрица (m×n).Вывести сумму максимальных элементов каждой строки.
Составьте программу отыскания наименьшего из положительных элементов, стоящих в тех строках двухмерного массива S(N,M), которые образуют арифметические прогрессии.
Ответить на вопросы:
Что понимают под структурным программированием? Зачем оно применяется?
Что называется процедурой? Какое отличие процедуры от функции?
В чем заключается метод нисходящего программирования?
Что называется параметром, и каково его назначение? Формальные, фактические параметры, их взаимосвязь.
Чем отличаются локальные и глобальные переменные? Какова область их действия?
В чем различие между стандартными и определенными пользователем подпрограммами?
Графика в Turbo Pascal
Написать программу, которая вводит с клавиатуры ширину и высоту прямоугольника, рисует прямоугольник с заданными параметрами и перемещает его по центру экрана слева направо. Прямоугольник закрасить красным, а фон – серым цветами.
Создайте следующее полноцветное изображение. Цвета подобрать самостоятельно.
Составить программу, выводящую в центре экрана надпись «Добро пожаловать», которая после появления перемещается вправо пока не уйдет совсем.
Исследовав область определения и выбрав расположение координатных осей, построить на экране график функции: .
Построить чертеж к следующей задаче: В треугольной пирамиде построить сечение, параллельное основанию.
|