СОСТАВЛЕНИЕ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ОСНОВНЫХ ОПЕРАТОРОВ В TURBO PASCAL
Цель работы Овладеть техникой составления программ с использованием основных операторов TURBO PASCAL.
Задачи работыНаучиться использовать операторы присваивания, ввода-вывода, составной оператор, условный оператор и оператор варианта.
Обеспечивающие средства Сборник описаний практических работ, персональный компьютер, конспект лекций.
Задание Составить программы к предложенным заданиям, используя операторы присваивания, ввода-вывода, составной оператор, условный оператор и оператор варианта, отладить их и сохранить.
Требования к отчету Итоги практической работы представить в виде блок-схемы алгоритма и текста программы, привести значения исходных данных и значения полученных результатов (при необходимости вывести на печать).
Технология работы
1. Ознакомьтесь с теоретическим материалом, необходимым для выполнения работы:
Поскольку язык Turbo Pascal алгоритмический, то для записи шагов алгоритмов, для наглядного однозначного представления алгоритмов в стиле структурного программирования существует набор операторов.
Оператор присваивания
Оператор присваивания предназначен для присваивания переменной значения выражения. Оператор обозначается символом «:=», в левой части указывается имя переменной, в правой – вычисляемое выражение. Выражение может составлять число, знаки арифметических действий, круглые скобки, переменные и константы, процедуры и функции, допускаемое вложение друг в друга. Обязательное условие - совместность типов данных.
Операторы ввода-вывода
Ввод информации с клавиатуры осуществляется с помощью оператора Read. Он может иметь один из следующих форматов:
Read (<список ввода>);
где <список ввода>– это последовательность имен переменных, разделенных запятыми; или
ReadLn (<список ввода>);
Оператор Read обеспечивает ввод данных разных типов с клавиатуры. В скобках указываются имена переменных, которым присвоятся введенные значения. При вводе нескольких значений с помощью одного оператора они разделяются символом <пробел>. Оператор ReadLn аналогичен предыдущему, отличие заключается в том, что при выполнении одного оператора ReadLn курсор на экране монитора переходит на новую строку.
Аналогично существует две формы оператора вывода. Оператор вывода на экран (обращение к стандартной процедуре вывода) имеет следующий формат:
Write (<список вывода>);
WriteLn (<список вывода>);
Здесь элементами списка вывода могут быть выражения различных типов. Действие оператора WriteLn отличается от оператора Write тем, что после вывода последнего в списке значения происходит перевод курсора к началу следующей строки. Оператор WriteLn может использоваться без каких-либо параметров – в этом случае после выполнения такого оператора курсор перемещается на одну позицию вниз.
Составной оператор
Составной оператор – группа операторов, отделенных друг от друга точкой с запятой, начинающихся со служебного слова begin и заканчивающихся служебным словом end.
Begin
оператор_1;
…
Оператор_n
End;
Транслятор воспринимает составной оператор как единый.
Условный оператор
Для задания выбора того или иного действия в зависимости от условия в языке Pascal предназначен условный оператор:
if <условие> then <оператор1>
else <оператор2>;
В качестве условия используется значение логического выражения, в качестве операторов – любой простой или составной оператор, в том числе и сам условный оператор. Если значение логического выражения – true, то выполняется <оператор1>, если false, то выполняется <оператор2>.
И по ветке then, и по ветке else должен выполняться единственный оператор. Если по смыслу задачи необходимо выполнить несколько операторов, тогда следует использовать составной оператор.
1. 5 Условный оператор Case (оператор варианта)
Оператор варианта Case необходим в тех случаях, когда в зависимости от значений какой-либо переменной надо выполнить те или иные операторы:
case <выражение> of
<значение1> : <оператор1>;
<значение2> : <оператор2>;
<значение3> : <оператор3>;
… …
else<оператор N>
end;
<оператор N> выполнится только в том случае, если значение выражения не совпадет ни с одним из <значений I>. При использовании оператора Case необходимо помнить о том, что значение выражения и <значения I> должны быть одного типа.
2. Выполните следующие упражнения:
Задания уровня 1
Упражнение 1. Вычислить частное двух целых чисел. В связи с тем, что делить на ноль нельзя, организуем контроль ввода данных.
1. Наберите текст программы:
Program DEL;
Var
a, b: integer; {Операнды – целые числа}
result: real; {Результат – вещественное число}
Begin
write ('Введите значение делимого a: '); read(a);
write ('Введите значение делимого b: '); read(b);
if b=0
{Условие выполнено}
then writeln (′Неверные исходные данные: делитель - ноль′)
{Условие не выполнено}
Else
{Составной оператор нужен для объединения двух команд в единое целое}
begin{Начало составного оператора}
result:=a/b;
writeln (′Частное чисел′, a, ′и′, b, ′ =′, result:7:3);
end{Конец составного оператора}
End.
2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5
4. Сохраните программу на своем диске: <F2> A:\P3PR1
Упражнение 2. Вычислить частное двух целых чисел. В связи с тем, что делить на ноль нельзя, организуем контроль ввода данных.
1. Наберите текст программы:
Program CHET;
Var
n: integer;
Begin
write ('Введите целое число: ');
readln(n);
write ('Число ', n, ′ - ′);
if n mod 2=0 then writeln (′четное′) else writeln (′нечетное′);
End.
Комментарий: для проверки на нечетность можно использовать функцию odd:
if odd(n) then writeln (′нечетное′) else writeln (′четное′);
2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5
4. Сохраните программу на своем диске: <F2> A:\P3PR2
Упражнение 3. Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и 1-е число – понедельник. Для решения задачи воспользуемся операцией mod, позволяющей вычислить остаток от деления двух чисел, и условием, что 1-е число – понедельник. Если в результате остаток от деления заданного числа D на 7 будет равен 1, то это понедельник, двойке – вторник, тройке – среда и т.д.
1. Наберите текст программы:
Program D_NED;
Var
D: byte;
Begin
write ('Введите число D= ');
readln (D);
case D mod 7 of{Вычисляется остаток от деления D на 7}
{В зависимости от полученного значения на печать выводится название дня недели}
1: writeln (′ПОНЕДЕЛЬНИК′);
2: writeln (′ВТОРНИК′);
3: writeln (′СРЕДА′);
4: writeln (′ЧЕТВЕРГ′);
5: writeln (′ПЯТНИЦА′);
6: writeln (′СУББОТА′);
0: writeln (′ВОСКРЕСЕНЬЕ′)
{Если результат управляющего выражения превышает 6, то выдается сообщение об ошибке}
else writeln (′ОШИБКА ПРИ ВВОДЕ!!!′)
end;
End.
2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5
4. Сохраните программу на своем диске: <F2> A:\P3PR3
3. Выполнить самостоятельно:
Задания уровня 2
1. Составьте программу, которая сравнивает возраст брата и сестры и выводит соответствующее сообщение. Записать программу под именем P3PR4.
2. Составить программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (1; 5). Сохраните программу под именем P3PR5.
3. По заданному номеру месяца m вывести на печать название времени года. Сохраните программу под именем P3PR6.
4.Составьте программу, которая выводит на экран различные приветствия в зависимости от введенного времени. Договоримся, что утро длится с 8 до 12 часов, день – с 12 до 17 часов, вечер – с 17 до 23 часов и ночь – все остальное время. Задачу решить двумя способами: с помощью условного оператора и оператора выбора. Сохраните программу под именем P3PR7.
5.Работник зарабатывает X рублей за 38 часов своей работы. Ему платят в 1,5 раза больше за каждый час сверх 38 часов. Какую сумму он получит, если отработает A часов? Сохраните программу под именем P3PR8.
Задания уровня 3
4. Составить программу, которая проверяет, может ли существовать треугольник с заданными сторонами. Известно, что сумма двух любых сторон должна быть больше третьей. Сохраните программу под именем P3PR9.
5. Даны целые числа a, b, c. Если a ≤ b ≤ c, то все числа заменить наименьшим из них, в противном случае сменить знак каждого числа. Сохраните программу под именем P3PR10.
6.Составьте программу решения квадратного уравнения с использованием сложных условий. Сохраните программу под именем P3PR11.
7.Составьте программу, предназначенную для вычисления значения переменной y, где при четных значениях x; y=x2 – 6 при значениях x, кратных 5; y=0 во всех остальных случаях. Сохраните программу под именем P3PR12.
8.Напишите программу, которая при вводе латинской прописной буквы выводит на экран такую же букву, но строчную. Сохраните программу под именем P3PR13.
Указание: воспользуйтесь тем фактом, что все латинские прописные буквы расположены в кодовой таблице подряд, по алфавиту, начиная с символа ‘A’ с кодом 65. Строчные буквы также расположены по алфавиту, начиная с символа ‘a’ с кодом 97.
Подсказка: для решения обратной задачи существует функция UpCase, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие, то есть: UpCase(‘p’)=’P’;
UpCase(‘P’)=’P’;
UpCase(‘+’)=’+’;
5. Окончание работы:
1. Сохранить созданные программы.
2. Подготовить ответы на контрольные вопросы.
3. Показать работу преподавателю.
4. Завершить работу TURBO PASCAL.
Контрольные вопросы:
1. Как работает оператор присваивания?
2. Приведите синтаксис оператора присваивания.
3. Что такое ввод данных?
4. Что такое вывод данных?
5. Перечислите формы операторов ввода данных.
6. Перечислите формы операторов вывода данных.
7. Сформулируйте правила записи оператора IF.
8. Что такое вложенный оператор IF?
9. Что представляет собой оператор варианта?
10. В программах какого типа используется оператор варианта?
11. Константы какого типа могут быть использованы в операторе варианта?
12. Какое соответствие должно быть между выражением оператора варианта и его константами?
ПРАКТИЧЕСКАЯ РАБОТА №4
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|