Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПасЗан2 линейные алгоритмы.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
185.86 Кб
Скачать

Практическое занятие 2

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

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

  1. Ввести длину комнаты, присвоить переменной А введённое значение.

  2. Ввести ширину комнаты, присвоить переменной В введённое значение.

  3. Ввести высоту комнаты, присвоить переменной H введённое значение.

  4. Произвести вычисление по формуле: S= 2 (А + В) H.

  5. Вывести (напечатать) результат – значение переменной S – площадь стен комнаты.

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

Задание 1

Дано два целых числа и два вещественных. Найти сумму первых двух чисел и сумму вторых двух чисел.

Порядок выполнения задания:

  1. По данной блок-схеме составить текстовый алгоритм решения задачи.

  2. Запустить интегрированную оболочку Турбо Паскаль.

  3. Не анализируя смысл и не обращая внимания на разметку текста, набрать программу:

Program First;

Var

A,B,S : Integer;

C,D,R : Real;

begin

A := . . . ;

B := . . . ;

C := . . . ;

D := . . . ;

S := A+B;

R := C+D

end.

  1. Сохранить текст программы на диск.

  2. Заменить в тексте многоточия целыми числами (Integer) в строках A := ... ; B := ... ; и вещественными числами (Real) в строках C := ... ; D := ...;

  3. Запустить программу на выполнение, нажав сочетание клавиш Ctrl+F9. Если были допущены ошибки в записи чисел, транслятор выдаст сообщение. Исправить ошибки и запустить программу.

  4. Добавить процедуры Write или WriteLn для вывода результатов работы программы, например:

WriteLn ('А+B = ', S);

WriteLn ('C+D = ', R:4:2);

  1. Просмотреть результат работы программы, для этого нажать Alt+F5.

  2. Открыть текст программы, нажав любую клавишу.

  3. Заменить имя А (во всем тексте) на другой идентификатор. Ошибка в записи также будет отмечена транслятором. Поупражняйтесь в выборе имен.

  4. Заменить в тексте программы строки с присваиванием значений переменным А,В, С и D процедурами ввода информации Read или ReadLn, например:

A := 5; заменить на ReadLn(A);

  1. Запустить программу. Если компилятор выдает сообщения об ошибках, исправить их.

  2. Оформить программу (для удобства пользователя), используя приглашения для ввода данных. Для этого добавить процедуры ввода данных, например:

WriteLn ('Введите целое число А: '); ReadLn(A);

  1. Запустить программу. При необходимости внести исправления в текст программы.

  2. Проанализировать соответствие межу составленным Вами алгоритмом и написанной программой.

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

  4. Сохранить окончательный вариант программы.

Задание 2

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

 

Дополнительные задачи

  1. Вычислить значение выражения:

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

  1. Даны числа А, В, 8.33 и 27. Составить программу вывода суммы кубов и суммы квадратов этих чисел.

  2. Даны числа А, В,С и D. Составить программу вывода сумм всех пар этих чисел.

  3. Определить площадь прямоугольного треугольника если даны длины его сторон: A,B – катеты, C – гипотенуза.

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

  1. Как осуществляется ввод данных в языке Паскаль? Приведите примеры.

  2. Как осуществляется вывод данных в языке Паскаль? Приведите примеры.

  3. Какова общая структура программы в языке Паскаль?

  4. Расскажите об операторе присваивания и совместимости типов.

  5. Что такое формат вывода?

  6. Расскажите о правилах вычисления алгебраического выражения. Приведите примеры.

  7. Расскажите о правилах вычисления логического выражения. Приведите примеры.

  8. Расскажите о логических операциях. Приведите примеры.

  9. Приведите примеры задач, имеющих линейный алгоритм решения.

  10. Каково назначение следующей программы?

Program Example;

Var N : 100..999;

Begin

Write('Введите натуральное трёхзначное число: ');

ReadLn(N);

WriteLn('Искомая величина: ', N Div 100 + N Div 10

Mod 10 + N Mod 10);

End.

  1. Дайте понятие линейного алгоритма.

  2. Какие линейные алгоритмы Вам как исполнителю приходится выполнять в течение дня?

  3. Какие действия необходимо выполнить для сохранения программы по конкретному адресу.

Индивидуальные задания

Составить блок-схему и написать программу:

  1. Вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов a и b.

  2. В магазине, в понедельник, 1 кг картофеля стоит k гривен. Каждый день цена картофеля падает на 2% от его первоначальной стоимости. Сколько будет стоить 1 кг картофеля через неделю.

  3. Вычислить длину окружности и площадь круга одного и того же радиуса R.

  4. Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.

  5. Скорость первого автомобиля км/ч, второго – V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга.

  6. Даны два действительных числа X и Y. Вычислить их сумму, модуль разности, произведение их корней и частное.

  7. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

  8. Даны два числа A и B. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.

  9. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U<V). Время движения лодки по озеру T1 ч, а по реке (против течения) –T2 ч. Определить путь, пройденный лодкой.

  10. Скорость первого автомобиля V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу.

  11. Найти длину окружности и площадь круга заданного радиуса R. В качестве значения использовать 3.14.

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

  13. Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1<R2). В качестве значения использовать 3.14.

  14. Найти расстояние между двумя точками с заданными координатами и .

  15. Дано 4 числа А, В, С и D. Составить программу вывода произведения модулей всех трех этих чисел.

  16. Даны координаты трех вершин треугольника , , . Найти его периметр.

  17. Найти корни квадратного уравнения , заданного своими коэффициентами (коэффициент ), если известно, что дискриминант уравнения не отрицателен.

  18. Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр.

  19. Угол задан в градусах. Найти его величину в радианах.

  20. Заданы моменты начала и конца некоторого промежутка времени в часах и минутах (в пределах одних суток). Найти продолжительность этого промежутка в тех же единицах измерения.

  21. Вычислить значение арифметического выражения

  22. Группа студентов из N человек сдали экзамен по информатике с такими результатами: M человек сдали с оценкой "5", K человек – на "4", остальные – на "3". Вычислить средний бал группы студентов по экзамену.

  23. В 1 час слесарь обрабатывает деталей. Сколько он обработает деталей за смену, если он делает перерывов по минут в течении всей смены. Смена рабочего составляет 8 часов.

  24. В группе 22 студента. 85% студентов группы получили зачет вовремя, а 5% – по хвостовке. Сколько человек зачет не сдали.

  25. Даны числа А, В, С и D. Составить программу вывода сумм всех пар этих чисел.

  26. Селекционер засевает каждый год m га. На один гектар норма высева семян k кг. Посеяв 1 кг семян, можно за сезон собрать p кг семян. Сколько кг семян составит урожай селекционера за 2 сезона?

  27. Коммерсант, имея стартовый капитал гривен занялся торговлей, которая ежемесячно увеличивает капитал на %. Какую сумму он накопит за 3 месяца?

  28. Даны числа А, В, С и D. Составить программу вывода сумм квадратов всех троек этих чисел.

  29. У мужа на кредитной карте лежит некоторая сумма P. Известно, что каждый раз, идя в магазин, жена тратит с этой карты сумму D (D<=P). На сколько походов в магазин хватит этой кредитной карты, если счет на карте не будет пополняться.

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

  31. Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел

  32. Дана сторона равностороннего треугольника. Найти площадь этого треугольника и его высоты.