Молодежный форум !!!

Для тех кому интересно общение и им желательно больше 14 лет !!!
Текущее время: 13-05, 16:37

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Учебник по Паскалю - Часть 1
СообщениеДобавлено: 07-12, 15:55 
Не в сети
Admin-всегда Прав !!!
Аватара пользователя

Зарегистрирован: 08-11, 19:19
Сообщения: 3166
Откуда: Из Одессы!
(Вступление, основы языка)

И так небольшой урок по паскалю.. Называйте его как хотите учебник по Borland Pascal для чайников или еще както.. питсал от себя.. все информация с головы и не откуда не содрана. Тобиш такого вы больше негде не прочитаете пока его у нас не найдут и не сопрут Надеюсь хоть копирайт и ссылку на форум оставят.

И так начнем. Немного о том чтобы я вам хотел расказать в этом небольшом уроке.. Я знаю что все рассказать я не успею и не смогу в одном уроке, поэтому заранее ставлю цель написать несколько частей. Это будет называца "Учебник по Паскалю - Часть 1". Довольно просто и ничего лишнего.. Учебник будет расчитываца не людей уже немного знакомых с программированием, знающих что такое переменные и т.д. Все будет подробно разжовиваца, от вас нужно будет только немного понимания и логики.


1) И так госопода приступим..

Borland Pascal - это простейший язык программирования.. служит для написания программ средней и малой сложности. Довольно несложная структура и легкое построение языка.. В отличии от своего предшественика языка - Basic, паскаль - более серьезный. В нем вы можете без труда написать игры, базы данных, математические программы, и все что пожилает фантазия. Не раскатывайте губу, паскаль работает тротко с 2д графикой и написать игры типа Квэйка или КС вам не получица хотя в 2д режиме они будут выглядеть оригенально

И так начнем с простой структуры любой программы.. Каждая программа должна будет соответствовать следущемо шаблону :
USES CRT;
VAR
BEGIN
END.

А теперь разберем по строчкам что мы написали. Все достаточно просто и логично обьеясняеца:

USES - это командное слово. после него через запятую подключаюца модули. В них могут

находица какието стандартные процедуры. Например чтобы использовать графику - вам необхадимо

будет еще дописать слово Graph. Модули пишуца через запятую до точки с запятой (;).

VAR - это командное слово. после него указываюца используемые в программе переменные.

Перменные бывают нескольких типов.. рассмотрим самые основные.. Это целые числа (integer), вещестевеные числа - тоесть цифры типа 1.25 (real), это строки (string), и смиволы (char). Тоесть если бы вы хотели обьявить перменную целого типа с имеем i, то вы должны былибы после var написать i : integer;

BEGIN..END. - это начало и конец программы. Это рабочяя область программы в которой вы будите производить все вычесления, действия и т.д. в ней и будет писаца основной код программы.

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


2) Обьявление переменныех. операторы Ввода/ввода перменных

В первом пункте учебника мы уже научились тому какие есть типы переменных и где они обьявляюца.. Давайте напишем простую программу которая попросила бы нас ввести какоето целое число?

Начнем с того что напишем стандартный шаблон программы:

USES CRT;
VAR
BEGIN
END.

Теперь пошагово подумаем что нам нада сделать. 1) обьявить переменную которую будем вводить 2) создать диолог просящий ввести переменную.. и так начнем..

USES CRT;
VAR
a : integer;
BEGIN
END.

как вы видите мы только что обьявили переменную a, целого типа (integer). Теперь нам надо както попросить пользователя ее ввести. Для этого есть спецальные операторы языка паскаль. Оператор writeln - выводит строку(переменную) на экран, и оператор readln - читает с клавиатуры вводимую переменную.

Тоесть теперь программа будет выглядить как :

USES CRT;
VAR
a : integer;
BEGIN
writeln("ВВедите пожалусто переменную А : ");
readln(a);
END.

Как видите с примера, оператор writeln - выводит строчьку просящюю пользователя ввести значение переменной a. А оператор readln - ожидает ее ввода, и присвает значение переменной А - в зависемтости от того какое ввели с клавиатуры.Так как переменная a была обьявлена целого типа, то при вводе числа например 6.42 - будет выадана ошибка. Так как это вещественое число.

Теперь когда мы знаем что делает readln и writeln, то легко сможем сделать программу для ввода уже двух переменных целого типа. Программа уже будет выглядить следущим образом :

USES CRT;
VAR
a , b : integer;
BEGIN
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
END.

Ввели то мы ввели.. А вот как вывести введеное нами значение? Да очень просто темже оператором writeln. Просто теперь в скобках стоит указать после двойных ковычек запятую и имя переменной которую нада вывести примерно так :

writeln("Вы ввели А : ", a);
writeln("Вы ввели B : ", b);



3) Манипуляция с переменными. Действия над ними

Правда еще тоже ничего сложного небыло? Теперь попробуем небольшую манипуляцию с переменными и совершение над ними какихто математических действий. Чтото вроди сложения, вычетания и т.д.

Возьмем уже написаную нами программу с прошлого урока :

USES CRT;
VAR
a , b : integer;
BEGIN
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
END.

добавим в нее еще одну переменную - c. Которая будет хранить сумму переменной a и b. Программа будет выглядить следущим образом :

USES CRT;
VAR
a , b, c : integer;
BEGIN
c:=0;
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
END.

В началя работы программ мы сделали действие c:=0; тоесть присовели переменной c значение нолья. Действие := это действие присваивание чеголибо чемуто.. Например чтобы присвоить переменной а - значение переменной b нада написать a:=b; Но дело не в этом.. Теперь после ввода значения а и b нам нада присвоить переменной c - их сумму. Для этого вспомним что мы уже умеем присваивать и это будет выглядить слеущим образом c:=a+b; тоесть переменной c присвоить значение а + b. Просто не так ли? с вычитанием у нас тоже самое.. Для удобства можна использовать скобки и записать это как c:=(a+b); Теперь добавим вывод переменной c, и наша программа будет выглядить как :

USES CRT;
VAR
a , b, c : integer;
BEGIN
c:=0;
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
c:=a+b;
writeln("Сумма а и b = ", c);
END.

С вычитанием тоже самое только меняете знак.. деление и умножение - тоже.. главное помните что тип всех трех переменных должен совпадать. Иначе Паскаль выдаст ошибку.


4) Оператор сравнения if

Присваивать, слаживать, умнажать и делить мы с вами научились.. вот только как проверить какая переменая больше другой? для этого создателями Паскаля был предусмотрен оператор if.

Он не сложный и пользоваца им достаточно легко.. Вот пример его использования
if <переменая> > <переменная> then ..
else
...

Сравнивать можно по разному :
> - больше
< - меньше
<> - не равно
>= - больше или равно
=< - меньше или равно
or - или
and - и

Все очень просто. Вот для примера сравним больше ли число a чем b, и выведем то что больше. Для этого модернизируем нашу старую програму вот так вот :

USES CRT;
VAR
a , b : integer;
BEGIN
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
if (a > b) then
writeln("Большее число A = ", а)
else
writeln("Большее число B = ", b);
END.

Тоесть сначала выполняеца условие сравнения (a > b) - если а больше b = then (тогда) оператор writeln выводит большее число. Тоесть в данном случае а. если условие ложно, тоесть а НЕ больше b - тогда выполняеца действие после слова else - тоесть в данном случае это выводит переменную b.

Если вы хотите сделать больше одного действия то необхадимо их брать в begin и end;
например :

if (a>b) then
begin
<действие>
<действие>
...
end
else
begin
<действие>
<действие>
...
end;

Хочю заметить что перед словом else - точка с запятой не ставица. тоесть в данном случае после end ее ставть ненада.

Давайте для примера рассмотрим как можна сравнить три числа. Для этого воспользуемся нашей старой програмкой только добавим еще одну временную переменную max - которая будет хранить в себе значение максимума.

USES CRT;
VAR
a , b, c, max : integer;
BEGIN
max:=0;
writeln("ВВедите пожалусто переменную А : ");
readln(a);
writeln("ВВедите пожалусто переменную Б : ");
readln(b);
writeln("ВВедите пожалусто переменную С : ");
readln(с);
if (a > b) then
max:=a
else
max:=b;
if (max < c) then
max:=c;
writeln("Самое большое число", max);
END.

Теперь рассмотрим чтоже мы с вами написали. Мы вводим с клавиатуры три переменные а, b, c. Затем с помошю оператора if у нас проходит два сравнения. Первое сравнение это больше ли число а чем b. Значение большего мы присваеваем переменной максимума. Затем еще одно сравнение с третей переменной. если она больше уже имеющегося максимума - то ее значение и присваеваем максимуму, если нет - то переменная максимум остаеца неизменной.. Ну и затем при помощи оператора writeln выводим значение переменной max.

Для четырех чисел уже будет сложнее.. для десяти - то вобще кашмар.. для этого были придуманы массивы но работу с ними вы расмотрим в других частях учебника.

На последок хотел бы вам рассказать немного про модуль CRT который мы подключали и не использовали.. Собственно в нем нету сильно класных и часто используемых команд, но ради одной процедуры - им пользуюца все. Эта процедура называеца clrscr; Что расшифровуеца как

Clean Screen (очистка экрана). Это процедуру можна вызывать в любом месте программы где нужно очистить область экрана. Чяще всего она подключаеца в начале или в самом конце программы.. Тоесть чтоб при новом вызове прогрыммы - старые данные очищялись с экрана. Вот небольшой пример :

USES CRT;
VAR
a , b : integer;
BEGIN
clrscr;
writeln("Посетите форум OzzInform - www.ozzinform.od.ua");
END.

еслибы вы не поключили процедуру clrscr в начале программы то при каждом запуске программы - у вас экран заполнялся строками "Посетите форум OzzInform - www.ozzinform.od.ua".. и чем больше выбы запустили - тем больше таких бы строчек было. Но так как вы написали там очистку экрана то при каждом запуске программы область экрана будет очищяца. И строка всегда будет одна.

Думаю на этом можна заканчивать первую часть нашего учебника по Паскалю. В нем мы научились создавать простейшие программы, обьявлять переменные и совершать над ними действия, позданкомились с оператором сравнения и модулем CTR. Думаю для начала достаточно чтобы немного попрактиковаца самому пока я буду писать вторую часть учебника.

Вот вам немного задач для само контроля :

QUOTE
1) Написать программу определяющюю минимум и максимум среди трех вещественых чисел. И вывести большее число на экран



QUOTE
2) Написать программу определяющюю минимум и максимум среди четырех целых чисел. И вывести большее число на экран



QUOTE
3) С клавиатуры вводица число. Определить положительное число или отрицательное. О результате сообщить в виде сообщения



QUOTE
4) С клавиатуры вводица два числа. Найти их сумму, разницу, часное. Определить какое больше и вывести всю эту информацию на экран


Не забывайте про автора учебника и станьте постоянным посетителем его форума - www.ozzinform.od.ua В нем вы найдете ответы на все ваши вопросы, а также новые части учебника по Паскалю для новичьков.

_________________
Не говори что мне делать, и я не скажу куда тебе пойти !!!

Жизнь дана нам один раз и надо прожить ее достойно и не оглядываться назад......


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29-03, 22:01 
Не в сети
Admin-всегда Прав !!!
Аватара пользователя

Зарегистрирован: 11-11, 18:08
Сообщения: 1720
Откуда: Одесса, Украина
ну его, этот Паскаль, в школе недавно начали учить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30-03, 21:38 
Не в сети
Admin-всегда Прав !!!
Аватара пользователя

Зарегистрирован: 08-11, 19:19
Сообщения: 3166
Откуда: Из Одессы!
То что вы начали это просто цветочки !!!

_________________
Не говори что мне делать, и я не скажу куда тебе пойти !!!

Жизнь дана нам один раз и надо прожить ее достойно и не оглядываться назад......


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22-02, 16:28 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 22-02, 16:10
Сообщения: 5
Откуда: С Одессы
С/С++ - лучше, на много лучше!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22-02, 16:29 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 22-02, 16:10
Сообщения: 5
Откуда: С Одессы
С/С++ - лучше, на много лучше!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22-02, 16:53 
Не в сети
Освоился!
Аватара пользователя

Зарегистрирован: 21-02, 22:42
Сообщения: 74
ненавижу паскаль ЫЫ))) :o скушный он Ы)Ы


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB