Как сделать приветствие в паскале

Обновлено: 06.07.2024


Упражнение 1.
Вычислить частное двух целых чисел. В связи с тем, что делить на ноль нельзя, организуем контроль ввода данных.

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P3PR1

Упражнение 2.
Вычислить частное двух целых чисел. В связи с тем, что делить на ноль нельзя, организуем контроль ввода данных.

1. Наберите текст программы:

Комментарий: для проверки на нечетность можно использовать функцию odd:
if odd(n) then writeln (‘нечетное ‘) else writeln (‘четное’);
2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P3PR2

Упражнение 3.
Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и 1-е число – понедельник. Для решения задачи воспользуемся операцией mod, позволяющей вычислить остаток от деления двух чисел, и условием, что 1-е число – понедельник. Если в результате остаток от деления заданного числа D на 7 будет равен 1, то это понедельник, двойке – вторник, тройке – среда и т.д.

1. Наберите текст программы:

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P3PR3

Задания уровня 2

Задания уровня 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, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие, то есть:

Контрольные вопросы:
1. Как работает оператор присваивания?
2. Приведите синтаксис оператора присваивания.
3. Что такое ввод данных?
4. Что такое вывод данных?
5. Перечислите формы операторов ввода данных.
6. Перечислите формы операторов вывода данных.
7. Сформулируйте правила записи оператора IF.
8. Что такое вложенный оператор IF?
9. Что представляет собой оператор варианта?
10. В программах какого типа используется оператор варианта?
11. Константы какого типа могут быть использованы в операторе варианта?
12. Какое соответствие должно быть между выражением оператора варианта и его константами?

HelloWorl

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.

Виды величин

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.

величины

Более подробно мы поговорим о них в последующих уроках.

В свою очередь числовой делится на два типа.

числовые

Привожу сразу обозначение этого типа в Паскаль

символьные

Символьные тоже делятся на два типа.

величины

Вторая классификация величин.Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: :=

Первая программа на Pascal

Структура программы в Паскаль

Заголовок

Объявление переменных и констант

Раздел операторов

Ввод и вывод в Паскаль

Для ввода:

И для вывода:

Hello, World на Pascal

Теперь вы готовы написать первую программу.

Ну, тут все понятно. Чтобы разнообразить решение предлагаю решить несколько задачек этого типа.

PascalABC.Net


P.S. Давайте выделим две особенности Pascal:

  1. Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
  2. Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

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

Если вы используете Turbo Pascal, то поставьте после program uses crt; и перед end. readkey;

program aaa;
uses crt;
var a: integer;
read(a);
writeln(a);
readkey;
end.

После begin двоеточие не ставиться.

В объявлении константы есть ошибка: значение не надо присваивать, у константы оно просто равно

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

Так что же делать обладателям отличных от Windows ОС?

Вообще у вас есть три более-менее простых варианта:

Есть ещё Lazarus

есть wine, virtualbox, online pascalabc. чего надо еще?

WriteLn(‘Текст’) или Write(‘Текст’)
Внутри обычных скобок когда обозначаем текст (НЕ переменную) то ставим ‘ перед и после текста

Спасибо, я создал программу которая общается с пользователем, объединив эти две задачи.
Получилось вот так:

Что делать если установил ABC Pascal, а после запуска не хочет открываться и нормально работать?

А мне не понравилось, что программа не чувствительна к числам, которые заканчиваются на 1,2,3,4. Получилось немного громоздко, но как сократить пока не придумала)

Подскажите, пожалуйста, возможно ли с помощью линейного алгоритма сделать так, что работала команда ввода read(surname)?
Использую PascalABCNET.
После написания такого кода программа не делает того, с чем прошу мне подсказать:

var
name,surname:string;
begin
writeln(‘Введите, пожалуйста, ваше имя: ‘);
readln(name);
writeln(‘Введите, пожалуйста, вашу фамилию: ‘);
readln(surname);
end.

А вы уверены в том, что она не делает?) У вас ведь нигде и вывода нет.

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

Вспомнил. Дело не только в этом было. Суть в том, что не работал общий код, который был изначально. Именно это там не работало. Эти 2 ввода игнорировались. После вопроса, где нужно ввести 1 или 2 программа переходила на вопрос о возрасте.

var
name, surname: string;
a, age: integer;

writeln (‘Connection…’);
writeln(‘Доброго времени суток, пользователь программы!’);
writeln(‘Вы находитесь в программной среде высшего интеллектуального творчества человечества.’);
writeln(‘Просьба вести себя осторожно, дышать ровно, следовать инструкциям и быть готовым нести ответственность за принятие своих решений.’);
writeln(‘Вы готовы? 1 — Yes/2 — No’);
writeln(‘Введите число:’);
read(a);

case a of
1:writeln(‘Решение о вашем действии записано в информационное пространство Вселенной. Отмена действий невозможна.’);
0:write(‘Большие решения требуют серьёзной ответственности. Когда будете к этому готовы, можете в любой момент обратиться к программной среде.’);
else writeln(‘У вас только одно право на ошибку. Попробуйте ещё раз ввести 1 или 0.’);
end;

writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
read(name);
writeln(‘Введите, пожалуйста, вашу фамилию, чтобы программа вам рассказала о её значении: ‘);
readln(surname);
writeln(‘Сколько вам лет, ‘,name,’?’);
readln(age);

case age of
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94,102..104,122..124:writeln(‘Вам ‘,age,’ года.’);
1,21,31,41,51,61,71,81,91,101,121:writeln(‘Вам ‘,age,’ год.’);
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..100,105..120,125,126:writeln(‘Вам ‘,age,’ лет.’);
else write(‘В настоящее время человечеством не доказано, что человек может столько лет жить на планете Земля.’);
end;
END.

Очень здорово, что программа запустилась. Но на будущее: когда вы просите помощи, лучше прикреплять полный код программы/подпрограммы. Иначе такая помощь выполняется почти вслепую.

writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
readln(name);
нужно писать не read, а readln

Вывод на экран в паскале

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

Информация , которую мы будем выводить может быть абсолютно разной. Она может быть текстом , переменной и даже выражением вроде ( a + b ).

В языке программирования паскаль предусмотрен тот случай , когда нам нужно вывести на экран какую либо информацию , например результат работы программы или значение какой-либо переменной. Вывод в паскале можно осуществить за счет двух операторов вывода : write и writeln , прочитать о которых вы можете ниже.

Writeln

Первый оператор вывода - это writeln ( write - писать , ln - сокр. линия ). Благодаря нему и осуществляется вывод информации на экран. Давайте разберем это на примере :

Допустим , мы хотим вывести приветствие на экран в формате "Привет друг !" Код такой программы выглядит так :

program mypascal;
begin

Вывод чисел в кавычках и без них

Для вывода чисел на экран можно пользоваться кавычками , а можно и не пользоваться.

В обоих случаях на экран будет выведено число 17 , поэтому можно утверждать , что вывод чисел на экран не зависит от кавычек.

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

Если вы имеете познания в языке паскаль , то наверняка понимаете что такое переменные , если нет , то вам сюда.

Если в операторе вывода writeln() в круглых скобках будет стоять слово hello без кавычек , то программа выведет на экран значение переменной hello ( если она существует ).

program mypascal;
var
name:string;
begin

name:= 'Марина';
writeln('Привет ',name,' !');

Как видно , для того , чтобы выводить переменную и текст в одном операторе , нужно ставить ",". Проще говоря , мы выводим текст "Привет" и к нему прикрепляем значение переменной Name ,а после ( также через запятую ) выводим знак восклицания в кавычках , ведь он тоже является текстом.

Пример вывода имени и фамилии :

program mypascal;
var
name,lname:string;
begin

name:= 'Марина';
lname:= 'Петрова';
writeln('Привет ',lname,name);

program mypascal;
var
name,lname:string;
begin

name:= 'Марина';
lname:= 'Петрова';
writeln('Привет ',lname,' ',name);

Write

Второй оператор вывода - write ( писать ). Он практически ничем не отличается от оператора вывода writeln , вернее ничем не отличается ( он также осуществляет вывод на экран ). Однако одно отличие все же есть , но совсем небольшое. Возможно вы уже поняли его ( исходя из название ).

Вывод на экран через writeln

Информация , которую оператор writeln() выводит на экран занимает всю строку.А значит после того , как оператор выведет последний элемент , программа переведется на следующую строку.

Два этих оператора выведут оба слова на разных строках:

Пример вывода


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

В данном случае результат будет такой :


И если после writeln('Как дела ?') мы бы выводили ещё какой-либо текст , то он появился бы на следующей строке.

Как очистить экран в паскале :

Некоторые программы могут быть настолько сложными , что выводимой информации будет очень много. Поэтому некоторый ненужный текст можно стереть. Для этого в паскале предусмотрен оператор clrscr.

Чтобы очистить экран в паскале используйте такой оператор clrscr; Однако злоупотреблять им не стоит. Так же следует помнить , что оператор clrscr работает только в модуле crt , который подключается так :

Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.

Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln() , а вывод - благодаря write() и writeln() . Процедуры, которые имеют окончание ln , после своего выполнения переводят указатель на новую строку.

Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.

Куда можно вывести данные? На экран, в файл, на принтер и др.

Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит "работающие по-умолчанию"; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.

Вывод данных на экран. Форматированный вывод

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .

Вывод с помощью writeln и write

Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.

Форматированный вывод

Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).

В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.

Ввод данных с клавиатуры

Ввод данных в языке программирования Паскаль обеспечивается процедурами read() и readln() . Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.

Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.

Readln

В процедуры ввода можно передавать не один фактический параметр, а множество.

Передача readln нескольких параметров

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

Существуют особенности ввода данных с помощью операторов read() и readln() . Если используются подряд несколько операторов read() , то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызовов readln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.

Читайте также: