66.7.1. Шахматную доску можно представить в виде кортежа кортежей. Кортёж «доска» состоит из 8 кортежей-горизонталей. Каждый кортёж-горизонталь в свою очередь состоит из 8 элементов-полей. Напишите процедуру «ладья», аргументами которой являются два целых числа m и n между 1 и 8 – номер горизонтали и номер вертикали поля. Эта процедура должна «пометить» все поля, побиваемые ладьёй, стоящей на поле (m, n). «Пометить» поле – это значит присвоить единицу соответствующему элементу-полю. В исходном состоянии все элементы-поля содержат нулевые значения. 67.2.2. В следующем примере в качестве параметра цикла «for» используется символьная переменная. Пусть требуется получить на экране десятичные коды букв латинского алфавита. Как известно, латинские буквы в таблице кодировки упорядочены по алфавиту. Вот фрагмент такой программы: for c = ‘a‘ to ‘z‘ do write (c, ‘-‘, ord (c)); Здесь переменная ‘c‘ имеет тип «char». А теперь подумайте сами, как вывести кодировку латинского алфавита в обратном порядке (от ‘z‘ до ‘a‘). 87.6.3. В ходе лечебного голодания масса пациента за 30 дней снизилась с 96 до 70 кг. Было установлено, что ежедневные потери массы пропорциональны массе тела. Вычислить, чему была равна масса пациента через k дней после начала голодания для k = 1, 2, …, 29. 109.1.4. Вернёмся к массиву среднемесячных температур t [1..12]. Требуется вычислить среднегодовую температуру, а также ежемесячные отклонения от этой величины. 110.2.5. Из рассмотренного выше массива температур требуется отобрать самую высокую температуру и номер месяца, ей соответствующего. 111.3.6. В одномерном массиве x из n элементов требуется произвести перестановку значений так, чтобы они расположились по возрастанию, то есть x1 Ј x2 Ј … Ј xn. 111.4.7. Дан описанный выше двумерный массив среднемесячных температур за 10 лет. Определить, в каком году было самое тёплое лето, то есть в каком году была наибольшая средняя температура летних месяцев. 147.1.8. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида p / q (p – целое, q – натуральное). а) сложение б) вычитание в) умножение г) деление д) сокращение дроби е) возведение дроби в степень n (n – натуральное) ё) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше) Дробь представить следующим типом. type frac = record p: integer; q: 1..32767 end; Используя этот модуль, решить задачи: а) Дан массив a, элементы которого – обыкновенные дроби. Найти сумму всех элементов и их среднее арифметическое; результаты представить в виде несократимых дробей. б) Дан массив a, элементы которого – обыкновенные дроби. Отсортировать его в порядке возрастания.
Спаси свой компьютер
:Юрий Казекин
Задачи.
66.7.1. Шахматную доску можно представить в виде кортежа кортежей. Кортёж «доска» состоит из 8 кортежей-горизонталей. Каждый кортёж-горизонталь в свою очередь состоит из 8 элементов-полей.
Напишите процедуру «ладья», аргументами которой являются два целых числа m и n между 1 и 8 – номер горизонтали и номер вертикали поля. Эта процедура должна «пометить» все поля, побиваемые ладьёй, стоящей на поле (m, n). «Пометить» поле – это значит присвоить единицу соответствующему элементу-полю. В исходном состоянии все элементы-поля содержат нулевые значения.
67.2.2. В следующем примере в качестве параметра цикла «for» используется символьная переменная. Пусть требуется получить на экране десятичные коды букв латинского алфавита. Как известно, латинские буквы в таблице кодировки упорядочены по алфавиту. Вот фрагмент такой программы:
for c = ‘a‘ to ‘z‘ do
write (c, ‘-‘, ord (c));
Здесь переменная ‘c‘ имеет тип «char». А теперь подумайте сами, как вывести кодировку латинского алфавита в обратном порядке (от ‘z‘ до ‘a‘).
87.6.3. В ходе лечебного голодания масса пациента за 30 дней снизилась с 96 до 70 кг. Было установлено, что ежедневные потери массы пропорциональны массе тела. Вычислить, чему была равна масса пациента через k дней после начала голодания для k = 1, 2, …, 29.
109.1.4. Вернёмся к массиву среднемесячных температур t [1..12]. Требуется вычислить среднегодовую температуру, а также ежемесячные отклонения от этой величины.
110.2.5. Из рассмотренного выше массива температур требуется отобрать самую высокую температуру и номер месяца, ей соответствующего.
111.3.6. В одномерном массиве x из n элементов требуется произвести перестановку значений так, чтобы они расположились по возрастанию, то есть x1 Ј x2 Ј … Ј xn.
111.4.7. Дан описанный выше двумерный массив среднемесячных температур за 10 лет. Определить, в каком году было самое тёплое лето, то есть в каком году была наибольшая средняя температура летних месяцев.
147.1.8. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида p / q (p – целое, q – натуральное).
а) сложение
б) вычитание
в) умножение
г) деление
д) сокращение дроби
е) возведение дроби в степень n (n – натуральное)
ё) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше)
Дробь представить следующим типом.
type frac = record
p: integer;
q: 1..32767
end;
Используя этот модуль, решить задачи:
а) Дан массив a, элементы которого – обыкновенные дроби. Найти сумму всех элементов и их среднее арифметическое; результаты представить в виде несократимых дробей.
б) Дан массив a, элементы которого – обыкновенные дроби. Отсортировать его в порядке возрастания.