МЕТОДИЧЕСКИЙ СБОРНИК индивидуальных практических заданий Turbo Pascal


Содержание

МЕТОДИЧЕСКИЙ СБОРНИК индивидуальных практических заданий для самостоятельной работы студентов по дисциплине: «Алгоритмизации и программирования»

В методическом сборнике представлены практические задания по программированию и рассмотрение типовых программ на языке Паскаль, а также задачи повышенной сложности для продолжения освоения современных информационных технологий. Предлагаемые задания охватывают традиционные разделы программирования: начало алгоритмизации, вычислительные задачи (линейные, диалоговые, с условием, циклические), обработку одномерных и многомерных массивов, работу со строками, записями, файлами, множествами. Задача ориентированы на соискателей образования 3-4 курса колледжа по специальности 171 «Электроника», а также для студентов родственных специальностей.

Методическая разработка рекомендована для дальнейшего использования в образовательном процессе в учебных заведениях.

 

Предисловие

Самостоятельная работа соискателя образования является неотъемлемой составляющей образовательного процесса в высшем учебном заведении, в процессе которой запланированные задачи выполняются под методическим руководством преподавателя, но без его непосредственного участия.

С каждым годом учебными планами предусматривается сокращение аудиторных часов, отводимых на изучение дисциплин, поскольку в период перестройки высшей школы выбрано направление на повышение роли и увеличение самостоятельной работы студентов в различных ее формах. В процессе подготовки современных специалистов необходимо передавать не только готовые знания, но также формировать потребность, навыки и умения к самостоятельной работе. Это обусловлено тем, что в наше время объем информации настолько велик, что первое место отводится умению выделить из этого потока необходимо.

Индивидуальные учебные задания по отдельным дисциплинам представляют собой внеаудиторную самостоятельную работу учебного, учебно-исследовательского или проектно-конструкторского характера. Они предусматривают создание условий для наиболее полной реализации творческих возможностей соискателей образования и имеют целью углубления, обобщения и закрепления знаний, получаемых в процессе обучения, а также применение этих знаний на практике.

Индивидуальные задания выдаются в сроки, предусмотренные рабочим планом дисциплины, и выполняются каждым студентом самостоятельно при консультировании преподавателем.

Составление автором данного методического сборника продиктовано необходимостью обобщить накопленный им за пять лет преподавания дисциплины «Алгоритмизация и программирование» опыт по повышению эффективности самостоятельной работы соискателей образования, обучающихся по специальности 171 «Электроника».

По учебному плану указанной специальности изучения дисциплины

«Алгоритмизация и программирование» начинается в VI учебном семестре, общее количество часов на изучение учебной дисциплины составляет 135 часов, из которых 55 часа (следует заметить, что это довольно значительное количество) отводится на самостоятельную проработку студентами учебного материала.

Данный сборник направлен на формирование у соискателей образования практических навыков программирования на языке Паскаль, готовности использовать различные приемы, методы и средства, необходимые в процессе разработки программного обеспечения. Реализованные и подробно описаны программные коды, которые составляют основу решения большинства задач программирования.

С целью более эффективного усвоения учебного материала сборник построено по принципу индивидуального обучения, разбито по базовым типам алгоритмов и типам обрабатываемых данных.

Сборник разбит по темам. Последовательность тем соответствует порядку представления теоретического материала на лекциях. Каждая тема включает: теоретические вопросы для самостоятельной работы, варианты индивидуальных заданий для самостоятельного решения, которым предшествует детальная проработка типовых задач и этапов их решения, ссылки на список литературных источников. Основной теоретический материал учебной дисциплины изучается во время лекционных занятий.

Предполагается, что на вопросы, касающиеся выполнения индивидуального задания, и которые недостаточно подробно освещены в сборнике, можно получить ответ от преподавателя.

Для эффективного выполнения индивидуальных заданий студентам рекомендуется ознакомиться со справочной литературой. Это позволит определить те части материала, которые вызывают трудности в понимании, и сформулировать для себя вопрос. Кроме того, при подготовке можно повторить справочный материал предыдущих лекционных занятий.

Выполнение самостоятельно индивидуальных заданий студентами позволит им закрепить знания и умения, полученные в области программирования, а также сформировать готовность осмысленно применять полученные знания и умения в будущей профессиональной деятельности.

содержание

Тема 1: Понятие об алгоритмах. Основные свойства и способы описание

Тема 2: Основные понятия языка Turbo Pascal. Алфавит. величины и их типы

Тема 3: Turbo Pascal. Выражения. Структура программы. Операторы присвоения, ввода и вывода данных. диалоговые программы

Тема 4: Turbo Pascal. линейные программы

тема 5: Turbo Pascal. простой и составной операторы разветвления и выбора … 28 Тема 6: Turbo Pascal.циклические операторы

Тема 7: Turbo Pascal. понятие одномерного массива (вектора)

Тема 8: Turbo Pascal. понятие многомерного массива (матрицы)

Тема 9: Turbo Pascal. Срочные величины

Тема 10: Turbo Pascal. Подпрограммы. Процедуры и функции. графический модуль

Тема 11: Turbo Pascal. множества и записи

Тема 12: Turbo Pascal. файлы

Тема 1: ПОНЯТИЕ АЛГОРИТМЫ. ОСНОВНЫЕ СВОЙСТВА И СПОСОБЫ ОПИСАНИЕ

литература:

1. Голицына О.Л. Основы алгоритмизации и программирования: Учеб. пособие / Е.Л. Голицына, И.И. Попов. — М .: ФОРУМ, 2008. — с. 3-8.

2. Минакова Н.И. Методы программирования: Учебное пособие / Н.И. Минакова, Е.С. Невская, А. Угольницкий. — М .: Вузовская книга, 2000. — с. 8-19.

3. Белов М.П. Основы алгоритмизации в информационных системах: Учебное пособие. — СПб .: СЗТУ, 2003. — с. 5-47.

Темы для самостоятельной работы:

1. Основные этапы решения прикладных задач с использованием ПЭВМ.

2. составление схем алгоритмов.

3. Входные данные и результаты алгоритмов.

Примеры решения индивидуальных задач:

Пример 1: Линейный алгоритмсоставить алгоритм вычисления площади и периметра треугольника, если известны длины трех его сторон.

Входные данные: a, b, c (длины сторон треугольника). Выходные данные: S, P (площадь и периметр треугольника).

решение:

 

начало

 

 

 

 

 

конец

псевдокод

1. Ввод чисел a, b, c

2. вычисления периметру

P = a + b + c

3. вычисления полупериметра

r = (a + b + c) / 2

4. вычисления площади

5. Вывод S, P

6. конец

Пример 2: Алгоритм с разветвлениемсоставить алгоритм вычисления значения функции

Нахождение значения функции осложняется тем, что на области определения функция состоит из элементарных, непрерывных на заданном участке, функций.Прежде чем вычислить значение y, необходимо проверить принадлежность введенного х одной из заданных участков.

Входные данные: x. Выходные данные: y.

решение:

 

начало

 

 

 

 

 

 

 

 

конец

псевдокод

1. введение Х

2. Проверка условия:

Если Х <0

то Y = 1 / X

иначе

Если Х> 16

то Y = 4,

иначе Y  =  корень с  Х

конец если

3. вывод Y

4. конец

Пример 3: Алгоритм с разветвлениемсоставить алгоритм вычисления стоимости покупки с учетом скидки: при покупке товара на сумму более 500 грн. предоставляется скидка 10%.

Входные данные: a (цена единицы товара), b (количество единиц товара); Выходные данные: s (сумма покупки).

решение:

начало

 

 

 

 

 

 

конец

псевдокод

1. Ввод чисел a, b,

2. Вычисление стоимости покупки S = a × b

3. Проверка условия:

Если S> 500

то S = S × 0,9

конец если

4. вывод S

5. конец

Пример 4: Циклический алгоритм с условиемсоставить алгоритм выбора чисел, меньше заданного числа P, в последовательности квадратов натуральных чисел (1, 4, 9, 25 и т. п.)

Входные данные: n (натуральное число) P (заданное число). Выходные данные: n 2.

решение:

начало

Р

так ни

n 2

конец

псевдокод

1. введение Р

2. n = 1 (значение первого натурального числа)

3. Начало цикла Проверка условия n 2 <Р [Пока оно истинное]

выполнять:

а) Вывод n 2

б) n = n + 1 (переход к следующему натурального числа)

конец цикла

4. конец

Пример 5: Циклический алгоритм с постусловием — составить алгоритм вывода стоимости товаров в чеке в первую суммы, превышающей 1000 грн.

Входные данные: S (стоимость). Выходные данные: S.

решение:

начало

Вв. S

Выл. S

так ни

 

конец

псевдокод

1. Начало цикла Выполнять:

а) Введение S б) Вывод S

пока

Проверка условия: S <1000

конец цикла

2. конец

Пример 6: Циклический алгоритм с параметрами — составить алгоритм вывода таблицы соответствия между весом в фунтах и весом в килограммах для значений от 1 до 10 фунтов (1 фунт = 0,453 кг).

Входные данные: K (вес в килограммах) i (параметр цикла). Выходные данные: F (вес в фунтах).

 решение:

 

начало

 

 

 

 

конец

псевдокод

1. начало цикла

Для i = 1, 10, 1 повторить:

а) K = и

б) F = 0,453 × K

в) Вывод F

конец цикла

2. конец

ВАРИАНТЫ индивидуальных заданий: 

Используя псевдокод и графический способ записи алгоритмов, составить алгоритмы решения следующих задач:

Практическое задание № 1: ЛИНЕЙНЫЕ АЛГОРИТМЫ

№ варианта Условие задачи
1 Составить алгоритм вычисления гипотенузы прямоугольного треугольника, если известны его катеты.
2 Составить алгоритм вычисления длины окружности, если известен его радиус.
3 Составить алгоритм вычисления площади круга, если известен его диаметр.
4 Составить алгоритм вычисления периметра прямоугольного треугольника, если известны его катеты.
5 Составить алгоритм вычисления периметра квадрата, если известна его сторона.
6 Составить алгоритм вычисления периметра прямоугольника и его диагонали, если известны его боковые стороны.

 

№ варианта Условие задачи
7 Составить алгоритм вычисления значения функции y = 7x + 5 при любом значении x.
8 Составить алгоритм вычисления площади кольца, если известны радиусы внешней и внутренней окружности.
9 Составить алгоритм вычисления площади поверхности и объема куба, если известно его ребро.
10 Составить алгоритм вычисления периметра равнобедренной трапеции, если известны ее основа и высота.
11 Составить алгоритм определения плотности тела, если известны его объем и масса.
12 Составить алгоритм вычисления суммы, разности и произведения двух чисел.
13 Составить алгоритм вычисления среднего арифметического двух чисел.
14 Составить алгоритм вычисления плотности населения в государстве, если известны его площадь и количество жителей.
15 Составить алгоритм вычисления площади поверхности и объема прямоугольного параллелепипеда, если известны его ребра.
16 Составить алгоритм. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника.
 

17

Составить алгоритм определения платы, которую получит на фирме совместитель за выполненную работу, если ему начислено S грн., А налог составляет 20%.
18 Составить алгоритм. Данные гипотенуза и один из катетов прямоугольного треугольника. Найти второй его катет и площадь вписанного круга.
19 Составить алгоритм вычисления расстояния между двумя точками с координатами (x1; y1) и (x2; y2).
20 Составить алгоритм определения работы, которую необходимо выполнить, чтобы поднять тело массой m на высоту h от Земли.
21 Составить алгоритм, подает звуковой сигнал с частотой H Гц и длительностью Т мс.
22 Составить алгоритм вычисления периметра квадрата, если известна его диагональ.
23 Составить алгоритм вычисления значения функции y = x 2 — 10 при любой

каком значении x.

24 Составить алгоритм вычисления периметра прямоугольника, если известна его диагональ.
25 Составить алгоритм вычисления среднего геометрического двух чисел.

Практическое задание № 2: Алгоритмы с разветвлением

№ варианта Условие задачи
1 Составить алгоритм решения задачи для определения максимального значения с двух различных действительных чисел.

 

№ варианта Условие задачи
2 Составить алгоритм решения задачи: впишется круг в квадрат, если известны сторона квадрата и радиус круга.
 

 

3

Составить алгоритм решения задачи для вычисления значения функции

b / a 61, если a by 5, если a b

(b a) / b, если a b

4 Составить алгоритм решения задачи для определения впишется квадрат в круг, если известны сторона квадрата и радиус круга.
 

 

5

Составить алгоритм решения задачи для вычисления значения функции

a b 3, если a by , если a b

2

(a 3 1) / b, если a b

6 Составить алгоритм решения задачи для определения большего расстояния из двух: один указано в километрах, а другое в футах (1 фут = 0,45 м).
 

 

7

Составить алгоритм решения задачи для вычисления значения функции

a / b 5, если a by , если a b

5

(a a b) / b, если a b

8 Составить алгоритм вычисления произведения двух положительных чисел.
 

 

9

Составить алгоритм решения задачи для вычисления значения функции

a / b 1, если a by 25 если a b

(a 3 5) / a, если a b

 

10

Составить алгоритм решения задачи для определения большей скорости: одно значение указано в километрах в час, а другое в метрах в секунду (1 м / с = 3,6 км / ч.).
11 Составить алгоритм решения задачи для определения меньшего из двух действительных чисел.
 

 

12

Составить алгоритм решения задачи для вычисления значения функции

a b 21 если a by 5, если a b

3 a / b 1, если a b

 

13

Составить алгоритм решения задачи для определения большего из двух значений: одно указано в миллиметрах, а другое в дюймах (1 дюйм = 25,4 мм).
14 Составить алгоритм решения задачи для определения большей плотности

 

№ варианта Условие задачи
материалов двух тел, если известны их объемы и массы.
 

 

15

Составить алгоритм решения задачи для вычисления значения функции

7 a b, если a by 125, если a b

(a 5) / b, если a b

16 Составить алгоритм вычисления произведения двух отрицательных чисел.
17 Составить алгоритм решения задачи для определения минимального значения из двух разных действительных чисел.
 

 

18

Составить алгоритм решения задачи для вычисления значения функции

b a 1, если a by 225, если a b

(a 5) / b, если a b

19 Составить алгоритм решения задачи для определения большего из двух действительных чисел.
 

 

20

Составить алгоритм решения задачи для вычисления значения функции

a / b 31 если a by 25 если a b

(a 5 1) / a, если a b

21 Составить алгоритм решения задачи для определения большей площади, если известны радиус окружности и сторона квадрата.
 

22

Составить алгоритм решения задачи для определения меньшей скорости: одно значение указано в километрах в час, а другое в метрах в секунду (1 м / с = 3,6 км / ч.).
 

 

23

Составить алгоритм решения задачи для вычисления значения функции

b / a 1, если a by 25 если a b

(a 3 5) / b, если a b

 

24

Составить алгоритм решения задачи для определения меньшего из двух значений: одно указано в миллиметрах, а другое в дюймах (1 дюйм = 25,4 мм).
 

 

25

Составить алгоритм решения задачи для вычисления значения функции

a b 5, если a by 7, если a b

(a b) / a, если a b

Практическое задание № 3: Циклический алгоритм 

№ варианта Условие задачи
1 Составить алгоритм вывода таблицы перевода расстояния в дюймах в сантиметры для значений 10, 11, …. 22 дюйма (1 дюйм = 25,4 мм).
 

2

Составить алгоритм вывода таблицы перевода перевода 1, 2, … 20 долларов США в гривне по текущему курсу (значение курса вводится произвольно).
3 Составить алгоритм вывода значений e 1, e 2, …, e 20.
4 Составить алгоритм вывода следующих номеров: 1.1, 2.1, …, 21.1.
5 Составить алгоритм вывода двадцати первых четных чисел.
6 Составить алгоритм вывода значений следующих цифр: 2, 4, …, 20.
7 Составить алгоритм вывода стоимости 2, 3, …, 10 кг конфет (цена 1 кг конфет вводится произвольно).
8 Составить алгоритм табулирования функции y = 2x на отрезке [a; b]. Значение a, b могут меняться.
9 Составить алгоритм вывода пятнадцати первых нечетных чисел.
10 Составить алгоритм вывода суммы следующих цифр: 2, 4, …, 20.
11 Составить алгоритм табулирования функции y = (x + 1) 2 на отрезке [a; b].Значение a, b могут меняться.
12 Составить алгоритм вывода значений следующих цифр: 2, 4, …, 20.
13 Составить алгоритм вывода максимального из следующих цифр: 2, 4,

…, 20.

14 Составить алгоритм табулирования функции y = e x на отрезке [a; b].

Значение a, b могут меняться.

15 Составить алгоритм табулирования функции y = 3х + 6х 2 на отрезке [a; b].Значение a, b могут меняться.
16 Составить алгоритм вывода таблицы перевода расстояния в сантиметрах в дюймы для значений 2, 5, …. 14 см (1 дюйм = 25,4 мм).
17 Составить алгоритм табулирования функции y = cosх + 6sinх 2 на отрезке [a;

b]. Значение a, b могут меняться.

 

18

Составить алгоритм вывода таблицы перевода перевода 1, 2, … 20 гривен в доллары США по текущему курсу (значение курса вводится произвольно).
19 Составить алгоритм вывода минимального значения следующих номеров: — 2, 4, …, 20.
20 Составить алгоритм вывода значений следующих цифр: 1, 3, …, 21.
21 Составить алгоритм вывода десяти последних четных чисел.
22 Составить алгоритм вывода значений e 2, e 4, …, e 64.
23 Составить алгоритм вывода следующих номеров: 2.1, 2.2, …, 2,9.
24 Составить алгоритм вывода десяти последних нечетных чисел.
25 Составить алгоритм вывода произведения следующих цифр: 2, 4, …, 20.

Тема 2: Основные понятия ЯЗЫКА TURBO PASCAL. АЛФАВИТ. ВЕЛИЧИНЫ И ИХ ТИПЫ

литература:

1. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 18-21, 77-97.

2. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 10-21.

Темы для самостоятельной работы:

1. Главное меню программной среды Turbo Pascal.

2. Основные понятия языка Turbo Pascal.

3. Алфавит.

4. Величины и их типы.

Примеры решения индивидуальных задач: 

Пример 1: Функции работы с типами данных

ord ( ‘a’) = 97 round (5.47) = 5 trunc (5.47) = 5 odd (51) = true pred (50) = 49
ord (1) = 1 round (5.74) = 6 trunc (5.74) = 5 odd (24) = false succ (50) = 51

Пример 2: Целочисленные операции

 17 div 4 = 17 апреля mod 4 = 1 -21 div 4 = -5 -21 mod 4 = -1

Пример 3: Логический тип данных

Дано а = 5, b = 3, c = true.

Тогда значением выражений (a> 0) and (a <10) and (b> -10) будет true, а значением выражений

(b> -10) or not с будет false.

Пример 4: Логический тип данных

(X> 1) and (x <5) or (x> 10) and (x <20)

Сначала вычисляются слева направо четыре операции сравнения, помещены в круглые скобки, затем две логические операции and и в последнюю очередь выполняется операция or.

Пример 5: Логический тип данных

(X> 1) and ((x <5) or (x> 10)) and (x <20)

Сначала вычисляются четыре операции сравнения, помещены в круглые скобки, затем логическая операция or и в последнюю очередь выполняются операции and.

Пример 6: Логический тип данных — определить, есть ли среди цифр заданного трехзначного числа одинаковые.

Алгоритм решения:

1) Выделим первую цифру как результат деления на 100;

2) Выделим последнюю цифру, как остаток от деления на 10,

3) Отбросим последнюю цифру с помощью целочисленного деления на 10, получим двузначное число, состоящее из первой и второй цифры, данного числа;

4) Выделим из него последнюю цифру, как остаток от деления на 10,

5) Составим логическое выражение проверки существования одинаковых цифр.

решение:

а = n div 100; {первая цифра}

c = n mod 10, {последняя цифра}

n = n div 10; {отвергаем последнюю, остается первая и вторая} b = n mod 10; {вторая цифра}

z = (a = b) or (b = c) or (a = c) {одинаковые эти цифры?}

ВАРИАНТЫ индивидуальных заданий:

Практическое задание № 1: ОПЕРАЦИИ С типами данных

№ варианта Условие 1: Записать на языке Паскаль числа (в дробной части указывать до 4 цифр) Условие 2: Записать следующие числа без десятичного порядка
1 3/8 -12,4 * 7 октября 1,9 (3) 7! -15Е-2 0.0789E4
2 6,28 (5) -1/3 3 * 10 -7 1/10000 -0.253Е3 1E0
3 LXIII 1/4 е -32,7 * 10 мая 345Е-3 2E1
4 6! -120,3 (9) 3 7 октября -0.00034Е5 567E-2
5 -7/11 6,345 0,34 * 10 -8 7 (3) -35Е1 0.0009E5
6 7/9 -4,2 * 6 октября 32,7 (12) 10! -0.1111Е4 1E4
7 6,28123 -1/6 5 * 10 -6 1/100000 2222-3 4E1
8 XXXIV 10/3 -0,897 * 10 мая -0.037Е4 987E-3
9 4! -11,7 (24) 2/7 10 -10 -0.5Е1 0.9E5
10 1/6 -0,38 * 10 апреля 11,2 (8) 3! -0.003Е4 0E1
11 1236,1228 -3/8 1,5 * 10 -6 1/1000 11112-3 2E2
12 IV 1/11 6, (123) -32,7 * 10 мая -0.00027Е4 346E-2
13 8! -11,2 (4) 4 10 июня -90Е1 0.0001E5

 

№ варианта Условие 1: Записать на языке Паскаль числа (в дробной части указывать до 4 цифр) Условие 2: Записать следующие числа без десятичного порядка
14 5/7 -24,8 * 10 июня 2,3 (5) 6! -5Е1 0.0789E5
15 6,28 -1/6 5 * 10 -6 1/100000 -0.123Е4 1E1
16 LXIV 11/4 -32,1 * 3 Октября 666Е-3 9E1
17 5! -0,7 (4) 2 10 августа -0.00027Е5 234E-2
18 XXIV -32,7 * 10 мая -120,3 (9) 5 1E1 -0.1111Е4
19 6,64 (7) 10! -0,38 * 10 апреля -11,7 (24) 567E-2 -0.253Е3
20 5/9 1/100000 7 -24,8 * 10 июня 0.9E5 -0.00034Е5
21 6,2345678 1,5 * 10 -6 9! 1E0 -15Е-2
22 7! 5 * 10 -6 -11,7 (24) 10 -10 234E-2 11112-3
23 LXIIV 11 -32,7 * 10 мая 2,3 (5) 0.0009E5 -5Е1
24 7/11 2,3 (5) -24,8 * 10 июня 9E1 2222-3
25 3! 6 1/100000 5 * 10 -6 0.0789E5 345Е-3

Практическое задание № 2: вычисления значений выражений

№ варианта Условие задачи
1 trunc (6.9) 20 div 6 round (6.2) 2 mod 3
2 trunc (-1.8) 20 mod 6 round (-1.8) 2 div 4
3 trunc (6.2) 2 div 5 round (5.99) 3 mod 30
4 trunc (5.99) 3.0 mod 3 round (-0.5) 15 div 3
3 trunc (10.8) 123 div 0 round (6.9) 56 mod 10
6 trunc (-0.8) 32 mod 4 round (1.1) 3 div 5
7 trunc (-1.99) 66 div 10 round (100.1) 32 mod 4
8 trunc (6.6) 5 mod 2 round (4.89) 78 div 4
9 trunc (-56.8) 12 div 0 round (-90.1) 12 mod 4
10 trunc (0.2) 4 mod 3 round (12.5) 4 div 3
11 trunc (7.99) 40 div 6 round (-7.9) 40 mod 6
12 trunc (0.8) 66 mod 10 round (4.57) 6 div 10
13 trunc (-10.8) 44 div 4 round (-9.9) 6 mod 10
14 trunc (-0.99) 10 mod 2 round (0.7) 20 div 6
15 trunc (6.78) 55 div 5 round (0.12) 66 mod 10

 

№ варианта Условие задачи
16 trunc (-11.2) 6 mod 3 round (-23.7) 24 div 6
17 trunc (0.567) 32 div 4 round (67.1) 44 mod 4
18 trunc (0.423) 88 mod 8 round (7.14) 11 div 3
19 trunc (-12.545) 10 div 6 round (6.21) 6 mod 10
20 trunc (7.667) 100 mod 10 round (-4.1) 7 div 5
21 trunc (0.102) 4 div 6 round (0.125) 44 mod 5
22 trunc (-4.327) 44 mod 4 round (-12.12) 10 div 2
23 trunc (3.01) 5 div 10 round (8.41) 5 mod 10
24 trunc (0.334) 22 mod 2 round (7.134) 18 div 2
25 trunc (-7.7) 34 div 4 round (-9.111) 4 mod 34

 Практическое задание № 3: логический тип

 Во всех задачах данного пункта нужно вывести логическое значение True, если приведенное высказывание для предложенных исходных данных является истинным, и значение False в противном случае.Все числа, для которых указано количество цифр (двузначное число, трехзначное число и т.д.), считаются целыми.

№ варианта Условие задачи:

Проверить истинность высказывания

1 квадратное уравнение A × x 2 + B × x + C = 0 данным коэффициентами A, B, C

имеет корни.

2 Данные числа x, y являются координатами точки, лежащей во второй координатной четверти.
3 Даны три произвольные числа. Определить, можно ли построить треугольник с такими длинами сторон.
 

4

Точка с координатами (x, y) лежит внутри прямоугольника, левая верхняя вершина которого имеет координаты (x1, y1), правая нижняя — (x2, y2), а стороны параллельны координатным осям.
5 Данное целое число является четным двузначным числом.
6 Данное целое число является нечетным трехзначным числом.
 

7

Даны координаты (от 1 до 8) двух различных полей шахматной доски. Если ферзь за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
8 Среди трех данных целых чисел есть хотя бы одна пара взаимно противоположных.
9 Даны три стороны треугольника.              Определить, прямоугольный или это треугольник.

 

№ варианта Условие задачи:

Проверить истинность высказывания

10 Сумма двух первых цифр данного четырехзначного числа равна сумме двух его последних цифр.
 

11

Даны координаты (от 1 до 8) двух различных полей шахматной доски. Если лошадь за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
12 Все цифры данного трехзначного числа разные.
13 Даны три стороны треугольника.              Определить, равнобедренный или это треугольник.
14 Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность.
15 Даны три стороны треугольника.              Определить, равносторонний это треугольник.
16 Цифры данного трехзначного числа образуют арифметическую прогрессию.
 

17

Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если тура за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
18 Среди трех данных целых чисел есть хотя бы одна пара совпадающих.
19 Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти.
 

20

Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если король за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
21 Цифры данного трехзначного числа образуют возрастающую последовательность.
 

22

Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если слон за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
23 Цифры данного трехзначного числа образуют геометрическую прогрессию.
24 Сумма цифр данного трехзначного числа является четным числом.
25 Данное четырехзначное число читается одинаково слева направо и справа налево.

Тема 3: TURBO PASCAL. ВЫРАЖЕНИЯ. СТРУКТУРА ПРОГРАММЫ. Оператор присваивания, ввода и вывода ДАННЫХ. ДИАЛОГОВЫЕ ПРОГРАММЫ

литература:

1. Павловская Т.А.              Паскаль.              Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с.19-28, 31-40.

2. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 20-39.

Темы для самостоятельной работы:

1. структура программы.

2. Операторы присвоения, ввода и вывода данных.

3. Диалоговые программы.              решение задач и составления диалоговых програм в среде Turbo Pascal.

Примеры решения индивидуальных задач:

Пример 1: ВыраженияЗаписать математическое выражение языком Turbo Pascal

Пример 2: Диалоговые программы — составить программу диалога пользователя с компьютером на три вопроса

Листинг решение:

Program Pr_2;

Var n: string; {переменная для ввода ответы}

Begin Writeln ( ‘Привет’); Readln (n)

Writeln ( ‘Как твои дела?’); Readln (n)

Writeln ( ‘До свидания!’); Readln (n)

End.

№ варианта Условие задачи:

Записать листинг программы на языке Turbo Pascal

1 С помощью нескольких команд вывода текстовых данных выведите на экран адрес колледжа.
 

2

Компьютер опрашивает фамилия автора и название книги. Введите данные. Выведите на экран сообщение: «Проверьте, правильно ли введен данные:», а после этого — фамилия автора и название книги для визуального сверки.
 

3

Компьютер должен опросить название, цену единицы и количество купленного товара. Выведите чек — сообщение о сумме к оплате и сообщение:

«Спасибо за покупку».

4 С помощью нескольких команд вывода текстовых данных выведите на экран составные части системного блока компьютера.
 

5

Поздоровайтесь с компьютером. Введите свою фамилию, имя и отчество. Выведите поздравления от компьютера: «Добрый день …» и рядом ваша фамилия и инициалы.

 

№ варианта Условие задачи:

Записать листинг программы на языке Turbo Pascal

6 Написать программу, которая выводит на экран фразу: «Я восхищаюсь программированием» на запрос компьютера «Как ты проводишь свободное время?».
7 Составить программу, обеспечивающую запрос имени пользователя и вывода на экран приглашение на праздничный вечер.
8 С помощью нескольких команд вывода текстовых данных выведите на экран свой домашний адрес.
 

9

С помощью нескольких команд вывода текстовых данных выведите на экран название специальности, название группы и количество студентов, обучающихся.
 

10

Выполните учет трех названий товаров, которые имеются на складе. Спросите о количестве и цене товаров. Выведите на экран информацию о товарах на складе.
 

11

Компьютер опрашивает направление поездки, вид транспорта и количество билетов. Введите данные. Выведите на экран сообщение: «Проверьте, правильно ли введен данные:», а после этого — билет для визуального сверки.
12 С помощью нескольких команд вывода текстовых данных выведите на экран расписание занятий на понедельник.
13 Написать программу, которая выводит на экран фразу: «Мое любимое блюдо …» на запрос компьютера «Назови свое любимое блюдо?».
14 Составить программу, обеспечивающую запрос имени пользователя и вывода на экран визитной карточки.
15 С помощью нескольких команд вывода текстовых данных выведите на экран расписание звонков на занятия и перерыва.
16 Написать программу, которая выводит на экран фразу: «Я мечтаю работать …» на запрос компьютера «Какую профессию ты выбрал? ».
17 С помощью нескольких команд вывода текстовых данных выведите на экран рецепт от врача для приобретения лекарств в аптеке.
18 С помощью нескольких команд вывода текстовых данных выведите на экран собственный режим дня.
 

19

Компьютер опрашивает количество билетов сторону, ряд, и место в цирке. Введите данные. Выведите на экран сообщение: «Проверьте, правильно ли введен данные:», а после этого — билет в цирк для визуального сверки.
20 С помощью нескольких команд вывода текстовых данных выведите на экран рецепт любимого блюда.
21 Составить программу, обеспечивающую запрос имени пользователя и вывода на экран приветствия с восьмым марта.
22 Написать программу, которая выводит на экран фразу: «Я восхищаюсь …» на запрос компьютера «Какую спортивную секцию ты посещаешь? ».
23 С помощью нескольких команд вывода текстовых данных выведите на экран выдающиеся даты зимних месяцев.
24 С помощью нескольких команд вывода текстовых данных выведите на экран свои предпочтения. .
25 Составить программу, обеспечивающую запрос имени пользователя и вывода на экран поздравления с Новым годом.

Тема 4: TURBO PASCAL. ЛИНЕЙНЫЕ ПРОГРАММЫ

литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 19-28, 31-40.

2. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 20-39.

Темы для самостоятельной работы:

1.              Решение задач и составления линейных программы в среде Turbo Pascal.

Примеры решения индивидуальных задач:

 Пример 1: Линейные программы — Вычислить значение функции (значения переменных выбрать самостоятельно)

Листинг решение:

Program Pr_1;

Uses Crt;

Var x, y, z: real; {переменные}

Begin

Clrscr;

Writeln ( ‘Введите значения переменных’); Write ( ‘x =’);

Readln (х) Write ( ‘y =’); Readln (y)

z = ln (abs (exp (3 * ln (x)) / y)) / ln (10) * sin (x) / cos (x) * exp (-2 * x) Writeln ( ‘z =’, z: 5: 5)

Readln

End.

Пример 2: Линейные программы — Поменять местами значения переменных X и Y, не используя дополнительной переменной

Идея решения:

Если присвоить одной из переменных их сумму, тогда поочередное вычитание поможет обойтись без дополнительной переменной.

Алгоритм решения:

1) присваиваем переменной X сумму Х + У;

2) присваиваем переменной В разницу X-У, тогда в этой переменной уже будет содержаться значение, равное начальному значению X;

3) присваиваем переменной X разницу Х (это еще сумма) и В (равное Х), тогда результат будет равен начальному значению переменной В.

Листинг решение:

Program Pr_2;

Uses Crt;

Var x, y: real; {переменные}

Begin

Clrscr;

Writeln ( ‘Введите два числа’); Readln (x, y);

Writeln ( ‘x =’, x, ‘y =’, y) x = x + y;

y = xy;

x = xy;

Writeln ( ‘x =’, x, ‘y =’, y)

Readln

End.

Пример 3: Линейные программы — Даны координаты трех вершин треугольника A (l; l), В (2, 2) и С (-1; 2).Вычислить медиану m b и радиус описанной окружности r.

Листинг решение:

Program Pr_3;

Uses Crt;

Var x1, y1, x2, y2, x3, y3, a, b, c, mb, r, x, y, p, s: real; {переменные}

Begin

Clrscr;

Writeln ( ‘Введите координаты:’); Readln (xl, yl, х2, у2, х3, у3)

a = sqrt (sqr (x3-x2) + sqr (y3-y2)) {Вычислим длину сторон}

b = sqrt (sqr (xl-x3) + sqr (yl-y3)) {треугольника}

c = sqrt (sqr (x1-x2) + sqr (y1 -y2))

x = (x1 + x3) / 2; {Вычислим координаты}

y = (y1 + y3) / 2; {середины стороны b}

mb = sqrt (sqr (x-x2) + sqr (y-y2)) {Вычислим медиану mb}

p = (a + b + c) / 2; {Вычислим полупериметра}

s = sqrt (p * (pa) * (pb) * (pc)) {Вычислим площадь}

r = a * b * c / (4 * s); {Вычислим радиус}

Writeln ( ‘mb =’, mb: 5: 2) {Выведем результаты}

Writeln ( ‘r =’, r: 5: 2) {Выведем радиус}

Readln

End.

ВАРИАНТЫ индивидуальных заданий:

Практическое задание № 1: ЛИНЕЙНЫЕ ПРОГРАММЫ

№ варианта Условие задачи:

Записать листинг программы на языке Turbo Pascal

 

1

Цветочная клумба имеет форму круга. Вычислить ее периметр и площадь по заданному радиусу.
2 Вычислить периметр и площадь прямоугольного треугольника по заданным катетам и острым углом.
3 Вычислить длину окружности и площадь круга по заданному диаметру.
4 Участок леса имеет форму равностороннего трапеции.              Вычислить ее периметр и площадь по заданному сторонам.
 

5

Ресторан ежедневно закупает масло m1 кг по 8.50 грн. за килограмм, сметану m2 кг по 2.40 грн., сливки m3 кг по 4.10 грн.Определить суммы, необходимые для покупки отдельных продуктов, и общую сумму.
6 Предмет начинает скользить с наклонной плоскости длиной 1 м и высотой Н м. Определить время за которое он достигнет основания наклонной плоскости.
7 Вычислить кинетическую и потенциальную энергии тела заданной массы m, которое движется на высоте h со скоростью v.
8 Цены на два вида товаров выросли на р процентов. Вывести старые и новые цены.
9 Вычислить площадь поверхности и объем сферы по заданному радиусу r.
10 Скорость света 299 792 км / сек. Какое расстояние преодолевает свет за час, сутки?
 

11

Ввести урожайность трех сортов пшеницы (36, 40, 44 т / га) и размеры трех соответствующих полей (в га). Сколько собрали пшеницы с каждого поля и с трех полей вместе?
12 Радиус Луны 1740 км. Вычислить площадь поверхности и объем планеты.
13 Вычислить длину гипотенузы и площадь прямоугольного треугольника по заданным двум катетами.
14 Вычислить периметр и площадь боковой поверхности куба, если известно ребро.
 

15

Ввести производительности работы трех труб, которые наполняют бассейн, и время их работы. Сколько набрано в бассейне?
16 Какая площадь и периметр будут у квадрата, описанного вокруг окружности заданной площади S?
17 Тело падает с ускорением g. Определить пройденный телом путь после первой и второй секунд падения.

 

№ варианта Условие задачи:

Записать листинг программы на языке Turbo Pascal

18 Вычислить периметр и площадь прямоугольного треугольника по заданным катетами.
 

19

Телефонные разговоры с тремя населенными пунктами стоят c1, с2, с3 коп. / Мин. Разговоры продолжались t1, t2, t3 мин. соответственно. Какую сумму начислит компьютер к оплате за каждую в отдельности и все разговоры?
20 Вычислить площадь боковой поверхности и объем бочки по заданной высоте h и радиуса основания r.
21 Вычислить сторону и площадь квадрата, если известна его диагональ d.
22 Вычислить площадь боковой поверхности и объем конуса с заданной высотой h, образующей l и радиусом основания r.
 

23

Поезд ехал t1 ч со скоростью v1 км / ч., T2 ч со скоростью v2 и t3 ч со скоростью v3. Определить пройденные пути с разной скоростью и полный путь.
24 вычислить катет и площадь прямоугольного треугольника по заданным гипотенузой и втором катету.
25 Цветочная клумба имеет форму квадрата. Вычислить ее периметр и площадь по заданной стороной.

Практическое задание № 2: ЛИНЕЙНЫЕ ПРОГРАММЫ

Формулы расчета некоторых величин для решения типовых задач о треугольнике:

1) Расстояние между точками: (x 1, y l), (x 2, y 2) d

2) Координаты середины отрезка: x = (x 1 + x 2) / 2, y = (y 1 + y 2) / 2

3) Периметр треугольника: р = (а + b + с) / 2

4) Площадь треугольника: s

5) Высота треугольника: h a = 2s / a, h b = 2s / b, h c = 2s / c

6) Биссектриса треугольника:

W

W   

W   

7) Радиус описанной окружности: r = a × b × c / (4S)

8) Радиус вписанной окружности: r = s / p, где а, b, с — стороны треугольника

№ варианта Условие задачи:

Записать листинг программы на языке Turbo Pascal. Треугольник задан координатами вершин А (0; 0), В (i; i-1) и С (-i; i + 1), где i — № варианта

1 Вычислить высоту ha и биссектрису Wc.
2 Вычислить медиану mа и биссектрису Wb.
3 Вычислить биссектрису Wa и радиус вписанной окружности r.
4 Вычислить высоту ha и медиану mb.
5 Вычислить медиану mb и биссектрису Wc.
6 Вычислить биссектрису Wa и радиус описанной окружности R.
7 Вычислить высоту hb и биссектрису Wa.
8 Вычислить высоту hb и медиану mс.
9 Вычислить высоту ha и радиус вписанной окружности r.
10 Вычислить медиану mс и биссектрису Wa.
11 Вычислить высоту hb и биссектрису Wc.
12 Вычислить медиану мс и радиус вписанной окружности r.
13 Вычислить высоту hb и медиану ma.
14 Вычислить медиану mа и радиус описанной окружности R.
15 Вычислить медиану mа и биссектрису Wc.
16 Вычислить высоту hc и биссектрису Wa.
17 Вычислить медиану mb и радиус вписанной окружности r.
18 Вычислить высоту hс и медиану mа.
19 Вычислить медиану mb и биссектрису Wa.
20 Вычислить медиану mс и радиус описанной окружности R.
21 Вычислить высоту hc и биссектрису Wb.
22 Вычислить высоту hc и медиану mb.
23 Вычислить высоту ha и радиус описанной окружности R.
24 Вычислить высоту ha и биссектрису Wb.
25 Вычислить высоту ha и медиану mс.

Тема 5: TURBO PASCAL. ПРОСТОЙ И составляющей оператор ветвления И ВЫБОРА

литература:

1. Павловская Т.А.              Паскаль.              Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 40-51.

2. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 39-48, 54-59.

Темы для самостоятельной работы:

1. Операторы ветвления.

2. Операторы выбора.

3. Решение задач и составления программ с использованием операторов разветвления и выбора.

Примеры решения индивидуальных задач:

Пример 1: Оператор ветвления — Найти наибольшее число из трех данных целочисленных чисел.

Идея решения:

Если первое число больше второго и третьего, то оно больше, иначе если второе больше третьего, то второй крупнейший, иначе всего — третье число.

Алгоритм решения:

1) Ввести три числа А, В и С;

2) Если А> В и А> С то больше А иначе если В> С то больше В случае больше С.

Листинг решение:

Program Pr_1;

Var a, b, c, max: real;

Begin

Writeln ( ‘Введите числа А, В, С’); Readln (a, b, c)

If (a> b) and (a> c) then max = a else If b> c then max = b else max = c; Writeln ( ‘всего из чисел — «, max)

End.

Пример 2: Оператор ветвления — Вычислить:

Алгоритм решения:

1) Введение (х)

2) Если х <-5 то в = х 2 + 4 иначе если х <0 то y = abs (x) иначе если х <4 то

в: = 1               x иначе y = x-1

3) вывод (в)

Листинг решение:

Program Pr_2; Var x, y: real; Begin

Writeln ( ‘Введите значение x’); Readln (x)

If x <-5 then y = sqr (x) +4

else

If x <0 then y = abs (x)

else

If x <4 then y: = 1 + sqrt (x)

else y = x-1; Writeln (y: 0: 4)

End.

Пример 3: Оператор выбора — составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7) выводит на экран его название (понедельник, вторник, …, воскресенье).

Листинг решение:

Program Pr_3; Var i: byte; Begin

Writeln ( ‘Введите номер дня недели’); Readln (i)

Case i of

1: Writeln ( ‘Понедельник’);

2: Writeln ( ‘вторник’);

3: Writeln ( ‘среды’);

4: Writeln ( ‘четверг’);

5: Writeln ( ‘Пятница’);

6: Writeln ( ‘Суббота’);

7: Writeln ( ‘воскресенье’); else Writeln ( ‘Ошибка’); End;

End.

ВАРИАНТЫ индивидуальных заданий:

 

Практическое задание № 1: оператор ветвления

 

№ варианта система уравнений № варианта система уравнений
 

1

 

 

14

 

 

 

2

 

 

15

 

3

 

16

 

4

 

17

 

 

5

 

18

 

6

 

19

 

7

 

 

20

 

8

 

21

 

9

 

 

22

 

 

Практическое задание № 2: оператор ветвления

 

№ варианта Условие задачи
1 Даны три целых числа. Возвести в квадрат отрицательные числа и в третью степень — положительные (число 0 не учитывать).
2 Из трех данных чисел выбрать наименьшее четное число.
3 Перераспределить значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — больше.
4 Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения.
5 Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.
6 Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.
7 На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.
8 Определить, заканчивается целое трехзначное число на цифру 7.
9 Определить, есть ли треугольник со сторонами А, В, С равносторонним.
10 Из трех данных чисел выбрать наименьшее и наибольшее положительное число.

 

№ варианта Условие задачи
11 Определить, есть произведение цифр двузначного числа нечетным.
12 Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по убыванию.
13 Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то вывести 0. Если точка совпадает с началом координат, то вывести 1. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 2 или 3.
14 Даны координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.
15 Которая и цифр трехзначного числа больше, первая или последняя?
16 Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения.
17 Определить, есть ли треугольник со сторонами А, В, С равнобедренным.
18 Даны три переменные: X, Y, Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
19 Существует треугольник с длинами сторон А, В, С?
20 Определить, все ли цифры трехзначного числа одинаковые.
21 Определить, начинается целое трехзначное число на цифру 9.
22 Определить, является ли сумма цифр двузначного числа парной.
23 Из трех данных чисел выбрать наиболее нечетное число.
24 Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или уменьшением, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
25 Определить, есть ли треугольник со сторонами А, В, С прямоугольным.

 Практическое задание № 3: ОПЕРАТОР ВЫБОРА

№ варианта Условие задачи
1 Ввести номер студента в списке. Вывести его фамилию.
2 Ввести номер месяца. Вывести его название.
3 Ввести первую букву названия страны. Вывести название ее столицы.

 

№ варианта Условие задачи
4 Ввести номер поезда. Вывести название пункта назначения.
5 Есть данные об автомобилях четырех моделей. Ввести номер модели и получить характеристики: год выпуска и цену.
6 Ввести номер трамвая. Вывести названия его конечных остановок.
7 Ввести первую букву названия страны. Вывести название континента.
8 Ввести номер месяца. Вывести название времени года.
9 Ввести номер студента в списке. Вывести его имя.
10 Ввести первую букву названия города. Вывести справку о численности населения и площадь города.
11 Ввести номер месяца. Вывести название и номер квартала.
12 Ввести номер автобуса. Вывести количество остановок его маршрута.
13 Ввести первую букву названия страны. Вывести население и количество городов этой страны.
14 Ввести номер дня недели. Вывести выходной или рабочий день.
15 Ввести номер месяца. Вывести количество дней в нем.
16 Есть данные о 6 товаров. Ввести числовой код одного из них, получить справку о цене и количестве товара на складе.
17 Ввести числовой код группы. Вывести полное название группы и количество студентов в ней.
18 Ввести числовой код группы. Вывести полное название отделения.
19 Ввести число из диапазона 0..5. Вывести его написания двух языках.
20 Ввести номер поезда. Вывести справку о его длину.
21 Ввести числовой код созвездия. Вывести количество звезд в нем.
22 Ввести номер дня недели. Вывести его название и количество занятий.
23 Ввести телефонный код райцентра. Вывести его название.
24 Ввести номер квартиры в доме. Вывести количество комнат и людей, которую в ней живут.
25 Ввести число из диапазона 5..9. Вывести его значение на трех языках.

Тема 6: TURBO PASCAL. ЦИКЛИЧЕСКИЕ ОПЕРАТОРЫ

литература:

1. Павловская Т.А.   Паскаль.   Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 52-58.

2. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 39-48, 60-66.

Темы для самостоятельной работы:

1. циклы с предпосылкой.

2. циклы с постусловием.

3. циклы с параметрами.

4. Решение задач и составление программы с циклическими операторами в среде Turbo Pascal.

Примеры решения индивидуальных задач:

Пример 1: Циклы с предусловием — необходимо перебрать все целые числа из интервала от А до В. Эти числа представлены в виде упорядоченной последовательности, в которой каждое число отличается от предыдущего на 0,2.

 Листинг решение:

Program Pr_1; Var i, a, b: integer; Begin

Writeln ( ‘Введите число А’); Readln (a)

Writeln ( ‘Введите число B’); Readln (b)

i = a; {переменная и принимает значения а}

While i <= b do {пока и меньше или равно b}

Begin {выводим на экран квадрат текущего значение и} Write ( », sqr (i));

i = i + 0.2; {увеличиваем и на 0,2}

End; End.

Пример 2: Циклы с предусловием — Вводится натуральное число.Найти сумму четных цифр, входящих в его состав.

Листинг решение:

Program Pr_2;

Var n: longint; sum: integer;

Begin Readln (n) sum: = 0;

While n> 0 do Begin

If n mod 10 mod 2 = 0 then sum = sum + n mod 10; n = n div 10;

End; Writeln (sum); End.

Пример 3: Циклы с постусловием — Написать программу, которая выводит на экран целые числа 17, 24, …, 45 в обратном порядке.

Идея решения:

Указанные числа представляют собой убывающую арифметическую прогрессию, в которой каждое число отличается от предыдущего на 7.

Листинг решение:

Program Pr_3; Var i: integer; Begin

i = 45; {переменная и принимает значение первого числа с диапазона}

Repeat Write ( », i) i = i-7;

Until i <17;

End.

Пример 4: Циклы с постусловием — определить с каких цифр складывается число.

Листинг решение:

Program Pr_4; Var n: integer; Begin

Write ( ‘Введите целое число:’); Readln (n)

If n <0 then

n = — n; {удаляем знак числа}

Repeat

Writeln (n mod 10); {вывод последней цифры числа} n = n div 10; {удаления последней цифры числа} Until n = 0;

Readln

End.

Пример 5: Циклы с параметрами — Вычислить произведение:

Листинг решение:

Program Pr_5;

Var y, x: real; n: byte;

Bеgin

Writeln ( ‘Введите значение переменной’); Write ( ‘x =’);

Readln (x) y: = 1;

For n = 1 to 5 do y = y * exp (x) * ln (n) * sin (n) / cos (n) Writeln ( ‘y =’, y: 5: 5)

End.

Пример 6: Циклы с параметрами — Найти сумму ста первых чисел натурального ряда.

Program Pr_6;

Var s, k: integer;

Begin

s: = 0;

For k = 1 to 100 do s = s + k; Writeln ( ‘сумма =’, s); End.

ВАРИАНТЫ индивидуальных заданий:

Практическое задание № 1: циклы с предусловием

Построить таблицу соответствий между мерами. Начальное значение, шаг изменения и количество строк в таблице (10-15) задать самостоятельно в режиме диалога.

№ варианта Условие задачи
1 1 унция = 28,353495 г = 142 карата
2 1 драхм = 1,77185 г = 0,06249 унций
3 1 карат = 0,2 г = 2,9412 гран
4 1 гран = 0,068 г = 0,038378 драхм
5 1 пайп = 54,18 пек = 0,0477,33 л
6 1 галлон (брит.) = 1,2 галлон (США) = 4,546 л
7 1 галлон (США) = 0,0347 сак = 3,785 л
8 1 рюмка = 0,0568 л = 0,00012 рюмок
9 1 квартет = 291 л = 5123,24 рюмок

 

№ варианта Условие задачи
10 1 забастовку = 72,73 л = 1280,46 рюмок
11 1 челдрон = 1,309 л = 0,149 пека
12 1 сак = 109 л = 1,499 страйка
13 1 пек = 8,81 л = 0,07929 сака
14 1 корд малый = 3,624 куб.м = 128 куб. фунтов
15 1 стандарт = 4,672 куб. м = 0,165 рода
16 1 род = 28,3 куб.м = 1000 куб. фунтов
17 1 чейн строительный = 30,48 м = 100 футов
18 1 фингер = 11,4 см = 4,5 дюймов
19 1 нейл = 5,7 см = 2,25 дюймов
20 1 фут = 0,3048 м = 12 дюймов
21 1 ярд = 0.9144 м = 3 фута
22 1 кабельтовых Брит. = 0,183 км = 680 футов
23 1 кабельтовых США = 219,5 м = 720 футов
24 1 дюйм = 2,54 см = 12 линий
25 1 морская миля = 1,852 км = 6076 футов

 Практическое задание № 2: циклы С Постусловиям

Протабулировать функцию y = f i + 8 (x) на отрезке [0; и] с шагом h = 0.1, где i-номер варианта.Результаты вычислений вывести на экран в виде таблицы пар чисел х, у. Выполнить задачу поиска данных. Если данные отсутствуют, то вывести сообщение.

№ варианта Условие задачи
1 Вычислите сумму первого и последнего значений функции.
2 Вычислите сумму всех значений функции, для которых выполняются неравенства в <-3,2 или в> 0.
3 Вычислите количество всех значений функции, для которых выполняются неравенства y <-3 или y> 0,4.
4 Вычислите произведение всех отрицательных значений функции и определить количество положительных.
 

5

Вычислите произведение значений аргумента (х), для которых достигаются минимальное и максимальное значения функции. Сколько было отрицательных значений? Определить максимальное значение.
6 Определить сумму положительных значений функции и количество отрицательных.

 

№ варианта Условие задачи
7 Вычислите сумму и количество положительных значений функции.
8 Вычислите сумму квадратов всех положительных значений функций в.
9 Вычислите модуль разности максимального и первого значений функции.
10 Сколько отрицательных и положительных значений имеет функция у?
11 Определить, для которого х функция принимает минимальное значение.
12 Вычислите сумму всех значений функции, для которых выполняются неравенства в <1,2 или в> 4. Определить максимальное значение функции.
13 Вычислите сумму положительных значений и количество отрицательных.
14 Вычислите сумму отрицательных значений функции. В точке (х) функция принимает максимальное значение.
15 Вычислите сумму всех значений функции, для которых выполняется неравенство 1 <y <3,1.
16 Определить, для которого х функция принимает минимальное значение.
17 Вычислите количество всех отрицательных значений функции.
18 Вычислите сумму квадратов всех значений функции в для которых выполняется неравенство -2,4 <в <5.
19 Вычислите модуль максимального и минимального значений.
20 Вычислите среднее арифметическое всех отрицательных значений функции.
21 Вычислите сумму кубов всех положительных значений функции и их количество.
22 Найти среднее арифметическое значений функции, для которых выполняются неравенства в <0 или в> 1.
23 Найти минимальное значение функции, а также определить значение аргумента, для которого оно достигается.
24 Вычислите сумму и количество значений функции, для которых выполняется неравенство 0 <у <1.
 

25

Вычислите количество и произведение значений функции, для которых выполняются неравенства 1,3 <y <5. Каких значений функции больше: положительных или отрицательных?

 

Практическое задание № 3: цикла с параметром

№ варианта Условие задачи № варианта Условие задачи
1 y 7 i 6

i 1 (i 6) (i 7)

14 9 x n

y n 3

n 5

2 1 0 x n

y               n

n 1 n 2

15 6 n

y               n

n 1 (x 2)

 

№ варианта Условие задачи № варианта Условие задачи
3 9

y   sin 2 nx

2

n 1 (2 n)

16 y n 6

9

 

n 1 (n 3) x n

4 5

y 2 n t g x

n 1 марта n

17 6 n 3

y ln (x 2)

n 1

 

5

7 (x 3) n

y               n

n 1 (n 1) 5

 

18

8

z x (i 1) sin ( i)

i 1

 

6

y 2 n 1

6

 

x n

n 3

 

19

1 0 t g 3 x cos 2 n * x y               n x

n 1 e

7 1 0 1 e n

z n cos ( n)

n 1

20 8 x n \ 2

z 2 n ln x n

n 3

 

8

5 x n

y               5 n

n 1 n

 

21

5 (x 3) n

y               3

n 1 n

9 12 lg x

y               n * x

n 1 e

22 8 1 n

z   tg (2 n) e

n 1 n

10 8 февраля               i

z tg ( i) x (i 1)

i 1

23 y 8 1 мая i c o s (x ) e 1

i 1

11 5 (x 2) n

y               n

n 1

24 12

z x lg x n

n 3 n

12 12 i

z ln x x

i 1 x (i 1)

25 10

y cos x

n * x

n 1 e

13 y (X 2) n s i n

7

 

n

n 1               2

26 4

y (n 1) x n

n 1

 

Практическое задание № 4: цикла с параметром

Во всех задачах предполагается, что исходный набор содержит ненулевое число элементов (в частности, число N всегда больше нуля).

№ варианта Условие задачи
1 Даны десять чисел. Вывести их среднее арифметическое.
2 Дано целое число N и набор из N вещественных чисел. Вывести сумму чисел из данного набора.
3 Дано целое число N и набор из N ненулевых целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел.
 

4

Дано целое число N и набор из N ненулевых целых чисел. Вывести в том же порядке номера всех нечетных чисел из данного набора и количество K таких чисел.

 

№ варианта Условие задачи
5 Даны целые числа K, N и набор из N целых чисел. Если в наборе присутствует число, меньше K, то вывести True; в противном случае вывести False.
6 Даны набор ненулевых целых чисел; признак его завершения — число 0. Вывести количество элементов в наборе.
 

7

Даны набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
8 Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести количество чисел в наборе, меньших K.
 

9

Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер первого числа в наборе, большего

K. Если таких чисел в наборе нет, то вывести 0.

 

10

Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер последнего числа в наборе, меньше K. Если таких чисел в наборе нет, то вывести 0.
11 Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые меньше своего левого соседа, и количество K таких чисел.
12 Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые больше своего правого соседа, и количество K таких чисел.
 

13

Дано целое число N и набор из N вещественных чисел. Проверить, образует данный набор возрастающую последовательность. Если образует, то вывести True, если нет — вывести False.
 

17

Дано целое число N и набор из N вещественных чисел. Если данный набор образует убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность.
 

18

Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между первыми двумя нулями (если первые нули идут подряд, то вывести 0).
 

19

Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (если последние нули идут подряд, то вывести 0).
20 Даны целые числа K, N и набор из N вещественных чисел: A1, A2, …, AN. Вывести K-тe степени чисел из данного набора: A1K, A2K …, ANK.
21 Дано целое число N и набор из N вещественных чисел: A1, A2, …, AN. Вывести следующие числа: A1, A22, …, AN-1N-1, ANN.
22 Дано целое число N и набор из N вещественных чисел: A1, A2, …, AN. Вывести следующие числа: A1N, A2N-1, …, AN-12, AN.
23 Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести количество чисел в наборе, больших K.
24 Дано целое число N и набор из N вещественных чисел. Вывести произведение чисел из данного набора.
25 Даны десять чисел. Вывести их среднее геометрическое.

Тема 7: TURBO PASCAL. ПОНЯТИЕ одномерный массив (вектор)

литература:

1. Павловская Т.А.              Паскаль.              Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 60-69.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 121-129.

3. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 76-102.

Темы для самостоятельной работы:

1. Указания обработки одномерных массивов.

2. адресация векторов.

3. Методы сортировки одномерных массивов.

Примеры решения индивидуальных задач:

Пример 1: Одномерный массив — сформировать одномерный массив, состоящий из N целых элементов.Найти произведение квадратов всех отрицательных элементов массива, удовлетворяющих условию c <a [1] <d.

Листинг решение:

Program Ptr_1;

Const n = 7;

Var a: array [1..n] of integer; c, d, pr: integer; i: byte;

Begin

Writeln ( ‘Введите значение переменной с’); Readln (c)

Writeln ( ‘Введите значение переменной d’); Readln (d)

pr: = 1;

For i: = 1 to n do Begin

Write ( ‘a [‘, i, ‘] = ‘); {начало цикла введение элементов массива}

Readln (a [i]);

If a [i] <0 then if (a [i]> c) and (a [i] <d) then pr = pr * sqr (a [i]);

End;

Writeln ( ‘Произведение равно:’, pr)

End.

Пример 2: Благоустройство элементов одномерного массива — ввести с клавиатуры 12 произвольных чисел в диапазоне от -100 до 100.Сортировать их по возрастанию и вывести на экран по 4 элемента в строке.

Идея решения:

Находим в массиве элемент с максимальным значением на интервале от 2-го до последнего элемента и меняем его местами с последним элементом.На втором шаге находим максимальный элемент на интервале от 2-го до предпоследнего и меняем местами его с предыдущим элементом. И так далее для всех элементов до 2-го.

Листинг решение:

Program Ptr_2;

Const n = 7;

Var x: array [1..12] of integer; mx: integer; i, j, m: byte;

Begin i: = 1;

While i <= 12 do {начало цикла введение элементов массива}

Begin

Write ( ‘x [‘, i, ‘] =’); Readln (x [i]);

If (x [i]> = — 100) and (x [i] <= 100) then i = i + 1;

End;

For i = 12 downto 2 do {перебор элементов массива от последнего к первого}

Begin

m = 1; {номер элемента с максимальным значением}

For j = 2 to i do {поиск максимального элемента массива}

If x [j]> x [m] then m = j;

mx = x [m]; {перестановка значений элементов массива}

x [m] = x [i]; x [i] = mx; End;

For i: = 1 to 12 do {вывода элементов массива в 4 строки}

Begin

Write (x [i], »: 3);

If и mod 4 = 0 then writeln;

End; End.

Пример 3: Благоустройство элементов одномерного массива — В одномерном массиве переставить числа, не меняя порядка следования таким образом, чтобы в начале массива стояли отрицательные числа.

 Идея решения:

Находим отрицательные числа от первой до последней ячейки массива, если число найдено то: запоминаем его, все элементы от найденного к месту добавления в массиве перемещаем таким образом, чтобы в начале массива освободилось место для отрицательного числа; ставим на это место найдено число.

Листинг решение:

Program Ptr_3;

Var a, b: array [1..1000] of integer; k, n, i, j, aa: integer;

Begin Readln (n) Writeln; Randomize;

For i: = 1 to n do {начало цикла введение элементов массива случайным образом}

Begin

a [i] = random (200) 100;

Write (a [i], »); End; Writeln; j = 0;

For i: = 1 to n do Begin

If a [i] <0 then Begin

inc (j)

aa = a [i];

For k = i downto j + 1 do

a [k] = a [k-1]; a [j]: = aa; End;

End;

For i: = 1 to n do Write (a [i], »); Writeln;

End.

Пример 4: Работа с двумя одномерными массивами — дано два целочисленных n-мерных вектора.Найти сумму элементов этих векторов. Результат объединения вывести в отдельный вектор.

 Идея решения:

Определим количество элементов (размерность) массивов, введем значение n. Введем массив a и массив b.В цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле: c [i] = a [i] + b [i]. Выведем на экран полученный массив с.

 Листинг решение:

Program Ptr_4;

Var a, b, c: array [1..100] of integer; и, n: byte;

Begin

Write ( ‘Введите размеры массивов:’); Readln (n)

For i: = 1 to n do

Readln (a [i]); {ввод массива a}

For i: = 1 to n do

Readln (b [i]); {ввод массива b}

For i: = 1 to n do с [i] = a [i] + b [i]; {вычисление суммы массивов}

For i: = 1 to n do

Write (c [i], ‘ ‘); {вывод массива с}

end.

ВАРИАНТЫ индивидуальных заданий: 

Практическое задание № 1: одномерный массив

№ варианта Условие задачи
1 Найти, сколько отрицательных элементов удовлетворяют условию с <= a [1] <= d
2 Найти сумму квадратов всех отрицательных элементов массива
3 Найти сумму положительных элементов массива, удовлетворяющих условию с <= a [1] <= d
4 Найти произведение квадратов всех отрицательных элементов массива
5 Найти сколько положительных, отрицательных и нулевых элементов в массиве
6 Найти сумму отрицательных элементов массива, удовлетворяющих условию с <= a [1] <= d
7 Найти сумму квадратов всех положительных элементов массива
8 Найти сумму кубов всех отрицательных элементов массива
9 Найти произведение отрицательных элементов массива, удовлетворяющих условию с <= a [1] <= d
10 Найти произведение всех нечетных элементов массива соответствующей условиям с <= a [1] <= d
11 Найти, сколько положительных элементов удовлетворяют условию с <= a [1] <= d
12 Найти произведение первых L элементов массива
13 Найти сколько элементов массива удовлетворяют условию с <= a [1] <= d
14 Найти произведение кубов всех элементов массива соответствующей условиям с <= a [1] <= d
15 Найти произведение последних L элементов массива
16 Найти произведение элементов массива, удовлетворяющих условию с <= a [1] <= d

 

№ варианта Условие задачи
17 Найти произведение положительных элементов массива, удовлетворяющих условию с <= a [1] <= d
18 Найти произведение кубов всех положительных элементов массива
19 Найти сколько парных элементов удовлетворяют условию с <= a [1] <= d
20 Найти произведение квадратов всех элементов массива соответствующей условиям с <= a [1] <= d
21 Найти сумму квадратов всех элементов массива соответствующей условиям с <= a [1] <= d
22 Найти произведение кубов всех элементов массива соответствующей условиям с <= a [1] <= d
23 Найти произведение квадратов всех парных элементов массива
24 Найти произведение квадратов всех элементов массива кратных 3
25 Найти сумму кубов всех элементов массива, удовлетворяющих условию с <= a [1] <= d

 Практическое задание № 2:

Сортировки элементов одномерного массива

№ варианта Условие задачи
 

1

Заполнить одномерный массив, состоящий из 20 элементов случайными числами в диапазоне от 0 до 100. Сортировать полученный массив по убыванию и вывести на экран по 5 элементов в строке.
 

2

Ввести последовательность целых чисел. Напечатать их в порядке убывания по 3 элемента в каждой строке. Отсутствуют в строке элементы заменить нулями.
 

3

Три одномерных массивы состоят из 7 произвольных действительных компонентов каждый. Разместить максимальные компоненты этих массивов в порядке убывания.
 

4

Заполнить одномерный массив, состоящий из 50 элементов случайными числами в диапазоне от 0 до 1000. Сформировать другой массив, состоящий из элементов исходного. Сортировать полученный массив по росту.
 

5

Пять одномерных массивов состоят из 10 произвольных действительных элементов каждый. Разместить среднее арифметическое значение элементов этих массивов в порядке возрастания.
 

6

Заполнить одномерный массив, состоящий из 20 элементов, случайными числами в диапазоне от 0 до 100. Сформировать другой массив, состоящий из первого и последнего элементов и сортировать его по росту.

 

№ варианта Условие задачи
 

7

Даны два одномерных массива по 10 элементов каждый. Получить одномерный массив, элементы которого будут суммой соответствующих элементов исходного массива. Сортировать массив по убыванию.
 

8

Заполнить одномерный массив, состоящий из 50 элементов, случайными числами в диапазоне от 0 до 100. Сформировать одномерный массив, состоящий из элементов исходного, увеличенных в три раза и сортировать его по убыванию.
 

9

Заполнить одномерный массив, состоящий из 50 элементов случайными числами в диапазоне от 0 до 1000. Сформировать другой массив, состоящий из элементов исходного, кратных 7. Сортировать полученный массив по росту.
 

10

Ввести последовательность чисел в диапазоне -1000 до +1000. Напечатать их в порядке убывания по 4 элемента в каждой строке. Отсутствуют в строке элементы заменить значением модуля минимального числа.
 

11

Заполнить одномерный массив, состоящий из 13 элементов случайными числами в диапазоне от 0 до 100. Сортировать полученный массив по убыванию и вывести на экран по 3 элемента строке. Отсутствуют в строке элементы заменить суммой отрицательных элементов массива.
 

12

Восемь одномерных массивов состоят из 20 произвольных действительных элементов каждый. Разместить средние геометрические значения элементов этих массивов в порядке убывания.
 

13

Три одномерных массивы состоят из 5 произвольных действительных компонентов каждый. Разместить минимальные компоненты этих массивов в порядке возрастания.
 

14

Три одномерных массивы состоят из 10 элементов каждый.  Разместить модули разницы нечетных элементов этих массивов в порядке убывания.
 

15

Заполнить одномерный массив, состоящий из 30 элементов случайными числами в диапазоне от 0 до 100. Сортировать полученный массив по возрастающей и вывести на экран по 3 элемента в строке.
 

16

Восемь одномерных массивов состоят из 20 произвольных действительных элементов каждый. Разместить средние геометрические значения элементов этих массивов в порядке возрастания.
 

17

Заполнить два одномерные массивы, состоящие из 25 элементов, случайными числами в диапазоне от 0 до 100. Сформировать одномерный массив, состоящий из сумм парных элементов и сортировать его по убыванию.
 

18

Заполнить одномерный массив, состоящий из 10 элементов случайными числами в диапазоне от 0 до 100. Сортировать полученный массив по росту и вывести на экран по 3 элемента в строке. Отсутствуют в строке элементы заменить минимальным значением.
19 Три одномерных массивы состоят из 10 элементов каждый.Разместить суммы парных элементов этих массивов в порядке роста.

 

№ варианта Условие задачи
 

 

20

Заполнить одномерный массив, состоящий из 30 элементов случайными числами в диапазоне от 0 до 100. Сортировать полученный массив по росту и вывести на экран по 3 элемента в строке. Отсутствуют в строке элементы заменить значением среднего арифметического элементов массива.
 

21

Заполнить два одномерные массивы, состоящие из 25 элементов, случайными числами в диапазоне от 0 до 100. Сформировать одномерный массив, состоящий из произведений парных элементов и сортировать его по возрастающей.
 

22

Заполнить одномерный массив, состоящий из 20 элементов случайными числами в диапазоне от 0 до 150. Сформировать другой массив, состоящий из элементов исходного, кратных 3. Сортировать полученный массив по убыванию.
 

23

Заполнить одномерный массив, состоящий из 20 элементов случайными числами в диапазоне от 0 до 100.Сортировать полученный массив по убыванию и вывести на экран по 7 элементов в строке. Отсутствуют в строке элементы заменить максимальным значением.
 

 

24

Заполнить одномерный массив, состоящий из 15 элементов, случайными числами в диапазоне от 0 до 100. Сформировать одномерный массив, состоящий из элементов массива, расположенных в обратном порядке.
 

25

Даны два одномерных массива по 10 элементов каждый. Получить одномерный массив, элементы которого будут произведением соответствующих элементов исходного массива. Сортировать массив по возрастающей.

 Практическое задание № 3:

РАБОТА С НЕСКОЛЬКИМИ одномерный массив

№ варианта Условие задачи
 

1

Заданный массив D [1..10]. Сформировать два массива, включая в первый элементы исходного массива с четными индексами, а во второй — с нечетными индексами.
 

2

Задано массив размером K [1..10]. Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй нечетные элементы с четными индексами.
 

3

Задан одномерный массив A [1..18]. Сформировать новый массив B [1..17], элементы которого определяются по формуле B [i] = abs (a [i] -a [i

+ 1]). Найти сумму четных элементов массива B.

 

№ варианта Условие задачи
 

4

Заданные массивы a [1 … 10] и b [1 … 15]. Определить индексы максимальных элементов каждого массива (использовать процедуру формирования массива и процедуру определения индекса максимального элемента).
 

5

Сформировать массивы A, B и C, содержащих по 15 целых случайных чисел. Найти сумму элементов каждого массива. Создать процедуру для формирования массива и определения суммы его частей.
 

6

Задан одномерный массив A [1..18]. Сформировать новый массив B [1..17], элементы которого определяются по формуле B [i] = abs (a [i] + a [i

+ 2]). Найти сумму положительных элементов массива B.

 

7

Заданные массивы а [1 … 20], b [1 … 10] и c [1 … 15]. Найти среднее арифметическое минимальных элементов массива (использовать процедуру формирования массива и процедуру определения минимального элемента).
 

8

Заданные массивы a [1 … n], b [1 … n] и c [1 … n]. Определить наименьший среди максимальных элементов массива (использовать процедуру формирования массива и процедуру определения максимального элемента).
 

9

Заданный массив D [1..50]. Сформировать два массива, включая в первый элементы исходного массива с нечетными индексами, а во второй — с четными индексами.
 

10

Заданные массивы a [1 … 14] и b [1 … 14]. Найти сумму минимальных элементов массивов (использовать процедуру формирования массивов и процедуру определения минимального элемента).
 

11

Задан одномерный массив A [1..18]. Сформировать новый массив B [1..17], элементы которого определяются по формуле B [i] = sqr (a [i] -abs (a [i + 1])). Найти произведение четных элементов массива B.
 

12

Заданный массив размером K [1..50]. Сформировать два массива, включая в первый нечетные элементы исходного массива с четными индексами, а во второй парные элементы с нечетными индексами.
 

13

Заданные массивы a [1 … n], b [1 … m], c [1 … k]. Определить, какой из массивов содержит больше положительных чисел (использовать процедуру формирования массива и процедуру определения количества положительных элементов).
 

14

Заданные массивы a [1 … n] и b [1 … m]. В обоих массивах все члены, которые идут по максимальному, заменить на -1 (использовать процедуру формирования массива и процедуру замены элементов массива).
 

15

Заданные массивы a [1 … 10] и b [1 … 15]. Определить среднее арифметическое нечетных элементов каждого массива (использовать процедуру формирования массива и процедуру определения среднего арифметического нечетных элементов).

 

№ варианта Условие задачи
 

16

Задан одномерный массив A [1..18]. Сформировать новый массив B [1..17], элементы которого определяются по формуле B [i] = abs (sqr (a [i])

— sqr (a [i + 1])). Найти произведение нечетных элементов массива B.

 

17

Установлен порядок массивов a [1 … 15] и b [1 … 20]. Найти количество отрицательных элементов в каждом массиве (использовать процедуру формирования массива и процедуру определения количества отрицательных элементов).
 

18

Заданные массивы a [1 … 10] и b [1 … 10]. Найти количество четных элементов в каждом массиве (использовать процедуру формирования массива и процедуру определения количества парных элементов).
 

19

Сформировать массивы A, B и C, содержащих по 10 целых случайных чисел. Найти среднее арифметическое элементов каждого массива. Создать процедуру для формирования массива и определение среднего арифметического его элементов.
 

20

Задан одномерный массив A [1..18]. Сформировать новый массив B [1..17], элементы которого определяются по формуле B [i] = abs (a [i] + a [i

+ 1] + sqr (a [i])). Найти количество нулевых элементов массива B.

 

21

Заданные массивы a [1 … 10] и b [1 … 15]. Определить среднее арифметическое четных элементов каждого массива (использовать процедуру формирования массива и процедуру определения среднего арифметического парных элементов).
 

22

Сформировать массивы A, B и C, содержащих по 20 целых случайных чисел. Найти произведение элементов каждого массива. Создать процедуру для формирования массива и определения суммы его частей.
 

23

Заданные массивы a [1 … 15] и b [1 … 20]. Найти количество положительных элементов в каждом массиве (использовать процедуру формирования массива и процедуру определения количества положительных элементов).
 

24

Заданные массивы a [1 … 15] и b [1 … 20]. Определить индексы минимальных элементов каждого массива (использовать процедуру формирования массива и процедуру определения индекса минимального элемента) ..
 

25

Заданные массивы a [1 … 14] и b [1 … 14]. Найти произведение минимальных элементов массивов (использовать процедуру формирования массивов и процедуру определения минимального элемента).

Тема 8: TURBO PASCAL. ПОНЯТИЕ многомерного массива (матрицы)

литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 60-69.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 121-129.

3. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 76-102.

Темы для самостоятельной работы:

1. Указания обработки многомерных массивов.

2. Методы сортировки многомерных массивов.

3. Главная и боковая диагонали матрицы.

Примеры решения индивидуальных задач:

 Пример 1: Многомерные массивы — сформировать многомерный массив, составленный из N × N элементов.После чего: найти сумму элементов столбца, в котором находится минимальный элемент матрицы.

 Идея решения:

Находим в массиве элемент с минимальным значением на интервале от 2-го до последнего элемента, присваиваем дополнительной переменной индекс столбца с минимальным элементом, вычисляем сумму элементов столбца.

 Листинг решение:

Program Pr_1;

Const n = 3;

Var a: array [1..n, 1..n] of integer; sum, min: integer;

i, j, k: byte; Begin Writeln; Randomize;

For i: = 1 to n do {начало цикла введение элементов массива}

Begin

For j = 1 to n do Begin a [i, j] = random (100);

Write (a [i, j], »);

End; Writeln; End;

min = a [1,1]; {первый минимальный элемент массива}

For i: = 1 to n do

For j = 1 to n do

If min> a [i, j] then Begin min = a [i, j];

k = j; End; sum: = 0;

For i: = 1 to n do

sum = sum + a [i, k];

Writeln ( ‘Сумма элементов столбца «, k,’ в котором расположен min», min, ‘=’, sum); Writeln;

End.

Пример 2: Диагонали многомерного массива — Найти сумму положительных элементов, расположенных на диагоналях квадратной матрицы.

 Идея решения:

Используя правила доступа к элементам главной и побочной диагоналей матрицы, рассчитываем сумму элементов.

 Листинг решение:

Program Pr_2;

Const n = 5,

Var a: array [1..n, 1..n] of integer; sum: integer;

i, j: byte; Begin Writeln; Randomize;

For i: = 1 to n do Begin For j = 1 to n do Begin a [i, j] = random (50);

Write (a [i, j], »);

End; writeln; End;

sum: = 0;

For i: = 1 to n do Begin

If a [i, i]> 0 then sum = sum + a [i, i];

If a [i, n + 1-i]> 0 then sum = sum + a [i, n + 1-i];

End;

Writeln ( ‘Сумма элементов диагоналей =’, sum); Writeln;

End.

Пример 3: Д вовимирни таблицы В двумерном массиве хранится информация о количестве студентов в каждой из трех групп каждого курса с первого по четвертый (в первую строке — информация по первому курсе, во 2-й строке — о втором курсе и т. п.).Найти численность самой группы на 3 курсе. На каком курсе больше студентов, на первом или на четвертом?

Листинг решение:

Program Pr_3;

Var a: array [1..5,1..3] of integer; i, j, m, s1, s5: integer;

Begin

randomize; {формируем и выводим таблицу}

For i: = 1 to 5 do

For j = 1 to 3 do Begin

a [i, j] = random (10) +20;

Write (a [i, j], »);

End;

m = a [3,1]; {находим наибольший элемент в 3-м строке}

For i: = 1 to 3 do

If a [3, i]> m then m = a [3, i];

Writeln ( ‘Численность наибольшей группы на третьем курсе «, m)

For j = 1 to 3 do Begin

s1 = s1 + a [1, i];

s5 = s5 + a [5, i]

End;

If s1> s5 then Writeln ( ‘студентов больше на 1 курсе «)

else If s1 <s5 then Writeln ( ‘студентов больше на 4 курсе «)

else Writeln ( ‘количество студентов на 4-м и 1-м курсах равно’);

End.

ВАРИАНТЫ индивидуальных заданий:

 Практическое задание № 1: многомерные МАССИВ 

№ варианта Условие задачи
1 Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент
2 Получить новую матрицу путем деления всех элементов данной матрицы на ее наименьший по модулю элемент
3 Получить новую матрицу путем умножения всех элементов данной матрицы на ее наибольший по модулю элемент
4 Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент
5 Получить новую матрицу путем сложения всех элементов данной матрицы с ее наибольший по модулю элемент

 

№ варианта Условие задачи
6 Получить новую матрицу путем сложения всех элементов данной матрицы с ее маленький по модулю элемент
7 Получить новую матрицу путем вычитания всех элементов данной матрицы на ее наибольший по модулю элемент
8 Получить новую матрицу путем вычитания всех элементов данной матрицы на ее наименьший по модулю элемент
9 Заменить нулями все элементы, расположенные на главной диагонали и выше нее
10 Заменить нулями все элементы, расположенные на главной диагонали массива и ниже нее
11 Заменить нулями все элементы, расположенные на главной диагонали массива
12 Сформировать одномерный массив из сумм элементов строк многомерного массива
 

13

Найти максимальное значение элементов многомерного массива. Обчислить среднее арифметическое строки с этим элементом, указав номер этой строки в массиве
14 Найти среднее арифметическое элементов каждой нечетной строки этого массива
15 Найти среднее арифметическое элементов каждого из нечетных столбцов этого массива
16 Сформировать одномерный массив из сумм элементов столбцов матрицы
17 Сформировать одномерный массив из произведения элементов строк матрицы
18 Сформировать одномерный массив из произведения элементов столбцов матрицы
19 Сформировать одномерный массив из наименьшего значения элементов строк матрицы
20 Сформировать одномерный массив из крупнейших значения элементов строк матрицы
21 Сформировать одномерный массив из наименьшего значения элементов столбцов матрицы
22 Сформировать одномерный массив из крупнейших значения элементов столбцов матрицы
23 Сформировать одномерный массив из разницы наибольших и наименьших значений элементов столбцов матрицы
24 Сформировать одномерный массив из разницы наибольших и наименьших значений элементов строк матрицы
25 Сформировать одномерный массив из суммы наибольших и наименьших значений элементов столбцов матрицы

Практическое задание № 2: многомерные МАССИВ 

№ варианта Условие задачи
 

1

Составить программу для определения номера строки и номера столбца прямоугольной матрицы, на пересечении которых находится самый большой по абсолютной величине элемент этой матрицы.
 

2

Составить программу нахождения максимального элемента в каждом столбце и минимального в каждой строке квадратной матрицы.
 

3

Составить программу обмена местами максимального и минимального элементов главной диагонали матрицы.
 

4

Данная квадратная матрица порядка n. Составить программу вычисления количества положительных элементов в нижнем левом треугольнике, включая диагональные элементы.
 

5

Сформировать и вывести на экран в виде таблицы массив А [1..4,1..6], заполнив его целыми случайными числами из интервала [30,75]. Найти среднее арифметическое каждого столбца.
 

6

Составить программу для определения номера строки и номера столбца прямоугольной матрицы, на пересечении которых находится маленький по абсолютной величине элемент этой матрицы.
 

7

Данная квадратная матрица порядка n. Составить программу вычисления количества четных элементов в нижнем левом треугольнике, включая диагональные элементы.
 

8

Вывести на экран матрицу 6 × 6, элементами которой являются цели случайные числа из интервала [20,50]. Определить сумму минимальных элементов строк матрицы.
 

9

Вывести на экран матрицу 5 × 5, элементами которой являются цели случайные числа из интервала [19,49]. Найти сумму нечетных элементов каждого столбца.
 

10

Вывести на экран матрицу 4 × 6, элементами которой являются цели случайные числа из интервала [25,50]. Определить произведение максимальных элементов столбцов матрицы.
 

11

Вывести на экран матрицу 8 × 5, элементами которой являются цели случайные числа из интервала [20,40]. Определить номер строки, содержащей не менее 2-х парных чисел.
 

12

Вывести на экран матрицу 4 × 5. Определить номера столбцов, содержащих не более половины положительных элементов.
 

13

Вывести на экран матрицу 5 × 5, элементами которой являются цели случайные числа из интервала [-19,49]. Найти сумму четных элементов каждого столбца

 

№ варианта Условие задачи
 

14

Вывести на экран матрицу 8 × 8, элементами которой являются цели случайные числа из интервала [-9,9]. Определить максимальный элемент в каждой строке и поменять его местами с последним элементом строки.
 

15

Вывести на экран матрицу 3 × 4, элементами которой являются цели случайные числа из интервала [19,99]. Определить минимальный элемент в каждой строке и поменять его местами с первым элементом строки.
 

16

Вывести на экран матрицу 5 × 4, элементами которой являются цели случайные числа из интервала [30,70]. Определить номер минимального элемента в каждом четном столбце и номер максимального элемента в каждом нечетном столбце.
 

17

Вывести на экран матрицу 4 × 6. Найти сумму элементов каждой строки. Вывести результат в виде одномерного массива и найти его максимальный элемент.
 

18

Вывести на экран матрицу 10 × 8, элементами которой являются цели случайные числа из интервала [19,49]. Определить минимальный элемент в каждом столбце и выбрать из них максимален.
 

19

Вывести на экран матрицу 5 × 8. Определить номера столбцов, содержащих хотя бы один отрицательный элемент.
 

20

Вывести на экран матрицу 4 × 8, элементами которой являются цели случайные числа из интервала [-20,30]. Определить номер максимального элемента в каждой строке и номер минимального в каждом столбце.
 

21

Вывести на экран матрицу 8 × 5, элементами которой являются цели случайные числа из интервала [30,70]. Определить среднее арифметическое минимального и максимального элемента в каждом столбце.
 

22

Вывести на экран матрицу 5 × 5. Определить среднее арифметическое минимальных элементов столбцов матрицы.
 

23

Вывести на экран матрицу 3 × 6, элементами которой являются цели случайные числа из интервала [10,90]. Определить номер минимального элемента в каждой строке.
 

24

Вывести на экран матрицу 5 × 5, элементами которой являются цели случайные числа из интервала [19,49]. Найти среднее арифметическое нечетных элементов каждого столбца.
 

25

Вывести на экран матрицу 8 × 5, элементами которой являются цели случайные числа из интервала [20,40]. Определить номер строки, содержащей не более 3-х парных чисел.

Тема 9: TURBO PASCAL. срочные ВЕЛИЧИНЫ

 литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 70-79.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 130-136.

3. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987. — с. 102-105.

Темы для самостоятельной работы:

1. Процедуры обработки срочных величин.

2. Функции обработки срочных величин.

3. рекурсивные процедуры.

Примеры решения индивидуальных задач:

 Пример 1: Сроки — составить программу, которая подсчитывает количество слов в предложении.

 Листинг решение:

Program Pr_1;

Var s: string [60]; i, n: byte;

Begin

Writeln ( ‘Введите произвольное предложение’); Readln (s)

n = 0;

For i: = 1 to length (s) do If s [i] = » then n = n + 1;

Write ( ‘Количество слов в предложении «, n + 1);

End.

Пример 2: Сроки — Удалить из произвольного строки символов фрагмент теста в круглых скобках вместе со скобками.

 Идея решения:

Определить, есть ли скобка «(» в тексте. Если есть, то начиная со следующей позиции, где она расположена, подсчитать количество символов в скобки «)».Удалить из текста данный фрагмент.

 Листинг решение:

Program Pr_2;

Var s: string; i, n: byte;

Begin readln (s) n = pos ( ‘(‘, s);

If n = 0 then writeln ( ‘no !!’)               else Begin

i = n;

While s [i] <> ‘)’ do inc (i);

Delete (s, n, i-n + 1); Writeln (s)

End; End.

 Пример 3: Сроки — Приведены список из 8 слов.Найти короткое слово в списке.Если таких слов несколько, то распечатать их в один столбец.

 Идея решения:

Решение поставленной задачи сводится к нескольким этапам: ввести список слов в виде массива строковых переменных; подсчитать длину каждой строки; определить наименьшую из длин; распечатать те строки массива, длина которых совпадает с наименьшей.В данной программе для обозначения слов используется массив строковых переменных s, для обозначений соответствующих им длин слов — целочисленный массив n. Наименьший элемент массива n сохраняется в виде переменной min.

 Листинг решение:

Program Pr_3;

Var s: array [1..8] of string [20]; n: array [1..8] of integer; i, min: integer;

Begin

For i: = 1 to 8 do Begin Writeln ( ‘Введите слово’); Readln (s [i]); n [i]: = length (s [i]);

End; min = n [1];

For i = 2 to 8 do

If min> n [i] then min = n [i];

For i: = 1 to 8 do

If n [i] = min then Writeln (s [i]);

End.

Пример 4: Сроки — Задан строку из двух слов, разделенных пробелом.Поменять в этой строке слова местами.

 Листинг решение:

Program Pr_4;

Var s: string [40]; s1, s2: string [20]; i, n: integer;

Begin

writeln ( ‘Введите срока’); readln (s)

n = length (s) i = pos ( », s);

s1 = copy (s, 1, i)

s2 = copy (s, i + 1, ni) s = s2 + » + s1;

writeln (s)

End.

ВАРИАНТЫ индивидуальных заданий:

 Практическое задание № 1: СРОКИ

 

№ варианта Условие задачи
 

1

Заданный текст. Определить удовлетворяет он следующем: текст начинается с некоторой нулевой цифры, за которой следуют только буквы, их количество равно числовому значению этой цифры.
 

2

Заданный текст. Определить, удовлетворяет ли он следующем: текст содержит (кроме букв) только одну цифру, причем ее числовое значение равно длине текста.
3 В заданном тексте вставить между словами вместо одного пробела запятую и пробел.
4 Заданный текст. После каждого слова записать в скобках его длину.
5 Ввести текст. После каждого предложения записать в скобках количество символов в нем, кроме пробелы.
6 Ввести текст. Удалить из него слова с нечетными порядковыми номерами.
 

7

Текст записан образом: первый символ — цифра, указывающая длину первого слова, по первому слову — опять цифра, указывающая длину второго слова (длина каждого слова <= 9) и т.д. Выписать К-слово из текста.
8 Известно, что в текст Т входит восклицательный знак. Подсчитать последовательности символов, предшествующих знак знак количество пробелов.
9 В заданном тексте убрать лишние пробелы между символами, оставив другу.
 

10

Дан текст В. Получить в тексте А все символы, расположенные между первой и второй двоеточием, если второй двоеточия нет, то получить все символы, расположенные после единственной имеющейся двоеточия.
11 В заданном тексте удалить часть текста, заключенную в скобки (вместе со скобками).
12 Заданный текст. Превратить его, удалив каждый символ «*» и повторив каждый символ, отличный от «*».
13 Заданная срочная последовательность ’15 * 3 + 7 «. Вычислить значение выражения.
 

14

Заданный текст. Подсчитать сколько раз в тексте встречается удвоенное а. Если такой пары нет, ответом должно быть 0. Последовательность вида ааа или аааа удвоенными не считать.

№ варианта Условие задачи
15 Заданный текст. Разделить его на строки. В качестве разделителя в тексте используется «%».
16 Заданный текст. Составить программу подсчета количества слов и предложений в тексте, если слова разделяются пробелом, а конец предложения — точкой.
17 Проверить, является ли заданное слово палиндромом.
18 Ввести произвольный строку, содержащую цифровые и буквенные символы. Посчитать, сколько цифр содержится в введенном строке.
19 Среди натуральных чисел от 1 до N найти все такие, запись которых совпадает с последними цифрами записи их квадратов. (5 и 25, 25 и 625)
20 Если в заданный текст входит буква, напечатать букву текста непосредственно следующую за первым вхождением а.
21 Сколько раз в тексте встречается заданное слово (слова разделены пробелами).
22 Ввести текст. После каждого предложения записать в скобках количество символов в нем, включая пробелы.
23 Сколько раз в тексте встречается заданное слово (как разделитель могут использоваться пробелы, знаки пунктуации тому подобное)
 

24

Заданный текст, целые числа k и n. В заданном тексте напечатать букву

«*» В k-позиции и букву «И» в n-й позиции. (При k = n печатать только

«*»).

25 Ввести текст. Определить на какую букву заканчивается третье слово.

 Практическое задание № 2: СРОКИ

 

№ варианта Условие задачи
1 Составить программу, которая подсчитает количество предложений в тексте.
2 Ввести строку текста на английском языке строчными буквами. Изменить его таким образом, чтобы каждое слово начиналось с большой буквы.
3 Ввести предложение.              Вывести на экран цепочку букв с которых начинаются слова предложения.
4 Заданная срочная последовательность ’15 + 3 × 5 «. Вычислите значение выражения.
5 Ввести строку текста и вычислить номер позиции, в которой впервые встречается буква «e».
6 Ввести текст на английском языке строчными буквами. Изменить его таким образом, чтобы каждое предложение начиналось с большой буквы.
7 Ввести текст.              Удалить из него слова с четными порядковыми номерами.
8 Ввести текст и сосчитать сколько раз в нем встречаются кома и точка.

№ варианта Условие задачи
9 Заданная срочная последовательность ’15 × 3 «. Вычислить значение разницы.
10 Ввести текст. После каждого слова записать в скобках его длину.
11 В заданном тексте везде заменить слово А1 на слово А2 (длины слов не совпадают).
12 Ввести предложение.              Вывести на экран цепочку букв, которым заканчиваются слова предложения.
13 Ввести текст и подсчитать, сколько раз в нем встречаются удвоенная буква «м».
14 Ввести текст. После каждого предложения записать в скобках количество слов в нем.
15 Заданная срочная последовательность ’15 / 3 + 3 «. Вычислить значение выражения.
16 Ввести текст. После слов с нечетными порядковыми номерами вставить знак
17 Выдать номер позиции заданной строки, в которой впервые встречается бука

«В». если такой буквы нет, выдать сообщение об этом

18 Ввести произвольный строка содержит цифровые и буквенные символы.Подсчитать сколько нецифровых содержится в введенном строке.
19 Ввести произвольный строку, подсчитать, сколько слов в заданной строке заканчивается буквой «я».
20 Заданный текст. Удалить из него все буквы бы, непосредственно перед которыми находится буква с.
21 С заданной строки получить новый, удалив все звездочки ( «*») и повторив каждый символ, отличный от звездочки.
22 Ввести текст. Определить на какую букву начинается каждое третье слово.
23 Определить сколько раз в тексте встречается буква А.
24 Ввести строку текста и Вычислить номер позиции, в которой последний раз встречается буква «и».
 

25

С заданной строки получить новый, заменив в нем все символы после второй по счету «*» знаков «_». Если такого нет, оставить все без изменения.

Тема 10: TURBO PASCAL. Подпрограмм. ПРОЦЕДУРЫ И ФУНКЦИИ. ГРАФИЧЕСКИЙ МОДУЛЬ

 литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 74-80.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 112-121.

Темы для самостоятельной работы:

1. стандартные модули.

2. Работа с библиотекой CRT.

3. Работа с библиотекой Graph.

4. понятие подпрограммы.

5. Структура процедуры и функции.

Примеры решения индивидуальных задач:

 Пример 1: Процедурыописать процедуру нахождения по заданной длине стороны треугольника и величинам двух прилегающих углов, длин других сторон треугольника и величины третьего угла.

 Идея решения:

По известным двум углам треугольника и стороне между ними можно найти другие стороны, используя теорему синусов: отношение синусов углов треугольника к длинам противоположных сторон равны между собой.Для треугольника ABC получаем:

sin A / BC = sin B / AC = sin C / AB.

Отсюда AC = (sin B * AB) / sin C, BC = (sin A * AB) / sin C.

Если известны два угла треугольника, то третий угол легко вычисляется, учитывая то, что сумма углов треугольника равна 180 градусам.В Pascal функция sin () принимает угол выражен в радианах. Чтобы перевести градусы в радианы нужно воспользоваться формулой:

rad = Угол * pi / 180.

 Листинг решение:

Program Pr_1;

Var K, L, M, KL, LM, KM: real;

Procedure triangle (var A, B, C, AB, BC, AC: real) {описание процедуры}

Var radA, radB, radC: real;

Begin

C = 180 — A — B; radA = A × PI / 180; radB = B × PI / 180; radC = C × PI / 180;

BC = (sin (radA) × AB) / sin (radC) AC = (sin (radB) × AB) / sin (radC) End;

Begin {основная программа}

Write ( ‘A = ‘); Readln (K)

Write ( ‘B = ‘); Readln (L);

Write ( ‘AB =’); Readln (KL)

Triangle (K, L, M, KL, LM, KM) {вызов процедуры} Writeln ( ‘C = «, M: 7: 2)

Writeln ( ‘BC =’, LM: 6: 2)

Writeln ( ‘AC =’, KM: 6: 2)

Readln;

End.

Пример 2: ФункцииОписать функцию вычисления f (x) по формуле:

f (x) = x ^ 2 при -2 <= x <2; x ^ 2 + 4x + 5 при x> = 2;

4 при x <-2.

Используя эту функцию для n заданных чисел, вычислить f (x). Среди вычисленных значений найти больше.

 Листинг решение:

Program Pr_2;

Const n = 5,

Var a, max: integer; i: byte; arr: array [1..n] of integer;

Function func (x: integer): integer; {описание функции}

Begin

If (x> = -2) and (x <2) then func = x × x else

If x> = 2 then func = x × x + 4 × x + 5 else func = 4,

End;

Begin {основная программа}

max = -32768;

For i: = 1 to n do Begin

Write ( ‘a =’); readln (a);

arr [i] = func (a) {вызов функции}

If arr [i]> max then max = arr [i];

End; Write ( ‘Result:’);

For i: = 1 to n do Write (arr [i], »); Writeln;

Writeln ( ‘max =’, max) Readln;

End.

Пример 3: Графический модульПрограмма выводит на экран 30 кругов разным цветом в разных местах окна.Для вывода окружности на экран используется процедура Circle, которая принимает три параметра — координаты центральной точки и радиус окружности. В данном коде они определяются случайным образом с помощью функции Random.

Листинг решение:

Program Pr_3;

Uses Graph;

Var g, h, i, x, y, r: integer;

Begin

g = detect; initgraph (g, h, »); randomize;

For i: = 1 to 30 do Begin

setcolor (random (15));

x = random (1000) + 100; y = random (800) + 100; r = random (100); circle (x, y, r)

End; Readln End.

Пример 4: Графический модульПрограмма выводит на экран 12 «звездочек», каждая из которых содержит по 10 линий.Координаты центральной точки каждой звездочки задаются случайным образом в диапазоне от 100 до 500 (400 + 100) пикселей. Цвет также задается случайным образом. Длина линий может быть до 20 пикселей и меньше. Для вывода линии на экран используется процедура Line.

 Листинг решение:

Program Pr_4;

Uses Graph;

Var g, h, i, j, x, y, x2, y2: integer;

Begin

g = detect; initgraph (g, h, »); randomize;

For i: = 1 to 12 do Begin

setcolor (random (15));

x = random (400) + 100; y = random (400) + 100; For j = 1 to 10 do begin x2 = x + random (40) -20; y2 = y + random (40) -20; line (x, y, x2, y2)

End; End; Readln End.

ВАРИАНТЫ индивидуальных заданий

Практическое задание № 1: ПРОЦЕДУРЫ И ФУНКЦИИ

№ варианта Условие задачи
1 Напишите функцию, которая возвращает значение, равное максимума из трех заданных чисел.
2 n               1

Вычислить: y 3 (2 k 1) (2 k 1)

k 1

3 Написать функцию вычисления суммы факториалов всех нечетных чисел от 1 до 9.
4 i

Вычислить: y i 2 k!

k 1 i!

5 Написать функцию проверки, данные три числа взаимно простыми.
6 Вычислить: y (M n)!

n

 

k 1 k!

7 Написать функцию, которая вычисляет наименьшее общее кратное двух чисел.
8 Написать функцию, которая вычисляет наименьший общий делитель двух заданных чисел.
9 Напишите процедуру, которая возвращает значение, равное максимума из трех заданных чисел.
10 n k!

Вычислить: y (N m k)!

k 1

11 Написать функцию, которая вычисляет наиболее общее кратное двух чисел.
12 n (k n m)!

Вычислить: y (N m k)!

k 1

13 Написать функцию, которая вычисляет наибольший общий делитель двух заданных чисел.
14 n i! n!

Вычислить: y (I n)!

i 1

15 Напишите функцию, которая проверяет состояние точек относительно прямой.
16 m k! 0,5 m!

Вычислить: y (M k)!

k 1

17 Напишите процедуру для расчета n-й степени действительного числа.
18 n (n m)!

Вычислить: y (M k)!

k 1

19 Напишите процедуру, которая возвращает значение, равное минимуму из трех заданных чисел.
20 m k! m!

Вычислить: y (K 2)!

k 1

21 n (2 k 1)!

Вычислить: y 3 (2 k 1)!

k 1

№ варианта Условие задачи
22 Напишите процедуру вывода на экран символов введенной строки в обратном направлении.
23 Напишите функцию, решает биквадратное уравнения.
24 n k!

Вычислить: y (K x)!

k 1

25 Напишите функцию, которая возвращает значение, равное минимуму из трех заданных чисел.

 Практическое задание № 2: ГРАФИЧЕСКИЙ МОДУЛЬ

№ варианта Условие задачи
1 Заполнить весь экран разноцветными прямоугольниками и кругами, чередуя их.
2 Заполнить экран прямоугольниками, вложенными друг в друга.
3 Окантовать экран разноцветными кругами.
4 Заполнить экран дугами в виде волн.
5 Нарисовать разноцветные круги, расположив их по кругу.
6 Нарисовать разноцветные треугольники, расположив их по прямоугольнику.
7 Построить отсортированную по росту последовательность треугольника.
8 Имитировать увеличение эллипса.
9 Создать свой орнамент из геометрических фигур.
10 Нарисовать систему координат.
11 Имитировать движение круги по горизонтальной линии.
12 Создать свой орнамент из геометрических фигур.
13 Имитировать хаотическое движение прямоугольника по экрану.
14 Имитировать движение круги по вертикальной линии.
15 Нарисовать N вложенных треугольников.
16 Имитировать увеличение прямоугольника.
17 Нарисовать N разноцветных воздушных шаров.
18 Имитировать движение круга по кругу.
19 Разработать график произвольной функции.
20 Разработать график произвольной функции.
21 Нарисовать N вложенных прямоугольников
22 Нарисовать разноцветную радугу.
23 Вывести на экран сетку.
24 Заполнить весь экран эллипсы.
25 Создать свой орнамент из геометрических фигур.

 

Тема 11: TURBO PASCAL. МНОЖЕСТВА И ЗАПИСИ

 литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 98-106.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 176-186.

Темы для самостоятельной работы:

1. Тип данных множество.

2. Составление программ с типом данных Set.

3. Файлы.

Примеры решения индивидуальных задач:

 Пример 1: Множества — проверить введенный пользователем строку на наличие недопустимых символов.В качестве первого символа допустимы только буквы и знак подчеркивания. Другие символы могут быть буквами, цифрами и знаком подчеркивания.

 Описание переменных:

str — строка;

flag — переменная-флаг для сохранения информации о корректности строки.

 

Тип и константы:

t_chs — множество возможных символов;

lett — множество, содержащее английские буквы и знак подчеркивания; num — множество, содержащее цифры.

 Идея решения:

Если переменная flag имеет значение true, то выведется сообщение о корректном ID, иначе о некорректном.Если первый символ строки не принадлежит множеству lett, то flag устанавливается в false. (Str [1] in lett возвращает false, если знак не принадлежит множеству. Получаем выражение not false, который дает true, и оператор if выполняется. Если символ принадлежит lett, то выражение str [1] возвращает true.

Иначе проверяем все символы строки, начиная со второго, принадлежность объединению множеств lett и num.Как только находится символ не принадлежит данному объединению, то flag устанавливается в значение false и осуществляется прерывания цикла (break).

 Листинг решение:

Type t_chs = set of Char;

Const lett: t_chs = [ ‘a’ .. ‘z’, ‘A’ ..’Z’, ‘_’]; num: t_chs = [ ‘0’ ..’9′];

Var str: string; i: byte; flag: boolean;

Begin

Write ( ‘String:’); Readln (str);

flag = true;

If not (str [1] in lett) then flag = false else Begin

i = 2;

While (i <= length (str)) do Begin

If not (str [i] in lett + num) then Begin

flag = false; break;

End;

i = i + 1;

End; End;

If flag then Writeln ( ‘Строка корректный’) else Writeln ( ‘Строка некорректный’); Readln;

End.

 

 

Пример 2: Множества — Добавить к введенному возраста соответствующее слово «год», «лет»,

«Годы».

 Идея решения:

Слово «год» добавляем, если последняя (или единственная) цифра которая равна 1, «года» — для 2, 3, 4, для всех остальных «лет».Числа 11, 12, 13, 14 (или имеют остаток от деления на 100) имеют «окончание» лет.

 Листинг решение:

Var let, let11, god, goda: set of byte; age, n: byte;

Begin

let = [0,5,6,7,8,9]; let11 = [11,12,13,14]; god = [1]; // goda = [2,3,4];

Write ( ‘Введите количество лет:’); Readln (age)

If (age in let11) or (age mod 100 in let11) then Writeln (age, «лет»)

else Begin

n = age mod 10;

If n in let then Writeln (age, » лет «)

else

If n in god then Writeln (age, » год «)

else writeln (age, «года»)

End; Readln; End.

Пример 3: Записи — составить программу, выводящую на экран изменения температуры по дням недели (дата, день недели температура, влажность).

 Листинг решение:

Uses Crt;

Const n = 7;

Type temper = record

dat1, den: string [20]; t, vl: integer;

End;

Var a: array [1..n] of temper; i : byte;

Begin

for i: = 1 to n do With a [I] do

Begin

Writeln ( ‘Введите дату’); Readln (dat1)

Writeln ( ‘Введите день недели’); Readln (den)

Writeln ( ‘Введите температуру воздуха’); Readln (t)

Writeln ( ‘Введите влажность’); Readln (vl)

End;

Writeln ( ‘График изменения температуры’);

For i: = 1 to n do

With a [I] do writeln (dat1, », den, » «, t, ‘ «, vl) Readln;

End.

Пример 4: Записи — вывести на экран фамилии студентов, чей балл выше среднего по группе.

 arr_studs — группа студентов; average — средний балл в группе.

Описание переменных:

Type

studs = record

Листинг решение:

sname: string [25]; eval: integer;

End;

Var arr_studs: array [1..15] of studs; sum: integer; average: real; i, n: byte;

Begin

Write ( ‘Количество студентов:’); Readln (n)

sum: = 0;

For i: = 1 to n do

With arr_studs [i] do Begin Write (i, ‘- и студент:’); Readln (sname)

Write ( ‘Оценка: ‘); Readln (eval)

sum = sum + eval;

end;

average = sum / n; Writeln;

Writeln ( ‘Студенты, с оценкой выше средней:’);

For i: = 1 to n do

If arr_studs [i] .eval> average then Writeln (arr_studs [i] .sname) Readln

End.

Пример 5: Записи — Составьте программу, определяющую количество дней в месяце.

 Листинг решение:

Type date = record year: 1900..2100;

month: 1..12

End; Var d: date; Begin

Write ( ‘Год:’); Readln (d.year) Write ( ‘Луна:’); Readln (d.month) Case d.month of

4,6,9,11: Writeln ( ‘В месяце 30 дней’);

1,3,5,7,8,10,12: Writeln ( ‘В месяце 31 день’);

2: If (d.year mod 400 = 0) or (d.year mod 100 <> 0) and (d.year mod 4 = 0) then

Writeln ( ‘В месяце 29 дней ‘) else Writeln ( ‘В месяце 28 дней ‘);

End; Readln; End.

ВАРИАНТЫ индивидуальных заданий:

 Практическое задание № 1: МНОЖЕСТВА И ЗАПИСИ

№ варианта Условие задачи
 

1

Дан текст с малых букв, за которым следует двоеточие. Напечатать первые вхождения в текст, сохраняя их исходный взаимный порядок.
 

2

Составить программу сбора и хранения информации о студентах по форме: «ФИО», «Век», «Группа», «Оценки по предметам: математика, физика, химия». Информацию собрать на трех студентов и затем отобразить ее на экране.

 

№ варианта Условие задачи
 

3

Дан текст с малых букв, за которым следует точка. Напечатать все буквы, входящие в текст по одному разу.
 

4

Дана не пустая последовательность из строчных букв; между соседними словами — запятая, за последним словом — точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
 

5

Составить программу по сбору информации на 4 ребят по форме Имя, вес, рост. Определить кто из них легче всех, и кто выше.
 

6

Дан текст, за которым следует точка. В алфавитном порядке напечатать (по разу) все малые гласные буквы, входящие в этот текст.(А, е, и, о, у, ы, э, ю, я).
 

7

Составит программу, которая собирает информацию и нескольких обычных дробях по форме: числитель и знаменатель. Вычислите сумму этих дробей и определить наибольшую из заданных дробей.
 

8

Составить программу, которая запрашивает время Т1 и Т2 (Т2> Т1) по форме: часы, минуты, секунды. Далее вычисляет разницу Т2-Т1 и выводит на экран результат в секундах.
 

 

9

Составьте программу, которая описывает массив записей жильцов дома, отображая следующую информацию о каждом: номер квартиры, фамилия, имя, возраст, для лиц старше 18 лет — род занятий (обучение в вузе, работа, пенсия). Программа должна обеспечивать ввод данных, поиск квартиры с максимальным числом жителей, поиск самого юного и самого старшего жителя, поиск пенсионеров и студентов.
 

 

10

Составьте программу, которая описывает таблицу химических элементов, отражая следующую информацию: название, символическое обозначение, массу атома, заряд ядра, перечень основных химических свойств. Программа должна выполнять вывод данных о химическом элементе по указанному символического обозначения, находить элемент с наибольшей массой, с наименьшим зарядом ядра.
 

 

11

Составьте программу, которая описывает массив записей — телефонный справочник сокурсников — и обеспечивает ввод данных, поиск номера телефона по фамилии, подсчет и вывод списка всех абонентов по критерию «увлечение компьютерными играми». В записи о каждом однокурсника содержатся следующие сведения: фамилия, имя, телефон, хобби.
 

12

Опишите запись, содержащая информацию о планетах солнечной системы: номер планеты по удалению от Солнца (тип integer) название планеты (тип string): объем (тип real) диаметр (тип real) удаленность от Земли (тип real). Сформируйте массив из 5 таких записей.
 

13

Опишите запись, содержащая информацию для школьной базы данных: личный номер ученика (тип integer) ФИО (тип string) год рождения (тип integer) адрес (тип string). Сформируйте массив из 6 таких записей.

№ варианта Условие задачи
 

14

Дана не пустая последовательность из строчных букв; между соседними словами — запятая, за последним словом — точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое слово.
 

15

Сведения о книге — это фамилия автора, название и год издания. Составить программу, которая запрашивает информацию о библиотеке, состоящей из нескольких книг, и найдет название книг данного автора, изданных с 2000
 

16

Составить программу, которая собирает информацию и нескольких учеников по форме: имя, дата рождения — месяц, год и вычисляет: возраст каждого ученика и определяет старшего.
 

17

Дана не пустая последовательность из малых русских букв; между соседними словами — запятая, за последним словом — точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят в слово.
 

18

Дан текст с малых букв, за которым следует кома. Напечатать все буквы, входящие в текст не менее двух раз.
 

19

Составить программу, которая собирает информацию о нескольких наименованиях товара по форме: название, количество, стоимость и определяет общее количество товара и его общую стоимость, определяет дорогой товар.
 

20

Проверить введенную пользователем строку на наличие недопустимых символов. В качестве первого символа разрешено только буквы и знак подчеркивания. Остальные символы могут быть буквами, цифрами и знаком подчеркивания.
 

21

Сведения о дате — день, месяц и год. Составить программу, которая запрашивает несколько дат и находит самый год; все весенние даты и самую позднюю дату.
 

22

Дана не пустая последовательность из малых русских букв; между соседними словами — запятая, за последним словом — точка. Напечатать в алфавитном порядке все гласные, которые не входят более чем в слово.
 

23

Определите семизначные число.              Составить программу, которая вычисляет количество цифр, в записи данного числа, которые являются простыми числами.
 

24

Дана не пустая последовательность из малых русских букв; между соседними словами — запятая, за последним словом — точка. Напечатать в алфавитном порядке все согласны, входящих только в слово.
 

25

Составить программу, которая собирает сведения о сотрудниках по форме: фамилия, инициалы, номер телефона по фамилии и инициалам.

Тема 12: TURBO PASCAL. Файловый

 литература:

1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007. — с. 107-123.

2. Фаронов В.В. Turbo Pascal. — СПб .: БХВ-Петербург, 2004. — с. 186-193.

Темы для самостоятельной работы:

1. Файлы. типы файлов.

2. Работа с файлами.

3. Текстовые файлы. Работа с текстовыми файлами.

Примеры решения индивидуальных задач:

 Пример 1: Текстовые файлы — рассчитать сколько содержится в файле символов, строк и слов.В программе Блокнот создать тестовый файл, необходимый для решения задачи.

 Листинг решение:

Var f: file of char; fname: string; ch: char; n, line, w: word; flag: boolean;

Begin

Write ( ‘File address & name:’); Readln (fname)

Assign (f, fname)

Reset (f);

n = 0;

line: = 0;

w: = 0;

flag = false;

While not EOF (f) do Begin

read (f, ch);

If ord (ch) = 13 then Begin

read (f, ch); line = line + 1; flag = false;

end else Begin

n = n + 1;

If ch = » then flag = false

else

If flag = false then Begin

w = w + 1;

flag = true;

End; End;

End;

If n <> 0 then line = line + 1;

Writeln (n) Writeln (line) Writeln (w)

Readln;

End.

Пример 2: Файлы — Нужно скопировать данные из одного файла в другой, но в обратном порядке.

 Листинг решение:

Var f1, f2: file of char; c: char; arr: array [1..100] of char; k, i: integer;

Begin

Assign (f1, ‘c: \ file1.txt’); Reset (f1)

k: = 1;

While not eof (f1) do Begin

read (f1, c)

arr [k] = c;

write (c 2) k = k + 1 End;

Assign (f2, ‘c: \ file2.txt’); Rewrite (f2)

For i = k-1 downto 1 do Begin Write (f2, arr [i])

End; close (f1) close (f2) reset (f2) Writeln;

While not eof (f2) do Begin

Read (f2, c)

Write (c: 2)

End; Readln End.

Пример 3: Файлы — Скопировать из одного файла в другой только нужные символы и подсчитать их общее количество.

 Листинг решение:

Var f1, f2: file of char; c: char; k: integer;

Begin

Assign (f1, ‘c: \ file1.txt’); Reset (f1) Assign (f2, ‘c: \ file2.txt’); Rewrite (f2) k = 0;

While not eof (f1) do Begin

Read (f1, c)

If (c = ‘a’) or (c = ‘e’) or (c = ‘u’) then Begin Write (f2, c) k = k + 1,

End; End; close (f1) close (f2) reset (f2)

While not eof (f2) do Begin

Read (f2, c)

Write (c: 2)

End; Writeln; Writeln (k)

Readln

End.

Пример 4: Файлы записей — Создать файл со списком: 10 студентов с их оценками (номер, ФИО, три оценки).Вывести его содержание на экран, заменить фамилию студента по номеру, введенным с клавиатуры, заново прочитать файл.

 Листинг решение:

Type wed = record {Тип wed включает 3 поля: n, fio, bal}

n: byte ; fio: string [15] ;

bal: array [1..3] of byte; {Поле bal — массив из 3 оценок }

End;

Var spisok: wed ; {Запись spicok типа wed}

sp: file of wed; {Файл записей типа wed}

Procedure vvod; {процедура создания файла}

Var i, j: byte;

Begin {оператор assing находится в основной программе}

rewrite ( sp) {открытие файла для записи}

With spisok do

For i: = 1 to 10 do Begin

n = i;

Writeln ( ‘Введите фамилию — «, i); Readln (fio)

Writeln ( ‘Введите 3 оценки «, fio)

For j = 1 to 3 do

Readln (bal [j]);

Write (sp , spisok) {запись в файл информации о студента}

End;

close (sp) {закрытие файла для записи}

End;

Procedure print; {процедура чтения и печати файла} Var j: byte; begin reset ( sp) {открытие файла для чтение} Writeln ( ‘Список студентов: ‘);

While not eof (sp) do

With spisok do Begin Read (sp, spisok) {чтения данных с файла} Write (n, ‘ «, fio) {вывод записи на экран} For j = 1 to 3 do Write ( », bal [j] )

Writeln; End; Readln; close (sp) End;

Procedure work;

Var num: integer;

Begin

reset ( sp) {открытие файла для чтения}

Writeln ( ‘номер =’); Readln (num)

seek (sp, num-1); {поиск записи с указанным номером (нумерация записей с 0)} Read (sp, spisok) {перемещения указателя к следующего записи} Write ( ‘fio =’);

Writeln (spisok.fio)

seek (sp, filepos (sp) -1) {возвращение к переменного записи}

Writeln ( ‘Введите новую фамилию » )

Readln (spisok.fio) write (sp, spisok) {запись в файл измененного записи}

close (sp)

End;

Begin {начало основной программы}

Assign (sp, «Vedom.DAT ‘); vvod;

print; work; print; Readln End.

ВАРИАНТЫ индивидуальных заданий:

 Практическое задание № 1: Файловый

№ варианта Условие задачи
 

1

Сформировать файл «Name», в котором хранится список имен. Используя сформированный файл, вывести на экран дисплея имена, начинающиеся с буквы А.

№ варианта Условие задачи
 

2

Дано символьный файл, содержащий сведения о сотрудниках учреждения. Записать сведения о работниках в следующем виде: имя отчество фамилия, имя, отчество фамилия, ….
 

3

Сформировать файл «Студенты», который имеет следующую структуру: фамилия студента, пол, год рождения. Напечатать список студентов мужского пола с указанием их возраста. В конце списка напечатать средний возраст.
 

 

4

Сформировать файл Exam по результатам сдачи экзаменов группой студентов. Информация о одного студента вводится в символьном виде в следующем порядке: фамилия, оценка. Напечатать результаты экзаменов на экран в виде таблицы. В шапке таблицы вывести названия предметов.
 

5

Сформировать файл, содержащий справку о книгах. Справка о каждой книге — это фамилия автора, название и год издания. Найти названия книг данного автора по 2015
 

6

Сформировать файл Book из фамилий любимых писателей.Напечатать фамилии 5-ти наиболее известных писателей.
 

7

Сформировать файл, содержащий информацию о бытовых магнитофоны: марка магнитофона, его цена. Используя сформированный файл, вывести информацию о магнитофоны, стоящие меньше чем n грн.
 

8

Сформировать символьный файл Г. Определить, есть два первых символа цифрами. Если да, то установить, является ли число, созданное этими цифрами, четным.
 

9

Дано файл f, компоненты которого являются действительными числами. Найти: произведение компонентов файла; произведение квадратов компонентов файла; последний компонент файла.
 

10

Дано файл Н, компоненты которого являются целыми числами. Число компонентов файла делится на 100. Записать в файл Г наибольшее значение первых ста компонентов файла Н.
 

11

Сформировать файл, содержащий сведения о кубы: размер каждого куба, его цвет, материал. Найти количество кубов каждого из перечисленных цветов и их общий объем.
 

12

Сформировать файл, содержащий сведения об игрушках: название, цена и возраст детей, на которых рассчитана данная игрушка. Получить справки о названии игрушек, цена которых не превышает 10 грн. и подходит для детей в возрасте 5 лет.
 

13

Сведения об автомобиле содержат их марку, номер и фамилия владельца. Сформировать файл, содержащий сведения о нескольких автомобилях. Найти фамилии владельцев и номера автомобилей данной марки, количество автомобилей каждой марки.

№ варианта Условие задачи
 

14

Сформировать файл, содержащий номера телефонов сотрудников учреждения: указывается фамилия сотрудника, его инициалы и номер телефона. Используя сформированный файл, найти телефон работника по его фамилии и инициалы.
 

15

Сформировать текстовый файл А. Записать в перевернутом виде строки файла А в файл. Порядок строк в файл должен быть обратным по отношению к порядку строк в файле А.
 

16

Сформировать текстовый файл. Используя сформированный файл, получить самую длинную срока файла. Если в файле несколько строк с наибольшей длиной, то получить все сроки.
 

17

Сформировать файл, содержащий данные о книгах по программированию. Вывести на экран дисплея фамилии авторов и названия книг, изданных издательством «Мир».
 

18

Сформировать текстовый файл. Используя сформированный файл, получить все его сроки, которые содержат более 20 символов.
 

19

Дано файл А, компоненты которого являются целыми числами. Переписать компоненты файла в файл Г таким образом, чтобы числа шли следующим образом: 5 положительных, 5 отрицательных.
 

20

Данные символьные файлы АА и ВВ. Записать в файл НН сначала компоненты файла АА, затем — компоненты файла ВР.
 

21

Сформировать файл, содержащий различные даты. Каждая дата — число, месяц и год. Используя сформированный файл, найти год с наименьшим номером, все весенние даты, самую позднюю дату.
 

22

Сформировать файл, содержащий сведения о поездах, отправляющихся с железнодорожного вокзала.Киев (№ поезда, станция назначения, время отправления). Вывести на экран информацию о поезде, которые отправляются в Кривой Рог от 21 до 24 часов.
 

23

Сформировать текстовый файл. Переписать с другого текстового файла все компоненты в первый текстовый файл с заменой символов 0 на символ 1.
24 Дано символьный файл Н. Получить файл Г, созданный из файла Н с заменой всех прописных букв на строчные.
25 Даны символьные файлы А и В. Определить совпадают компоненты этих файлов.

 

Список литературы

1. Абрамов С.А., Зима Е.В. Начало программирования на языке Паскаль. — М .: Наука, 1987.

2. Аляев Ю.А. и др. Практикум по алгоритмизации и программированию на языке Паскаль: Учеб. пособие / Ю.А. Аляев, В.П. Гладков, А.А. Козлов. М .: Финансы и статистика, 2004.

3. Васильев П.П. Турбо Паскаль в примерах и задачах. Освой самостоятельно: Учеб. пособие. — М .: Финансы и статистика, 2003.

4. Васюкова Н.Д., Тюляева В.Р. Практикум по основам программирования языка Паскаль. Учебное пособие. М .: Высшая школа, 1991.

5. Глинский Я. TPascal & Delphi / Я.М. Глинский, В.Е. Анохин, В. А. Ряжск.

— М .: Деол, 2003.

6. Глинский Я. Алгоритмизация и программирование. — М .: Деол, 2003.

7. Голицына О.Л. Основы алгоритмизации и программирования: Учеб. пособие / Е.Л. Голицына, И.И. Попов. — М .: ФОРУМ, 2008.

8. Грызлов В.И. Турбо Паскаль 7.0. / В.И. Грызлов, Т.М. Грызлова — четвёртый изд., Испр. — М .: ДМК Пресс, 2005.

9. Минакова Н.И. Методы программирования: Учебное пособие / Н.И. Минакова, Е.С. Невская, А. Угольницкий, А.А. Чекулаева, М.И.  Чердынцева. — М .: Вузовская книга, 2000.

10. Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня: Учебник для вузов / С.А. Немнюгин — второй изд. — СПб .: Питер, 2005.

11. Немнюгин С.А. TPascal. Практикум — СПБ, М .: Питер, 2002.

12. Немнюгин С.А. Изучаем Turbo Pascal / С.А. Немнюгин, Л.В. Перколаб. — СПб .: Питер, 2006.

13. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. — СПб .: Питер, 2007.

14. Прайс Д. Программирование на языке Паскаль: Практическое руководство. — М .: Мир, 1987.

15. Фаронов В.В. Turbo Pascal 7.0. Начальный курс: Учебное пособие. — М .: «ОМД Групп», 2003.

16. Фаронов В.В. Turbo Pascal. — СПб .: «ОМД Групп», 2004.

17. Черкасов М.А. Практический курс программирования на Паскале: Учебное пособие. — М .: издательство МАИ, 2005

 

[Всего голосов: 4    Средний: 5/5]

Читать  Методические указания к выполнению лабораторных работ графика в Паскаль