Чтение онлайн

на главную - закладки

Жанры

Конец холивара. Pascal vs C

Кривцов М. А.

Шрифт:

Пример 1.10: Найти корень уравнения X2 – 3 = 0.

VAR A, B, E, X, Y, Y1 : REAL;

PROCEDURE FNY;

BEGIN

Y := SQR (X) – 3

END;

BEGIN

WRITELN (‘ВВЕДИТЕ ГРАНИЦЫ ИНТЕРВАЛА И ПОГРЕШНОСТЬ’);

READLN (A, B, E);

X := A;

FNY;

Y1 := Y;

WHILE B – A> = E DO

BEGIN

X := (A + B) /2;

FNY;

IF Y*Y1> = 0

THEN

BEGIN

A := X;

Y1 := Y

END

ELSE B := X

END;

WRITELN (‘X =’, X);

READLN;

READLN

END.

В этой

программе используется процедура без параметров. Заменяя в ней функцию можно находить корни других уравнений.

6. Чего ещё не хватает?

Много чего не хватает, а, особенно, денег. Но, в контексте программирования на Паскале, вас не удивляло – почему Николаус Вирт не ввёл в ряд его стандартных функций, довольно распространённый в вычислениях, кубический корень?

Сейчас мы исправим этот недочёт!

Набирайте в разделе описаний, сразу после описаний переменных, следующую функцию и будет вам счастье!

FUNCTION KUBKOR (X: REAL): REAL;

BEGIN

KUBKOR := EXP (1/3 * LN (X))

END;

Для Си это не актуально, поскольку там есть функция вычисляющая любую степень, в том числе, и дробную. А кубический корень числа – это, по другому, число в степени 1/3.

Часть вторая

Язык программирования C

1. Структура программы на языке C

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

Ключевые слова программы записываются только строчными буквами, так как C (в отличии от Pascal) различает регистр букв.

Имя переменной или константы – это последовательность букв и цифр, начинающаяся с буквы. Переменные, как и в Pascal, могут быть глобальными и локальными.

В языке C числа изображаются без знака, но есть операция "”.

Литеры и строки изображаются в кавычках (“…“), а не в апострофах (’…’), как в Pascal.

Комментарии начинаются с /* и заканчиваются */ – текст между этих скобок игнорируется при исполнении программы.

В начале программы идут строки такого вида:

#include “имя файла”

#include <имя файла>

Такая строчка заменяется файлом с указанным именем. В первом случае, сначала поиск файла ведётся в текущем каталоге, а затем продолжается в стандартном. Во втором случае – сразу в стандартном.

Например:

#include <stdio. h> 2 – для использования функций, связанных с вводом и выводом данных.

#include <stdlib. h> –

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

#include <math. h> – для использования стандартных математических функций.

2

Пробел после точки не нужен – он вставляется автоматически по правилам типографики. Здесь и далее по тексту имейте это в виду. Надеюсь, что в следующем издании этот недостаток удастся исправить.

Эти строки называются директивами препроцессора. Всё что ниже называется блоком описания функции.

Далее следует заголовок функции, например:

int main – где main – имя функции. В скобках (…) могут быть её аргументы, или слово void (ничто) – если аргументов нет. Описание int указывает, что эта функция возвращает целое число.

После чего следует тело функции в фигурных скобках {…}, которое состоит из описаний констант и переменных и последовательности операторов, разделённых точками с запятыми (;). Тело функции определяет последовательность действий, выполняемых данной функцией – логику функции.

Фигурные скобки обрамляют также и составной оператор, аналогично операторным скобкам BEGIN… END в Pascal.

В конце тела функции обычно ставятся следующие команды:

Команда return 0; которая завершает выполнение функции с возвратом значения 0, определяемого стандартом (для функции main), как код успешного завершения.

При запуске непосредственно из графического окружения, отведенное программе окно может закрыться сразу же после завершения программы. Функция getchar ожидает ввод пользователя, тем самым “откладывая” завершение программы (return). Какие именно действия могут прервать это ожидание – зависит от системы, однако скорее всего, нажатие клавиши Enter завершит эту функцию в любом случае.

Точка в конце программы, в отличии от Pascal, не ставится.

Стандартные типы данных и описание переменных

int – целое

long – длинное целое

short – короткое целое

unsigned – беззнаковое целое

float – вещественное

double – длинное вещественное

char – литерное

В отличии от Pfscal, в С логических переменных нет.

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

int k;

char a, b, c;

double x;

Константы

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

int: 17;

float: 1.25;

char: “a”;

Процедуры ввода и вывода

Стандартная библиотека ввода-вывода языка C подключается с помощью директивы препроцессора #include <stdio. h>

Форматный ввод данных пользователя с клавиатуры производится функцией scanf .

scanf (CONTROL, ARG1, ARG2, …);

Поделиться:
Популярные книги

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Друд, или Человек в черном

Симмонс Дэн
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Друд, или Человек в черном

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Агеева Елена А.
Документальная литература:
публицистика
5.40
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле