Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04.09.2012(простые программы).doc
Скачиваний:
7
Добавлен:
09.11.2019
Размер:
171.52 Кб
Скачать

Тема 1. Структура простой программы на Паскале. Описание переменных. Операторы ввода/вывода. Операторы присваивания.

Программа на языке Паскаль может содержать:

1. Заголовок;

2. Описание переменных;

3. Операторы (операторная часть программы).

Операторы программы ­– это последовательность операторов языка программирования, начинающаяся со слова Begin и оканчивающаяся словом end. В конце программы точка обязательна. Операторы разделяются символом ‘;’ – точка с запятой.

В большинстве случаев используются операторы: для ввода исходных данных, для выполнения вычислений и для вывода результатов.

Заголовок программы можно опускать.

Пример простейшей программы:

begin

Writeln(Поздравляем!’)

end.

В этой программе отсутствуют заголовок программы и описание переменных. Из операторов используется оператор вывода Writeln(‘Поздравляем!’). Он предназначен для вывода на экран текста Поздравляем!. Заметьте, что текст заключается в ‘’.

Упражнение. Наберите текст простейшей программы и выполните программу.

----------------------------------------------------------------------------------------------------

Описание переменных в программе имеет вид:

var <список имен переменных>: <тип переменных>;

Основные типы переменных:

integer – целый

real – вещественный

boolean – логический (булевский)

char – символьный

Пример описания переменных:

Var X, y, z, time : real;

n : integer;

b1, b2 : boolean;

с : char;

-------------------------------------------------------

Операторы следования

Оператор ввода:

read( <список переменных, значения которых должны вводиться с экрана >);

Или:

readln(<список переменных, значения которых должны вводиться с экрана);

Во втором случае курсор устанавливается на начало следующей строки экрана.

Пример ввода переменных x, y, z: Read(x,y,z);

Оператор вывода:

write(<список выводимых объектов>);

Или:

writeln(<список выводимых объектов>);

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

Объектами в операторе вывода могут быть переменные и выражения.

Строковые выражения заключаются в ‘ ’.

Пример операторов вывода:

writeln(‘площадь фигуры равна ’, 16);

writeln(‘площадь прямоугольника равна ’, 3.5*80,

’ периметр=’, 2*(3.5+80));

Или write(‘площадь прямоугольника равна ’, 3.5*80 );

writeln( ’ периметр=’, 2*(3.5+80));

Эти операторы вывода содержат строковые выражения (в ’’), число (16) и числовые выражения (в состав этих выражений входят числа и знаки операций).

Упражнение. Включите в текст программы операторы вывода предложенного примера. Укажите на отличия при их выполнении.

----------------------------------------------------------------------------------------------------

Оператор присваивания имеет вид:

<переменная>:=<выражение>

Арифметическое выражение состоит из чисел, переменных,

знаков арифметических операций: +, -, *(умножить), / (разделить),

div (получение целого частного при делении двух целых чисел), mod (получение целого остатка от деления двух целых чисел), круглых скобок и указателей стандартных функций: sin, cos, ln (натуральный логарифм), abs (абсолютная величина), sqr (возведение в квадрат), sqrt(извлечение корня квадратного), arctan(x)- arctg(x), exp(x) . При использовании стандартных функций аргумент функции заключается в ().

Пример арифметического выражения:

Формула на паскале может быть представлена оператором присваивания: y:=(a+b)/(x*sqrt(abs(c*d)))

Пример программы вычисления площади кольца, с радиусами r1 и r2 (r2>r1).

Program one;

Var r1,r2,s: real;

Begin

Writeln('задайте r1 и r2, r2>r1');

Readln(r1,r2);

S:=pi*(r2*r2-r1*r1);

Writeln('площадь кольца=',s)

End.

Результаты выполнения программы:

задайте r1 и r2, r2>r1

0 5

площадь кольца=78.5398163397448

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

При выводе вещественных чисел полезно указывать формат вывода:

Program one;

Var r1,r2,s: real;

Begin

Writeln('задайте r1 и r2, r2>r1');

Readln(r1,r2);

S:=pi*(r2*r2-r1*r1);

Writeln('площадь кольца=',s:7:3)

End.

Результаты выполнения программы:

задайте r1 и r2, r2>r1

0.5 10.7

площадь кольца=358.896

В операторе Writeln('площадь кольца=',s:7:3) после переменной s содержится формат вывода вещественных чисел :7:3. Число 7 указывает на ширину поля при выводе числа, число 3 указывает на количество цифр после запятой (число 358.896 занимает 7 позиций, дробная часть 896 занимает 3 позиции).

Упражнение. Наберите текст программы one и выполните программу.

В программу полезно включать комментарии. Многострочные комментарии заключаются в {} (фигурные скобки). Комментарии, которые размещаются в одной строке, можно располагать после символов // (два слежа).

Еще один пример линейной программы.

Написать программу вычисления площади s и периметра p прямоугольника, если заданы длины двух его сторон a и b.

Входными данными в этом примере являются переменные a и b.

Результатами (выходными данными) будут переменные s и p.

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

Program two;

var a,b:real; //входные данные

s,p:real; // выходные данные

begin

writeln(‘задайте длины сторон прямоугольника’);

readln(a,b);

s:=a*b;

p:=2*(a+b);

writeln(s=,s, p=,p)

end.

Упражнение.

Выполните программу при различных значениях входных данных.

a

b

3

4

3.5

80.4

--------------------------------------------------------------------------------------------------

Задания к разделу “линейные программы”:

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

a) y= ; б) z= ; в) w= ;

г) abc= ; д) rez= ; е) rez1= ;

2 Запишите программу для вывода чисел е и .

3 Записать программу, содержащую операторы присваивания, которые переменной d присваивают

а) среднее арифметическое чисел x, y, z;

б) расстояние между точками с координатами и ( ;

в) площадь треугольника со сторонами a, b, c.

4 Записать программу, содержащую оператор присваивания, который меняет знак у значения переменной z. Вывести z до и после перемены знака.

5 Записать программу, в которой меняются местами значения переменных x и y. Вывести x и y до и после обмена значениями.

6 Поменять местами значения переменных x, y и z так, чтобы в x оказалось значение переменной y, в у – значение переменной z, а в z – прежнее значение переменной x. Вывести x, y и z до и после обмена значениями.

7. Записать программу нахождения корня линейного уравнения ax+b=0;

и корня квадратного уравнения (можно считать, что уравнение имеет вещественные корни).

Указание: В примерах 8-15 используйте операции div (получения целого частного при делении двух целых чисел) и mod (получения целого остатка при делении двух целых чисел).

Например, если нужно в переменную x поместить младшую цифру числа a, то можно записать следующий оператор присваивания: x:=a mod 10.

А если надо вывести на экран целое частное, полученное при делении двух целых чисел a и b, то нужно записать следующий оператор: writeln(a div b).

8. Найти сумму и произведение цифр двузначного целого числа.

9.В целом двузначном числе переставить цифры.

10.Каждую цифру целого двузначного числа увеличить на 1.

11. Каждую цифру целого двузначного числа уменьшить на 1.

12. В целом трехзначном числе переставить цифры в обратном порядке.

13. В целом трехзначном числе переставить 1-ю и 3-ю цифры.

14. Дано трехзначное число. Обнулить в нем разряд десятков.

15. Дано трехзначное число. Сформировать новое число, увеличив каждую цифру на единицу. Если цифра данного числа имеет значение 9, то она должна стать равной 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]