Сборник практических заданий по Паскаль

advertisement
СБОРНИК ПРАКТИЧЕСКИХ ЗАДАНИЙ
Задачи и решения
по теме «Программирование на языке PASCAL»
по предмету «Основы
информатики и ИКТ »
Автор: преподаватель высшей категории
Рожкова Г.Е.
г.Лермонтов
2012
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
2
СОДЕРЖАНИЕ
Введение
1.
2.
3
Практические задания
4
1.1. Тема 1: Ввод, вывод данных. Арифметические действия
4
1.2. Тема 2: Ветвление в программе. Условный оператор,
оператор выбора
5
1.3. Тема 3: Циклы
6
Решения
9
2.1. Тема 1: Ввод, вывод данных. Арифметические действия
9
2.2. Тема 2: Ветвление в программе. Условный оператор,
оператор выбора
14
2.3. Тема 3: Циклы
19
Заключение
34
Список рекомендуемой литературы
35
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
3
ВВЕДЕНИЕ
В современном мире специалисту любого профиля, да и вообще любому
человеку, необходимо уметь мыслить логически для решения самых
разнообразных задач, как жизненных, так и профессиональных. Ничто так не
развивает логическое мышление, как занятие разработкой алгоритма
решения
поставленной
задачи
и
непосредственно
процесс
программирования. Именно поэтому основы программирования на какомлибо алгоритмическом языке изучают в рамках учебной дисциплины
«Основы информатики и ИКТ».
Кроме того, программирование – это очень творческое, увлекательное
занятие. Как сказал Дональд Кнут в своей монографии «Искусство
программирования», «оно может вызвать эстетические переживания,
подобные тем, которые испытывают творческие личности при написании
музыки или стихов».
В данном сборнике приведены задачи, для решения которых надо
составить программы (раздел 1), и их решение (раздел 2) на языке Pascal в
системе PascalABC, а именно, исходный текст программы и окно
выполнения. Для некоторых задач, где есть ветвление, приведено два
варианта выполнения программы.
Существует несколько модификаций языка программирования Pascal,
наиболее популярная из них – TurboPascal. PascalABC отличается от
TurboPascal незначительно, в основном различия касаются типов данных.
Следует иметь в виду, что многие действия можно реализовать в
программе разными способами. В данном сборнике в каждом случае
приводится один из возможных вариантов решения.
Цель настоящего пособия – помочь учащимся освоить основы
программирования на языке Pascal.
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
4
1. ПРАКТИЧЕСКИЕ ЗАДАНИЯ
1.1.Тема: Ввод, вывод данных. Арифметические действия
Задача № 1.
Ввести два целых числа. Вычислить их сумму. Результат вывести на экран.
Задача № 2.
Ввести длину и ширину прямоугольника (два целых положительных числа). Вычислить
площадь и периметр прямоугольника. Результат вывести на экран.
Задача № 3.
Вычислить площадь круга по формуле: S = 3,14R2. Радиус вводить с клавиатуры.
Результат вывести на экран в виде:
«Радиус равен . . . , площадь равна . . .»
Задача № 4.
Ввести с клавиатуры четырехзначное число. Вычислить произведение цифр этого числа.
Результат вывести на экран.
Задача № 5.
Ввести координаты (x, y) точки на плоскости. Вычислить расстояние от точки до начала
координат. Результат вывести на экран.
Задача № 6.
Составить программу, организующую следующий диалог.
ЭВМ:
Меня зовут IBM. А тебя?
Студент:
< имя >
ЭВМ:
А фамилия?
Студент:
< фамилия >
ЭВМ:
Какое твое любимое занятие?
Студент:
< хобби >
ЭВМ:
Понятно. Твое хобби - . . . . Тебя зовут . . . , фамилия . . . .
Задача № 7.
Составить программу, организующую следующий диалог.
ЭВМ:
В каком городе ты живешь?
Студент:
ввести ответ < название города >
ЭВМ:
Как называется твоя улица?
Студент:
< название улицы >
ЭВМ:
А номер дома?
Студент:
< номер дома >
ЭВМ:
Понял, ты живешь по адресу: г. . . . , ул. . . . , дом № . . . .
Задача № 8.
Составить программу, организующую следующий диалог.
ЭВМ:
Я компьютер. А как тебя зовут?
Студент:
ввести ответ < имя >
ЭВМ:
Привет, . . .!
ЭВМ:
А фамилия?
Студент:
ввести ответ < фамилия >
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
ЭВМ:
учишься?
Студент:
ЭВМ:
ЭВМ:
Студент:
ЭВМ:
Студент:
ЭВМ:
Студент:
ЭВМ:
ЭВМ:
Студент:
ЭВМ:
Студент:
ЭВМ:
Студент:
5
Я знаю еще одного студента с фамилией . . . . На каком курсе
< номер курса >
Так ты уже < номер курса >- курсник!
А в какой группе ты учишься?
< шифр группы >
Итак, ты учащийся . . . курса . . . группы
Да, скоро перейду на . . . курс
А "двойки" у тебя есть?
< ответ (да \ нет) >
У моего приятеля тоже . . .
Какое у тебя хобби?
< ответ >
Так ты занимаешься в секции . . . а?
< ответ (да \ нет) >
Приятно было познакомиться, . . . !
Пока, компьютер
1.2.Тема: Ветвление в программе. Условный оператор, оператор
выбора
Задача № 9.
Ввести с клавиатуры два целых числа из диапазона от 0 до 255. Если первое из них
больше второго, то вычислить их сумму, а иначе вычислить их произведение. Результат
вывести на экран.
Задача № 10.
Ввести с клавиатуры вещественное число M. Вычислить значение функции N по
следующему алгоритму:
N = 4 M + 5 при M ≥ 2
N = 3 M – 8 при M < 2
Вывести на экран значение M и результат.
Задача № 11.
Составить программу, организующую следующий диалог.
ЭВМ:
В каком городе ты живешь?
Студент:
ввести ответ < название города >
ЭВМ:
(при ответе «Лермонтов»)
Рядом с колледжем живешь!
(при других ответах)
Приходится ездить?
ЭВМ:
(в любом случае)
Надо учиться!
Задача № 12.
Решить квадратное уравнение вида ах2+вх+с. Коэффициенты а, в, с вводить с клавиатуры.
Напечатать количество корней и значения корней.
Задача № 13.
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) печатает на
экране название этого дня.
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
6
Задача № 14.
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) печатает на
экране, является ли этот день будним или выходным и печатает название этого дня.
Задача № 15.
Написать программу, которая по числу (целому числу от 1 до 31) печатает на
экране, является ли этот день мая праздником (и каким), или субботой, или
воскресеньем, или рабочим днем.
1.3.Тема: Циклы
Задача № 16.
Напечатать в столбик все натуральные числа от 1 до 20 включительно.
Задача № 17.
Напечатать в одной строке через пробел все натуральные числа от 1 до 20 включительно.
Задача № 18.
Ввести натуральное число M. Напечатать все натуральные числа от 1 до M включительно.
Задача № 19.
Вычислить сумму натуральных чисел от 1 до 100 включительно. Результат вывести на
экран
Задача № 20.
Ввести с клавиатуры любое натуральное число ли ноль. Подсчитать количество цифр в
этом числе. Результат вывести на экран.
Задача № 21.
У гусей и кроликов вместе 64 лапы. Сколько может быть кроликов и гусей (указать все
сочетания и количество вариантов)?
Задача № 22.
Определить, являются ли результаты вычислений по формуле х2+х+17 при 0  х 15
простыми числами. Все результаты вывести на экран. В конце напечатать «Все числа
простые» или «Не все числа простые» (простыми называют числа, которые делятся без
остатка только на себя и на 1).
Задача № 23. Составить алгоритм решения ребуса КОТ + КОТ + 100 = ТОК (различные
буквы обозначают различные цифры, старшая – не 0).
Задача № 24.
Ежемесячная стипендия студента составляет А руб., а расходы на проживание превышают
стипендию и составляют В руб. в месяц. Рост цен ежемесячно увеличивает расходы 3%.
Составьте программу расчета суммы денег, которую необходимо единовременно
попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя
только эти деньги стипендию.
Задача № 25.
Вычислить количество точек с целочисленными координатам, находящимися в
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
7
круге радиуса R (R>0). Точки, лежащие на окружности, также входят в это число.
Результат вывести на экран.
Задача № 26.
1 1
1
Найти сумму гармонического ряда: 1    ...  . Суммирование прекращается, когда
2 3
i
слагаемое становится меньше е или i достигает значения MaxInt (максимальное целое).
Задача № 27.
Ввести символьную строку. Удалить все пробелы. Полученную строку вывести на экран.
Задача № 28.
Ввести символьную строку. Вставить пробел после каждого символа. Полученную строку
вывести на экран.
Задача № 29.
Ввести символьную строку. Является ли она палиндромом (т.е. читается ли одинаково
слева направо и справа налево)? Ответ вывести на экран.
Задача № 30.
Сформировать и вывести на экран матрицу:
Задача № 31.
Сформировать и вывести на экран матрицу:
Задача № 32.
Сформировать и вывести на экран матрицу:
Задача № 33.
Сформировать и вывести на экран матрицу:
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача № 34.
Вычислить и напечатать таблицу умножения от 1 до 9 в виде:
Задача № 35.
Сформировать и вывести на экран квадратную матрицу (число строк равно числу
столбцов):
10
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
Задача № 36.
Ввести целое положительное двоичное число (последовательность нулей и единиц).
Преобразовать его в десятичное число. Результат вывести на экран.
8
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
9
2. РЕШЕНИЯ
2.1.Тема: Ввод, вывод данных. Арифметические действия
Задача 1
Замечание: при вводе с клавиатуры данные разделяются пробелом, в конце нажать Enter.
Например: ввести число 5, затем нажать клавишу Пробел, затем – число 12, затем нажать
клавишу Enter.
Задача 2
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
10
Задача 3
Задача 4
Замечание: в фигурных скобках вводятся так называемые «комментарии». Они служат
для пояснений к тексту программы, на работу программы они не влияют.
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 5
A(x, y)
Задача 6
11
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 7
12
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 8
13
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
2.2.Тема: Ветвление в программе. Условный оператор, оператор
выбора
Задача 9
Задача 10
14
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 11
При другом ответе – выполнение по другой ветви программы:
15
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 12
16
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 13
При другом ответе:
17
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 14
При другом ответе:
18
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 15
2.3.Тема: Циклы
Задача 16
19
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 17
Задача 18
20
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 19
Задача 20
Та же задача с другим оператором цикла:
21
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 21
22
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 22
23
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 23
24
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 2 4
25
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 25
26
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 2 6
Задача 2 7
27
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 2 8
Задача 2 9
28
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 3 0
Задача 3 1
29
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 3 2
Задача 3 3
30
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 3 4
31
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 3 5
32
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
Задача 3 6
33
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
34
ЗАКЛЮЧЕНИЕ
Знакомство с азами программирования полезно для всех учащихся, так
как помогает развитию у них логического мышления, а это необходимо при
решении самых разных проблем, в том числе, и при работе в различных
областях профессиональной деятельности.
В настоящем пособии приведены задачи и их решения на языке Pascal.
Задачи сгруппированы по темам: «Ввод, вывод данных. Арифметические
действия», «Ветвление в программе. Условный оператор, оператор выбора» и
«Циклы».
Рассматриваются
задачи
на
вычисление,
на
составление
программы-диалога, работу с массивами, со строковыми данными и др.
Пособие
призвано
помочь
учащимся
познакомиться
с
языком
программирования Pascal, научиться создавать программы с использованием
различных
операторов
конструкций в программе.
для
реализации
основных
алгоритмических
Рожкова Г.Е. Программирование на языке PASCAL. Задачи и решения
35
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. О.Н.Перминов. Программирование на языке Паскаль. Москва, Радио и
связь, 2002
2. И.Г.Семакин,
А.П.Шестаков.
«Академия», 2004. – 432
Основы
программирования.
М.,
Download