Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Лабораторный практикум по структурному программированию

Покупка
Артикул: 728260.01.99
Доступ онлайн
110 ₽
В корзину
В лабораторном практикуме рассмотрены типовые алгоритмы обработки различных структур данных, а также разобраны практические задания и их реализация представлена на языке программирования Pascal. Практикум адресован студентам очного и заочного отделений высших учебных заведений, получающих специальности: 080500.62 — «Бизнес — информатика»; 230700.62 — «Прикладная информатика».
Варфоломеева, Т.Н. Лабораторный практикум по структурному программированию: лабораторный практикум / Т.Н. Варфоломеева, И.Ю. Ефимова. — 3-е изд., стер. — Москва : ФЛИНТА, 2019. - 112 с. - ISBN 978-5-9765-2041-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1065539 (дата обращения: 21.07.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Т.Н. Варфоломеева
И.Ю. Ефимова  

Лабораторный практикум 
по структурному 
программированию

3-е издание, стереотипное

Москва

Издательство «ФЛИНТА»

2019 

УДК 004.42 
ББК 3973.2-018 
        C22 

Р е ц е н з е н т : 

канд. пед. наук, доцент Магнитогорского государственного технического

университета им. Г.И. Носова Е.Н. Гусева  

C22

Варфоломеева Т.Н.
      Лабораторный практикум по структурному программированию 
[Электронный ресурс] / Т.Н. Варфоломеева, И.Ю. Ефимова. — 3-е изд., 
стер. — М. : ФЛИНТА, 2019. — 112 с.

ISBN 978-5-9765-2041-7

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

Практикум адресован студентам очного и заочного отделений высших
учебных заведений, получающих специальности: 080500.62 — «Бизнес — 
информатика»; 230700.62 — «Прикладная информатика».

УДК 004.42
ББК 3973.2-018 

ISBN 978-5-9765-2041-7
© Т.Н. Варфоломеева, И.Ю. Ефимова, 2014
© Издательство «ФЛИНТА», 2014

СОДЕРЖАНИЕ  

 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ВЫЧИСЛЕНИЕ АРИФМЕТИЧЕСКИХ  
ВЫРАЖЕНИЙ. СТРУКТУРА СЛЕДОВАНИЯ»..................................................................................... 4 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ОРГАНИЗАЦИЯ ВЕТВЛЕНИЯ» ....................................... 9 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ:  «ОРГАНИЗАЦИЯ ЦИКЛОВ» ........................................... 17 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «РАБОТА С ПРОСТОЙ ПЕРЕМЕННОЙ.  
АЛГОРИТМЫ ЦЕЛОЧИСЛЕННОЙ АРИФМЕТИКИ» ....................................................................... 23 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ПОДПРОГРАММЫ. ПРОЦЕДУРЫ И ФУНКЦИИ» ..... 30 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «МАССИВЫ (ОДНОМЕРНЫЕ)» ...................................... 33 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «МАССИВЫ (ДВУМЕРНЫЕ)».......................................... 45 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «МОДУЛИ».......................................................................... 56 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ЗАПИСИ» ........................................................................... 64 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «СТРОКИ»............................................................................ 76 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «МНОЖЕСТВА» ................................................................. 85 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ТИПИЗИРОВАННЫЕ ФАЙЛЫ»..................................... 90 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «ТЕКСТОВЫЕ ФАЙЛЫ» ................................................... 97 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  «РЕКУРСИЯ»..................................................................... 104 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ .................................................................................... 111 
 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  
«ВЫЧИСЛЕНИЕ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. 
СТРУКТУРА СЛЕДОВАНИЯ» 

 
Цель работы: освоить линейную алгоритмическую структуру, а также рабо
ту команд в данной структуре. 

Образец решения задач 

Задача № 1. Найти и выдать на печать значение выражения: 












5
/
3
1
5.0
2

2

2

z
x
y
t
 

Постановка задачи 

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

Входные данные.  

Неизвестные переменные в выражении — x, y, z (тип — вещественный). 

Выходные данные. 

Результат вычисления выражения — t (тип — вещественный). 

Алгоритм. 

 Ввести входные данные. 

 Подсчитать значение выражения. 

 Вывести результат на печать. 

Текст программы 

var 
 x, y, z  
: real; 

 
t 
 
: real; 

begin 

 
Readln(x, y, z); 

 
t:=2/(0.5+y)*(1+sqr(x)/(3-sqr(z)/5)); 

 
Writeln(‘t= ’, t :4:2) 

end. 

Задача № 2. Перевод целой величины из одной меры в другую. Перевод однонаправ
ленный. Километры в метры (1 км = 1000 м). 

Постановка задачи 

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

километров умножить на 1000 и результат сохранить в какую-либо переменную.  

Входные данные.  

Количество километров — km (тип — целый). 

Выходные данные. 

Количество метров — m (тип — целый). 

Алгоритм. 

 Ввести входные данные. 

 Подсчитать значение выражения. 

 Вывести результат на печать. 

Текст программы 

var 
 km, m  
: longint; 

begin 

 
Readln(km); 

 
m:=km*1000; 

 
Writeln(‘В  ’, km,  ‘  километрах  ’, m, ‘  метров’) 

end. 

Задания для самостоятельного решения 

Вариант 1. 

1. Написать программу для вычисления значения выражения: 

                     2*c – d + 
23  
                 

                           a
4  – 1     

2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Вер
сты в метры (1 верста = 1066,8 м). 

3. Пусть заданы три значения. Определить среднее арифметическое этих чисел.  

 

Вариант 2. 

1. Написать программу для вычисления значения выражения: 

                        -2*c + d*82   
                      

                      tg( a
4     – 1)   

2. Перевод целой величины из одной меры в другую. Перевод однонаправленный.  

Футы в метры (1 фут = 0,3048 м). 

3. Пусть заданы координаты двух точек A(x1, y1) и B(x2, y2). Найти расстояние ме
жду этими точками. 

Вариант 3. 

1. Написать программу для вычисления значения выражения: 

                     arctg(c/4) – d*62     
                    
                         a*a – 1                                                                                    
2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. 

Дюймы в сантиметры (1 дюйм = 2,54 см). 

3. Пусть заданы координаты двух точек: одна точка является началом координат, 

вторая с координатами (x, y). Найти расстояние между этими точками. 

Вариант 4. 

1. Написать программу для вычисления значения выражения: 

                    2*c – ln(d/4)                   
                
                         a*a – 1                                                                              
2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ми
ли в км (1 миля = 1,609 км). 

3. Пусть заданы длина стороны треугольника и высота. Найти его площадь. 

Вариант 5. 

1. Написать программу для вычисления значения выражения: 

                     2*c – d/23                                                              
                

                       ln(1 – a
4 )                                                                          

2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Та
лоны в литры (1 талон = 4,546 л). 

3. Пусть заданы значения переменных x и y. Напишите программу, которая меняла 

бы значения этих переменных местами. 

Вариант 6. 

1. Написать программу для вычисления значения выражения: 

                         2*c – d* 
42                                                        
                        
                           c + a – 1                                                                             
2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. 

Кварты в литры (1 кварта = 1,1365 л). 

3. Пусть заданы длины сторон треугольника. Найти его периметр. 

Вариант 7. 

1. Написать программу для вычисления значения выражения: 

                      arctg(c – d/2)                                                           
                  
                        2*a – 1                                                                               

2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ка
раты в граны (1 карат = 3,086 грана).  

3. Пусть заданы длины катетов треугольника. Найти его гипотенузу. 

Вариант 8. 

1. Написать программу для вычисления значения выражения: 

                        c*tg(b + 23)                                                          
                   
                        a/2 -4*d – 1                                                                           
2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. 

Штофы в литры (1 штоф = 1,2299 л). 

3. Пусть заданы значения переменных x и y. Напишите программу, которая меняла 

бы значения этих переменных местами не используя дополнительной переменной. 

Вариант 9. 

1. Написать программу для вычисления значения выражения: 

                   2*c + ln(d)*51                         
                
                     d – a – 1                                  
2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Яр
ды в метры (1ярд = 0,9144 м). 

3. Пусть заданы значения переменных x, y и z. Напишите программу, которая меня
ла бы значения этих переменных местами, так чтобы в x оказалось значение пере
менной y, в y — значение переменной z, а в z — прежнее значение перемен- 

ной x. 

Вариант 10.  

1. Написать программу для вычисления значения выражения: 

                          42*c – d/2 + 1           
                         
                           a*a – ln(b-5)            

2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ун
ции в граммы (1 унция = 28,35 г). 

3. Пусть заданы длины сторон треугольника и его периметр. Найти площадь данно
го треугольника. 

Контрольные вопросы 

1. 
Особенности выполнения изучаемых  операторов: присваивания, ввода-вывода. 

2. 
Арифметические выражения: знаки арифметических операций, стандартные 

функции. 

3. 
Диапазон допустимых значений для вещественных (REAL) и целочисленных 

(INTEGER) переменных. 

4. 
Для чего служит компилятор? 

5. 
Что является комментарием и для чего он служит? 

6. 
Какие разделы могут быть использованы в декларативной части программы? 

7. 
Назовите основные алгоритмические структуры. 

8. 
Какие команды реализуются в структуре следования? Запись на Паскале. 

9. 
Верно ли, что в Паскаль — программе надо описывать все используемые в ней 

переменные? 

10. Какую информацию извлекает транслятор из описания переменных и как он ее 

использует? 

11. Какие значения имеют переменные в начале выполнения программы? 

12. Когда нет необходимости использовать раздел переменных? 

13. Перечислите базовые элементы языка. 

14. Что относится к алфавиту языка? 

15. Что такое идентификатор? Какой идентификатор является правильным? 

16. Перечислите, какие данные относятся к порядковым типам. 

17. Почему различают порядковые и вещественный типы? 

18. Зачем необходимо придерживаться концепции совместимости типов данных, в 

чем ее суть? 
 

ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ  
«ОРГАНИЗАЦИЯ ВЕТВЛЕНИЯ» 

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

Образец решения задач 

Задача № 1. Напишите программу, анализирующую данные сейсмографа, который 

выводит сообщение «Опасность землетрясения большой разрушительной силы», ес
ли данные превысили 5 баллов по шкале Рихтера. 

Постановка задачи 

Для решения данной задачи применим алгоритмическую структуру ветвления, 

можно использовать как полную форму, так и сокращенную форму. Необходимо учи
тывать, что при использовании сокращенной формы ветвления в данной задаче, в слу
чае, если количество баллов будет <= 5 баллов по шкале Рихтера, то никакого ответа 

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

Входные данные.  

Количество баллов по шкале Рихтера — ball (тип — вещественный). 

Выходные данные. 

Результатом будет сообщение, требуемое условием задачи. 

Алгоритм. 

 Ввести входные данные. 

 Проанализировать входные данные. 

 Вывести соответствующее сообщение. 

Текст программы 

var 
  

ball          : real; 

begin 

 
writeln(‘Введите количество баллов по шкале Рихтера’); 

 
readln(ball); 

 
if ball>5 then writeln(‘Опасность землетрясения большой разрушительной силы’) 

 
 
   else writeln(‘Количество баллов не превышает пяти’) 

end. 

Задача № 2. Вычислить Х для целочисленных данных a и b.  













b;
<
a 
åñëè
 ,
12
/)
5
(
b,
=
a 
åñëè
  
          
,8
/
b,
>
a 
åñëè
   
,1
*

a
a
b
a
X
            

Постановка задачи 

Решение данной задачи предполагает использование алгоритмической струк
туры ветвления. Для нахождения значения X необходимо проанализировать значе
ния переменных a и b с помощью команды ветвления. В зависимости от того, как 

эти данные соотносятся — X подсчитывается по той или иной формуле. 

Входные данные.  

Неизвестные переменные в выражении — a, b (тип — целый). 

Выходные данные. 

Результат вычисления значения выражения — X (тип — вещественный). 

Алгоритм. 

 Ввести входные данные. 

 Проанализировать входные данные: 

 если a>b, то x= sqr(a)*b+1; 

 если a<b, то x=(a-5)/12; 

 если a=b, то x= a/8; 

 Вывести результат на печать. 

Текст программы 

var 
  

a, b        : integer; 

x            : real;  

begin 

 
writeln(‘Введите значения а и b’); 

 
readln(a, b); 

 
if a>b then x:=sqr(a)*b+1 

else   if a<b then x:=(a-5)/12 

                         
        else  x:=a/8; 

writeln(‘x= ’, x) 

end. 

 

Задача № 3. В компьютер вводится информация: количество знаков в рекламе; на 

какой странице в газете будет печататься (если 1 или 4, то предоставляется скидка 

50 %, если 2 или 3, то скидок нет); количество публикаций (если 2 публикации, то 

скидка 5 %, если 3 публикации, то скидка 10 %, если 4  публикации, то скидка 20 %, 

если > 5 публикации, то скидка 25 %). Необходимо определить стоимость рекламы с 

учетом всех скидок. 

Постановка задачи 

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

стоимость одного знака, и этого было бы достаточно, если бы условие задачи не 

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

структурой ветвления для учета всех скидок. 

Входные данные.  

Количество знаков в рекламе — kol_zn (тип — целый); 

Номер страницы, на которой будет печататься реклама — num_str (тип —  

целый); 

Количество публикаций — kol_pbl (тип — целый); 

Стоимость одного знака — stoim_zn (тип — вещественный). 

Выходные данные. 

Cтоимость рекламы — stoim_rk (тип — вещественный). 

Алгоритм. 

 Ввести входные данные. 

 Подсчитать стоимость рекламы по следующей формуле: stoim_rk= 

stoim_zn*kol_zn. 

 Подсчитать стоимость рекламы с учетом всех скидок: 

  если num_str=1 или num_str=4, то предоставляется скидка 50 %, т.е. 

stoim_rk= stoim_rk/2; 

 если kol_pbl=2, то stoim_rk=stoim_rk-stoim_rk*0.05, иначе если 

kol_pbl=3, то stoim_rk=stoim_rk-stoim_rk*0.1, иначе если kol_pbl=4, то 

stoim_rk=stoim_rk-stoim_rk*0.2, 
иначе 
если 
kol_pbl>5, 
то 

stoim_rk=stoim_rk-stoim_rk*0.25. 

 
 

Доступ онлайн
110 ₽
В корзину