Pascal ABC

 

ГЛАВНАЯ
УСТАНОВКА
ОКНО ПРОГРАММЫ
ЛИНЕЙНЫЕ АЛГОРИТМЫ
ЧЕРТЁЖНИК
GraphABC
    РОБОТ
АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ
АЛГОРИТМЫ С ПОВТОРЕНИЯМИ
ПРОЦЕДУРЫ И ФУНКЦИИ
ТЕСТЫ
ТВОРЧЕСКИЕ РАБОТЫ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
 
 

 

 

 

 

ЛИНЕЙНЫЕ АЛГОРИТМЫ  

Первая программа Простейшие программы Арифметические выражения Вычисление по формулам Целочисленная арифметикаЦелочисленные типы данных. Системы счисления   Самостоятельная работа Величины логического типа Вычисление логических выражений Задачи повышенной сложности

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

Арифметические выражения

Контроль знаний

Тест: Основные понятия языка Паскаль

Тест: Простейшие программы. Решение задач

Вопросы для повторения:

1. Назовите команды удаления, вставки символов и передвижения курсора.

2. С чего начинается программа.

3. Как описываются переменные?

4. С чего начинается основная программа?

5. Как записывается оператор ввода?

6. Как записывается оператор вывода?

7. Как записывается оператор присваивания?

8. Чем заканчивается программа?

9. Как сохранить программу на диске?

Выражения и операции

Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими выражениями являются переменные и константы. Более сложные выражения строятся из более простых с использованием операций, скобок, вызовов функций, индексов и приведений типов. Данные, к которым применяются операции, называются операндами.

В Pascal ABC имеются следующие операции: @, not, ^, *, /, div, mod, and, shl, shr, +, -, or, xor, =, >, <, <>, <= и >=.

Арифметические операции

К арифметическим относятся бинарные операции + - * / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и - для вещественных и целых чисел. Выражение, имеющее числовой тип, называется арифметическим. Тип арифметического выражения определяется по следующему правилу: если все операнды целые и в выражении отсутствует операция деления /, то выражение имеет тип integer, в противном случае выражение имеет тип real. Например, если b имеет тип byte, c имеет тип 1..9, то b+c и -b имеют тип integer, а 2.0+b и 1/2 - тип real.

Операции отношения

Операции отношения <, >, <=, >=, =, <> возвращают значение типа boolean (логический) и применяются к операндам целого, вещественного, символьного, логического и строкового типов, а также к типизированным указателям.  При сравнении символа и строки символ преобразуется в строку длины 1.

Типы данных

Тип данных Диапазон данных
Тип integer (целый). Значения этого типа занимают 4 байта и находятся в диапазоне от -2147483648 до 2147483647.
Тип byte (беззнаковый целый). Значения этого типа занимают 1 байт и находятся в диапазоне от 0 до 255.
Тип word (беззнаковый целый). Значения этого типа занимают 2 байта и находятся в диапазоне от 0 до 65535.
Тип real (вещественный). Значения вещественного типа занимают 8 байт, содержат 15-16 значащих цифр и по модулю не могут превосходить величины 1.7∙1038. Самое маленькое положительное число вещественного типа равно 5.0∙10-34. Константы типа real можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме: 1.7, 0.013, 2.5e3 (2500), 1.4e-1 (0.14).

Арифметический квадрат

Функция SQR(x) возвращает квадрат значения аргумента, то есть    sqr(x)=x2=x*x.

ПРИМЕРЫ.

sqr(4)=42=16

sqr(13)=132=169

d=2, e=5, sqr(d+e)=sqr(2+5)=sqr(7)=72=79

x=3, sqr(sqr(3))=sqr(9)=92=81

Корень квадратный

Функция SQRT(x) вычисляет корень квадратный из значения аргумента, то есть    sqrt(x)=, sqrt(x)=.

Абсолютная величина

Функция ABS(х) возвращает абсолютную величину значения аргумента (т.е. находит модуль числа).

ПРИМЕРЫ.

abs(12)=12

abs(-12)=12

х=3, у=-5, abs(3+(-5))=abs(-2)=2

abs(3)+abs(-5)=3+5=8

Примечание: в Паскале большие и маленькие буквы в именах (переменных, функциях и пр.) не различаются. Не различаются они при записи служебных слов. Пример (верно):SQR, sqr, ABS, abs, BEGIN, begin ...

  Проверка знаний Тест: Основные понятия арифметических выражений

Дроби в записи выражений

  Пример 1. Запишите на языке Паскаль выражение:

 

  Пример 2. Запишите на языке Паскаль выражение:

 

  Пример 3. Даны x, y, z. Написать программу для вычисления a, b.

                

Этапы выполнения задания (а).

I     Определение исходных данных: переменные x, y, z.

II    Определение результатов: переменная a.

III   Алгоритм решения задачи.

1  Ввод исходных данных

2  Вычисление значения выражения

3  Вывод результата.

IV   Описание переменных:

Все переменные, определенные для решения задачи, имеют тип real. (Переменные x, y, z могут быть и целого типа, а переменная а только вещественного типа, поскольку в выражении используется операция деления.)

V     Программа:

Var x,y,z,a: real;

Begin

    Write(‘введите значение x=’);

    Readln(x);

    Write(‘введите значение y=’);

    Readln(y);

    Write(‘введите значение z=’);

    Readln(z);

    a:=(2*x+3*y-z)/(3+2*x);

    Writeln(‘a=’,a:7:3);

End.

Можешь загрузить!       Пример 3_а

VI   Тестирование программы:

1. Запустите программу и введите значения

x=3

y=2

z=0

Проверьте, результат должен быть следующим:

a=  1.333

Проверить правильность вычислений можно на калькуляторе.

2. Заполните таблицу

 

x

y

z

a

1

2

-5

1

 

2

2.362

4.258

-7.458

 

3

-1.2358

-4.554

5.562

 

3. Подберите такие значения x, y, z, чтобы значение а=  2.000

4. Что изменится и почему, если в программе заменить команду Writeln(‘a=’,a:7:3); на команду Writeln(a);?

5. Как распечатать только целую часть результата?

Примечание. Тип real предназначен для переменных вещественного типа. Переменные данного типа выводятся на экран монитора с большим дробным хвостом. Во избежание этого можно указать количество цифр выводимых вообще и после запятой (дробной части). Например, Writeln(‘a=’,a:7:3) - первая цифра 7 обозначает количество мест выделенных для цифр всего числа, вторая 3 - цифры дробной части. Точка тоже захватывается в количество мест для всего числа (т.е. в 7, в данном случае).

Этапы выполнения задания (b).

I   Определение исходных данных: переменные x, y.

II  Определение результатов: переменная b.

III Алгоритм решения задачи.

1. Ввод исходных данных

2. Вычисление значения выражения

3. Вывод результата.

IV Описание переменных:

Все переменные, определенные для решения задачи, имеют тип real. (Переменные x, y могут быть и целого типа, а переменная b только вещественного типа, поскольку в выражении используется функция вычисления квадратного корня.)

V   Программа:

Var x,y,b: real;

Begin

    Write(‘введите значение x=’);

    Readln(x);

    Write(‘введите значение y=’);

    Readln(y);

    b:=(SQRT(x)+4)/(ABS(y)-2);

    writeln(‘b:=’,b:7:3);

End.

Можешь загрузить!       Пример 3_б

VI   Тестирование программы:

1. Запустите программу и введите значения

x=9

y=-7

Проверьте, результат должен быть следующим:

a=  1.000

Проверить правильность вычислений можно на калькуляторе.

2. Заполните таблицу

 

x

y

b

1

16

-5

 

2

2.362

4.258

 

3

-1.2358

-4.554

 

3. Подберите такие значения x, y, чтобы значение b=  2.000.

  Проверка знаний Тест: Построение простейших арифметических выражений

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

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

    а) ;           б) ;          в) .

     

     

  2. Перевести из линейной записи в обычную следующие выражения:

    а) a/b/c;

    б) ab/c;

    в) (а+b)/c;

    г) (1,2a+b)/(3,6b+c);

    д) a+4,7b/b+c;

    е) abs(x)+sqr(x)-sqrt(x).

Примечание. В программах на Паскале дробное число записывается с помощью точки. Например, 12.6; 3.6; 4.7.

  1. Составить программу вычисления значения функции при любом значении переменных:

    1. ;
    2. ;
    3. ;
    4.  

  2. Составить программу вычисления значения функции:

 

  Проверка знаний Тест: Арифметические выражения

Примеры решения задач

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

РЕШЕНИЕ:

program Prim_3_1;
var a,b,c,d:real;
begin
writeln('Введите 3 численных значения через пробел и нажмите <Enter>:');
readln(a,b,c );
d:=(4.2/a-3.2*b)/(c/7+8);
writeln('d=',d);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_1

2. Перевести из линейной записи в обычную следующие выражение: (1,2a+sqr(b))/(3,6b+abs(c));.

РЕШЕНИЕ:

.

3. Составить программу вычисления значения функции при любом значении переменных:

a)

b).

РЕШЕНИЕ:

program Prim_3_3_a;
var x,y:real;
begin
writeln('Введите значение х и нажмите <Enter>:');
readln(x);
y:=2.5*sqr(x)-0.7*x+4.1;
writeln('y=',y);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

 

Можешь загрузить!       Пример 3_3_а

program Prim_3_3_b;
var x,y,z:real;
begin
writeln('Введите значения х,y и нажмите <Enter>:');
readln(x,y);
z:=8.1*x*x*x-1.5*x*y*y+4*y-x-0.2;
writeln('z=',z);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_3_б

4. Составить программу вычисления значения функции:

РЕШЕНИЕ:

program Prim_3_4;
var t,g:real;
begin
writeln('Введите значения t и нажмите <Enter>:');
readln(t);
g:=abs(2.4*t-100)+abs(t-2.2)-sqrt(sqr(t)/(18+abs(t)));
writeln('g=',g);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_4

 

 

СЕРВИС 

Copyright © 2008 СОШ №2 им. Н.П. Массонова г.Свислочь © Синица А.А.