
Практическое занятие 2
Определение Алгоритм называется линейным, в случае если он (алгоритм) состоит из одного или нескольких действий (предписаний исполнителю), которые должны быть выполнены строго последовательно, без всяких условий и в строгом соответствии с тем порядком, в котором записаны операторы программы.
Примером линейного алгоритма может решение задачи о нахождении площади стен комнаты. В этом алгоритме последовательно выполняются следующие предписания:
Ввести длину комнаты, присвоить переменной А введённое значение.
Ввести ширину комнаты, присвоить переменной В введённое значение.
Ввести высоту комнаты, присвоить переменной H введённое значение.
Произвести вычисление по формуле: S= 2 (А + В) H.
Вывести (напечатать) результат – значение переменной S – площадь стен комнаты.
С помощью линейных алгоритмов решаются самые примитивные задачи. В них число действий исполнителя в точности равняется числу операторов программы.
Задание 1
Дано два целых числа и два вещественных. Найти сумму первых двух чисел и сумму вторых двух чисел.
Порядок выполнения задания:
По данной блок-схеме составить текстовый алгоритм решения задачи.
Запустить интегрированную оболочку Турбо Паскаль.
Не анализируя смысл и не обращая внимания на разметку текста, набрать программу:
Program First;
Var
A,B,S : Integer;
C,D,R : Real;
begin
A := . . . ;
B := . . . ;
C := . . . ;
D := . . . ;
S := A+B;
R := C+D
end.
Сохранить текст программы на диск.
Заменить в тексте многоточия целыми числами (Integer) в строках A := ... ; B := ... ; и вещественными числами (Real) в строках C := ... ; D := ...;
Запустить программу на выполнение, нажав сочетание клавиш Ctrl+F9. Если были допущены ошибки в записи чисел, транслятор выдаст сообщение. Исправить ошибки и запустить программу.
Добавить процедуры Write или WriteLn для вывода результатов работы программы, например:
WriteLn ('А+B = ', S);
WriteLn ('C+D = ', R:4:2);
Просмотреть результат работы программы, для этого нажать Alt+F5.
Открыть текст программы, нажав любую клавишу.
Заменить имя А (во всем тексте) на другой идентификатор. Ошибка в записи также будет отмечена транслятором. Поупражняйтесь в выборе имен.
Заменить в тексте программы строки с присваиванием значений переменным А,В, С и D процедурами ввода информации Read или ReadLn, например:
A := 5; заменить на ReadLn(A);
Запустить программу. Если компилятор выдает сообщения об ошибках, исправить их.
Оформить программу (для удобства пользователя), используя приглашения для ввода данных. Для этого добавить процедуры ввода данных, например:
WriteLn ('Введите целое число А: '); ReadLn(A);
Запустить программу. При необходимости внести исправления в текст программы.
Проанализировать соответствие межу составленным Вами алгоритмом и написанной программой.
Пользуясь алгоритмом, к каждой строке программы написать комментарий.
Сохранить окончательный вариант программы.
Задание 2
Составить программу нахождения площади стен комнаты, используя алгоритм, описанный выше.
Дополнительные задачи
Вычислить значение выражения:
Примечание: При решении этой задачи не учитывается область определения выражения, считается, что вводятся только допустимые данные.
Даны числа А, В, 8.33 и 27. Составить программу вывода суммы кубов и суммы квадратов этих чисел.
Даны числа А, В,С и D. Составить программу вывода сумм всех пар этих чисел.
Определить площадь прямоугольного треугольника если даны длины его сторон: A,B – катеты, C – гипотенуза.
Контрольные вопросы
Как осуществляется ввод данных в языке Паскаль? Приведите примеры.
Как осуществляется вывод данных в языке Паскаль? Приведите примеры.
Какова общая структура программы в языке Паскаль?
Расскажите об операторе присваивания и совместимости типов.
Что такое формат вывода?
Расскажите о правилах вычисления алгебраического выражения. Приведите примеры.
Расскажите о правилах вычисления логического выражения. Приведите примеры.
Расскажите о логических операциях. Приведите примеры.
Приведите примеры задач, имеющих линейный алгоритм решения.
Каково назначение следующей программы?
Program Example;
Var N : 100..999;
Begin
Write('Введите натуральное трёхзначное число: ');
ReadLn(N);
WriteLn('Искомая величина: ', N Div 100 + N Div 10
Mod 10 + N Mod 10);
End.
Дайте понятие линейного алгоритма.
Какие линейные алгоритмы Вам как исполнителю приходится выполнять в течение дня?
Какие действия необходимо выполнить для сохранения программы по конкретному адресу.
Индивидуальные задания
Составить блок-схему и написать программу:
Вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов a и b.
В магазине, в понедельник, 1 кг картофеля стоит k гривен. Каждый день цена картофеля падает на 2% от его первоначальной стоимости. Сколько будет стоить 1 кг картофеля через неделю.
Вычислить длину окружности и площадь круга одного и того же радиуса R.
Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.
Скорость первого автомобиля км/ч, второго – V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга.
Даны два действительных числа X и Y. Вычислить их сумму, модуль разности, произведение их корней и частное.
Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.
Даны два числа A и B. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.
Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U<V). Время движения лодки по озеру T1 ч, а по реке (против течения) –T2 ч. Определить путь, пройденный лодкой.
Скорость первого автомобиля V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу.
Найти длину окружности и площадь круга заданного радиуса R. В качестве значения
использовать 3.14.
Написать программу, которая выводит на экран любое четверостишие или фразу. При этом программа запрашивает некоторые ключевые слова, которые необходимо разместить в нужные места стихотворенья.
Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1<R2). В качестве значения использовать 3.14.
Найти расстояние между двумя точками с заданными координатами
и
.
Дано 4 числа А, В, С и D. Составить программу вывода произведения модулей всех трех этих чисел.
Даны координаты трех вершин треугольника , ,
. Найти его периметр.
Найти корни квадратного уравнения
, заданного своими коэффициентами
(коэффициент
), если известно, что дискриминант уравнения не отрицателен.
Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр.
Угол
задан в градусах. Найти его величину в радианах.
Заданы моменты начала и конца некоторого промежутка времени в часах и минутах (в пределах одних суток). Найти продолжительность этого промежутка в тех же единицах измерения.
Вычислить значение арифметического выражения
Группа студентов из N человек сдали экзамен по информатике с такими результатами: M человек сдали с оценкой "5", K человек – на "4", остальные – на "3". Вычислить средний бал группы студентов по экзамену.
В 1 час слесарь обрабатывает
деталей. Сколько он обработает деталей за смену, если он делает
перерывов по
минут в течении всей смены. Смена рабочего составляет 8 часов.
В группе 22 студента. 85% студентов группы получили зачет вовремя, а 5% – по хвостовке. Сколько человек зачет не сдали.
Даны числа А, В, С и D. Составить программу вывода сумм всех пар этих чисел.
Селекционер засевает каждый год m га. На один гектар норма высева семян k кг. Посеяв 1 кг семян, можно за сезон собрать p кг семян. Сколько кг семян составит урожай селекционера за 2 сезона?
Коммерсант, имея стартовый капитал
гривен занялся торговлей, которая ежемесячно увеличивает капитал на
%. Какую сумму он накопит за 3 месяца?
Даны числа А, В, С и D. Составить программу вывода сумм квадратов всех троек этих чисел.
У мужа на кредитной карте лежит некоторая сумма P. Известно, что каждый раз, идя в магазин, жена тратит с этой карты сумму D (D<=P). На сколько походов в магазин хватит этой кредитной карты, если счет на карте не будет пополняться.
Написать программу вычисления выражения
.
Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел
Дана сторона равностороннего треугольника. Найти площадь этого треугольника и его высоты.