Практическое задание № 8
Тема работы: Среда программирования. Тестирование программы и реализация несложного алгоритма
Цель работы: изучить на основе готовой программы операторы языка Turbo Pascal и научиться вводить и выводить, обрабатывать данные, занесенные в массив, т.е. усвоить правила работы с переменными типа массив языка программирования Паскаль.
Время выполнения: 2 часа
Оснащение работы: персональный компьютер, среда программирования Turbo Pascal.
Порядок выполнения работы:
- ознакомиться с теоретическими положениями по данной теме;
- выполнить задания практической работы;
- сформулировать вывод.
- оформить отчет.
Краткий теоретический материал
Под массивом понимается упорядоченная последовательность конечного числа данных одного типа, объединенных под общим именем. Имена массивов образуются так же, как и имена простых переменных. Одномерные массивы, т.е. наборы однотипных данных, можно описать следующим образом:
var имя массива: array [размер] of тип;
Например:
На Интале |
На Паскале |
Комментарии |
а:Массив[6] Целый |
a:array [1..6] of integer; |
в массиве a – 6 элементов целого типа |
b:Массив[10] Символьный |
b: array[1..10] of char; |
в массиве b – 10 элементов символьного типа |
А) Вводить данные в массив можно следующим образом, например: CONST f:array[1..10] of integer=(1,2,3,4,0,6,8,10,-5,6); {в массив из 10 элементов вводятся числа, указываемые в скобках}
Б) Вводить, выводить данные в массив и из массива, обрабатывать данные удобно с помощью циклов, например: for i:=1 to n do read(f[i]); {один из способов ввода данных в одномерный массив).};
В) for i:=1 to n do write(f[i],’ ‘); {вывод данных из одномерного массива).}
Итак, а[i]– значение элемента в массиве А, i–порядковый номер элемента (запомните это).
Для поиска наибольшего элемента последовательности можно применить следующий метод решения: в некоторой переменной М запоминаем первое число. Остальные элементы последовательности сравниваем с числом, хранящимся в М. Записываем в M большее из этих чисел (т.е. сохраняем в M прежнее число - если оно больше, - либо записываем вместо него следующее).
Повторяем операцию сравнения до тех пор, пока не дойдем до конца данной последовательности (последовательный перебор).
Под массивом понимается упорядоченная совокупность (последовательность, набор) конечного числа данных одного типа, объединенных под общим именем. Имена массивов образуются так же, как и имена простых переменных. Двумерные массивы можно описать следующим образом:
var имя массива; array [размер] of тип, где в "размере" указывается на первом месте количество строк, а на втором месте – количество столбцов;
Например: var f: array[1..n,1..m] of real; {- массив, состоящий из n строк и m столбцов и в нем -n*m элементов вещественного типа}.
a:array [1..10,1..5] of integer {-массив, состоящий из 10 строк и 5 столбцов и в нем -10*5 элементов целого типа}.
Вводить, выводить данные в массив и из массива, обрабатывать данные удобно с помощью циклов, например:
один из способов ввода данных в массив |
вывод данных из массива (таблицей) |
for i:=1 to n do for j:=1 to m do read(а[i,j]); |
for i:=1 to n do begin for j:=1 to m do write(а[i,j],’ ‘); writeln; end; |
Итак, а[i,j] - значение элемента массива a, первым указывается i - порядковый номер строки, вторым j - порядковый номер столбца, на пересечении которых находится данный элемент.
Выполнение практической части. Работа на ПК
Задание 1. Составьте программу решения следующих задач:
1. В массиве из N элементов найти количество нулевых элементов массива.
2. В массиве из N элементов найти количество нулевых элементов массива, сумму отрицательных и произведение положительных элементов массива.
3. Юноши выпускного класса решили заказать костюмы для выпускного бала. Они должны принести в ателье таблицу с указанием роста каждого. Для ателье эта работа будет выгодной, если эти данные лежат в пределах от 160 до 180см. Вывести сообщение, выгодна ли эта работа для ателье.
Задание 2. Составьте программу решения следующих задач:
1. У жильцов дома изменились обстоятельства, и они затеяли переезд. В частности, жильцы квартиры с наибольшей площадью хотят поменяться с жильцами квартиры с наименьшей площадью. Составьте алгоритм (программу) такого обмена.
2. Дана последовательность из 100 различных целых чисел. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальным числами (в сумму можно включить и сами эти два числа).
3. В ЭВМ поступают результаты N участников соревнований по плаванию. Выдать на печать результаты трех лучших участников (Если результаты нескольких участников, например, претендующих на первое место, одинаковы, то выдавать на печать только одно значение).
Задание 3. Составьте программу на языке Паскаль для выполнения следующих расчетов
Фамилия И.О. |
Начислено |
Удержано |
К выдаче |
. . . |
. . . |
. . . |
. . . |
Итого |
|
|
|
б). Выполните расчеты по введенной программе со следующими данными:
Фамилия И. О. | Начислено | Удержано |
Вялков М. П. 135000 15200
Котов Е. И. 178000 23200
Борова А. И. 141200 18700
Сатяева М. Н. 165500 18900
Так как величины, указываемые в задании, превышают предельное значение величин типа INTEGER (32768), то необходимо использовать тип REAL либо LONGINT.
2. В сказочном магазине «Матматика» цены на игрушки были простыми числами. (Всего N игрушек) Хрюша решил удивить своих друзей Степашу и Каркушу и купить самую дорогую игрушку. У него с собой P рублей. Может ли он выполнить свое желание? Если нет, то какой стоимости игрушку он может купить?
3. Поменять местами наибольший элемент с последним элементом массива, а наименьший элемент - с первым элементом массива.
Задание 4. Составьте программу решения следующих задач:
1. Крокодил Гена решил выиграть в лотерею автомобиль. Для этого он накупил N лотерейных билетов. Чебурашка попросил поделиться с ним, т.к. тоже хотел выиграть что-нибудь, а деньги, как всегда, забыл в телефонной будке. Гена отобрал себе те билеты, номера на которых являлись степенью сегодняшнего числа. Напечатайте номера лотерейных билетов, доставшихся Чебурашке.
2. На Киевскую Русь напали многоголовые Змеи-Горынычи. В Киеве в этот момент был только Илья Муромец. Его “производительность” –3 головы в час. Достаточно ли одного Ильи, чтобы за сутки очистить землю от нечисти или надо посылать гонцов за другими богатырями?
3. В соревнованиях по фигурному катанию участвуют N спортсменов. Выступление каждого спортсмена независимо оценивается несколькими судьями, а затем из набора оценок удаляются наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Если наиболее высокую оценку выставило несколько судей, то удаляется только одна такая оценка; аналогично поступают с наиболее низкими оценками. Определить оценку, которая пойдет в зачет каждому спортсмену после первого дня соревнований. Вывести список спортсменов для второго дня соревнований вместе с полученными очками (начинают катание фигуристы, получившие наименьшее количество баллов).
4. У прилавка в магазине выстроилась очередь из N покупателей. Известно время обслуживания продавцом каждого покупателя. Определить время пребывания каждого покупателя в очереди. Указать номер покупателя, для обслуживания которого продавцу понадобилось меньше всего времени.
Результат деятельности: Отчет по практической работе с выполненными заданиями 1-4.
Контрольные вопросы:
1. Как описывается массив?
2. Какова размерность массива с [1..23] of real?
3. Как вводить данные в массив?
4. Как выводить данные из массива?
5. Сколько циклов нужно для поиска наибольшего элемента в наборе однотипных элементов?
6. Сколько циклов нужно для поиска количества наибольших элементов?
7. Как выводить данные из двумерного массива?
8. Почему удобно пользоваться циклами при работе с массивами?
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.