- •Использование программы Turbo Pascal 7.0
- •Проверка на ошибки - "компиляция".
- •Запуск программы - "выполнение".
- •Программирование на Паскале
- •Целые типы
- •Пишем программу
- •Домашнее задание по Паскалю
- •Арифметические процедуры
- •Вопросы - ответы
- •Структура программы
- •Новые типы данных
- •If…then…else - Важная конструкция языка
- •Вопросы - ответы
- •Процедура goto
- •Повторить действие? (y/n):
- •Практика
- •Вопросы - ответы
- •Цикл for
- •Задание №1
- •Задание №2
- •Задание №3 (обширное)
- •2.По теме "строки": напишите программу, присваивающую переменной Char последний символ введенной строки.
- •Вопрос 3. Может ли Паскаль считывать данные до нажатия "Ввода" (Например, как в Windows: нажмите Esc для отмены)?
- •Вопрос 4. Можно ли сделать ввод данных скрытым звёздочками (***), например, как при вводе пароля?
- •Вопрос 5. Есть ли в Паскале функция, с помощью которой внутренний динамик может "бипнуть" (Примерно, как при загрузке компьютера)?
- •Звездное небо (аналог экранной заставки Norton Commander)
- •Обработка строк
- •А можно и так:
- •Вопрос 1. Программа подсчитывает дискриминант! в конце запрос: "Вы хотите еще найти дискриминант? y/n" Как сделать чтобы при нажатии на "y" программа начаналась сначала, а при нажатии на "n" выходила?
- •Вопрос 4. У меня вот такой вопрос- как в программе описать массив X, если заранее неизвестна его размерность (т.Е. Кол- во элементов, как я понимаю) ?
- •Вопрос 5. Как можно запустить программу?
- •Вопрос 7. При запуске Паскаля всё время появляется старая программа и приходится закрывать окно с этим текстом и открывать свежее. Как от этого избавится?
- •Вопрос 8. В рассылке n11 Вы рассказывали про форматный вывод .Чтобы реализовать это, мы приписывали к переменной, стоящей в процедуре два числа, разделив их двоеточием: Write('Real: ', a:5:2);
- •Список_переменных: тип
- •Оформление процедуры
- •Write(Add(n1, n2)); - печатаем значение, возвращаемое функцией Add;
- •Из чисел в строки
Вопросы - ответы
Можно ли и как копировать строки, чтобы не набирать по нескольку раз одно и то же?
|
Копирование строк осуществляется через буфер обмена, прямо как в Windows. Для того, чтобы скопировать строку в буфер, необходимо сделать следующее: 1. Нажав и удерживая клавишу Shift, Вы передвигаете курсор клавишами-стрелками, вслед за ним текст выделяется белым цветом. 2. Выделенный фрагмент текста далее должен быть помешен в буфер: Для этого нажмите комбинацию Ctrl+Ins (Insert). 3. Теперь перемещайтесь в место, где хотите вставить текст и нажмите комбинацию Shft+Ins. (Вставка) Таким образом можно копировать как одну строку, так и огромные блоки. Скажу сразу. что здесь нужны определенные навыки - но это приходит со временем (и быстрота работы и точность). |
Как располагать вывод процедуры Write (см. выпуск 3) (например заголовок) по центру?
|
В принципе, не существует такой процедуры, которая ровняет выводымий текст по центру. Единственное, что я могу Вам пока предложить (самое оптимальное) - это дополнять начало строки пробелами. Вот пример: Write( 'Заголовок'); Таким образом строка будет сдвигаться от начала экрана и выводиться к середине. Здесь можно посчитать, сколько пробелов сначала необходимо: 4. Ширина экрана (в символах) в DOS всегда 80 (а высота - 25 строк). 5. Берем длину строки (например, слово "Заголовок" - 9 символов). 6. Делим 80 (ширину экрана) на 2 - получаем 40. 7. Делим длину строки на 2 и отбрасываем остаток: 9/2 = 4. 8. Вычитаем из половины экрана (40 симовлов) половину длины строки: 40 - 4 = 36. 9. Это число и будет необходимым количеством пробелов. Пока это единственный и самый разумный способ выравнивания строки посередине. Но есть и другой, который позволяет осуществлять это прямо в программе и с любой строкой, длина которой даже меняется все время. Но, к сожалению, он несколько сложен, используются процедуры подключаемых модулей и некоторые другие, с которыми я пока не знакомил Вас. Но после я к этому вернусь, а пока пользуйтесь приведенным примером |
* Итак, что же про Паскаль? По вашим советам и просьбам я сегодня уточню одну важную вещь - структуру программы, т.е. размещение разделов var, begin, порядок их размещения и функциональные особенности. Читать про это стоит подписчикам не подготовленным, то есть тому, кто понимает, что не знает как оформлять программу.
*Потом нам с вами нужно будет вспомнить про типы данных - это очень важная вещь, мы говорили о ней в прошлых выпусках (см. архив рассылки). В принципе вы должны знать много типов (помните выпуск 3 и его зеленую табличку с диапазоном значений каждого типа?), но все известные вам типы могут хранить только целые числа. Сегодня займемся другими типами данных.
*И после всего этого мы с вами освоим новую вещь, невероятно полезную и довольно простую. Это будет возможность сравнения, так называемая конструкция If...then.....else, но обо всем по порядку, читайте рассылку....
