- •Отладка программ пользователя в turbo pascal.
- •Ваша первая программа на Паскале.
- •Синтаксис выражений.
- •Тестирование программы.
- •Что теперь?
- •Использование программы 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;
- •Из чисел в строки
Практика
Задачи, которые я вам сейчас задам, мне присылать не нужно! Это работа не будет проверяться, так как является рядовым заданием для самостоятельного выполнения. Практикуйтесь сами, вам сейчас нужно больше работать с Паскалем. Итак, задачи:
|
| |
1 |
Напишите программу, которая будет запрашивать у пользователя данные - ФИО, дату рождения. После чего будет выводить их на экран каким-нибудь форматным образом. К примеру, так: Имя: Василий Фамилия: Петров Отчество: Иванович Родился: 22.11.1961 г. Сделайте возможность изменять данные, то есть возвращаться назад. | |
2 |
Ввести несколько символов, составляя из них строку. Далее - ввести целую строку и проверить, равны ли получившиеся строки. | |
3 |
Запросите текущее время (в часах). В зависимости от времени суток, выведете приветсвие на экран, вроде: "Доброе утро!" "Добрый день!" "Доброй ночи!" | |
4 |
Напишите простейший калькулятор. Вводите два числа, знак действия (+,-,*. Без деления!) и выполняйте это самое действие. Ответ на экран, спросите, начать ли заново, то есть сделайте его интерактивным. | |
5 |
Придумайте сами себе несколько заданий, полезно будет!!! |
Изучите все, что мы сегодня проходили. Нужно понять до конца, что такое goto, волженность и метки. Это нам дальше понадобиться, а пока все. Разбирайтесь!
Вопросы - ответы
У меня Паскаль не отображает русские буквы, что делать?
|
Видимо, у Вас не загружены драйверы русских букв, точнее их поддержки с клавиатуры. Загружать их надо так:
Написали? Сохраните файл autoexec.bat. Да, еще - если 1-е две строчки (или другие там есть, не меняйте их), если же путь к папке Windows\command у Вас другой (не c:\windows\command) измените его.
Теперь должно работать....... |
Паскаль все время при запуске выходит в ДОС. Можно ли что-нибудь сделать, чтобы он работал в Windows, получить возможность переключаться между приложениями?
|
Это обойти можно, причем очень просто. Сделайте следующее:
Нажимайте далее ОК и все. |
Циклы - это неотъемлемая чать программы. На самом деле эта конструкция проста, но многие иногда не понимают самого ее принципа - зачем это и как используется? Имено поэтому я сначала хочу рассказать о том, что такое циклы и когда они могут потребоваться.
Начнем с примера. Давайте представим, что нам потребовалось написать программу, которая будет выводить 10 раз строку, введенную пользователем. Я извиняюсь за такой примитивный пример, но на его работе лугче всего понять данную тему.
Итак, решение программы очевидно:
Мы читаем в переменную строку.
Десять раз выводим ее на экран.
Завершаем программу.
Все вроде ясно. Читать строку мы будем процедурой Readln, как завершить программу тоже не вопрос. А вот как вывести строку 10 раз? Можно десять раз написать процедуру Writeln. Но это ОЧЕНЬ громоздко и нерационально. Здесь желательно как-нибудь застопорить программу - тот ее кусок, который выводит 10 раз строку, чтобы он повторялся сам. Для этого и используюся циклы! Они позволяют "зацикливать программу", то есть заставляют ее повторяться несколько раз - столько, сколько нужно пользователю.
Вот мы и подошли вплотную к реализации этого элемента языка. Скажу сразу, что циклов несколько - некоторые позволяют повторяться программу определенное количество раз, заложенное в программе, некоторые заставляют повторяться программу до определенных условий (например, пока пользователь не нажмет клавишу выхода). Вот и все, теперь давай начнем непосредственно изучение самих циклов.
Первым циклом, который мы изучим, будет так называемый цикл FOR, он относиться к разряду тех, которые заставляют повторяться программу определенное количество раз.