Всем привет! На форуме создан новый раздел ПРОГРАММИРОВАНИЕ, для кто занимается программированием или хочет научится программировать.
И начнем мы, с программирования на языке Pascal. Почему именно с него? Просто для меня, думаю и для других, он самый легкий в изучении, если сравнивать его к примеру с С и С++.
Паскаль (англ. Pascal) — язык программирования общего назначения. Один из наиболее известных языков программирования[4], используется для обучения программированию в старших классах и на первых курсах ВУЗов, является базой для ряда других языков.
Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа.
Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.
Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию[5]. Результат этой работы — язык Модула-2.
Прежде чем начать изучать язык понадобится компилятор. Немного википедии: Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).[2][3][4] Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).
Простыми словами Компилятор, компилирует написанный вами код в саму программу (такой как её видит пользователь), лично я когда начинал писать программы на языке паскале, пользовался интегрированной средой - Turbo Pascal, от фирмы Borland. Для новичков более удобно пользоваться PascalABCnet, скачать можно отсюда:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 3 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Free Pascal
Cвободно распространяемый компилятор языка Паскаль с открытыми исходными кодами. Он совместим с Borland Pascal 7 и Object Pascal – Delphi, но при этом обладает рядом дополнительных возможностей, например, поддерживает перегрузку операторов. FPC — кроссплатформенный инструмент, поддерживающий огромное количество платформ. Среди них — AmigaOS, DOS, Linux, *BSD, OS/2, MacOS(X) и Win32.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
School Pak
School Pak содержит в себе Turbo Pascal, DOSBox и (опционально) Norton Commander. Всё это настроено на работу сразу после установки. То есть, сразу после установки можно ввести корректную программу с использованием Graph (или Crt), она скомпилируется и заработает. Прописывать пути не требуется. Не требуется прописывать путь к GRAPH.TPU и не требуется прописывать путь к EGAVGA.BGI. Всё русифицировано: оболочка, справка, клавиатура, шрифты растровые и векторные.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Pascal ABC
Система представляла из себя фактически интерпретатор языка программирования Паскаль с интегрированной оболочкой. Язык, в основном, соответствовал входному языку Object Pascal. Некоторые возможности, например, записи с вариантами, опускались «как бесполезные». Система Pascal ABC разрабатывалась в среде Delphi для операционных систем, использующих Win32 API.
Несмотря на неполную реализацию языка, система стала удачной заменой системе Turbo Pascal в первоначальном обучении программированию. Уже с версии 2 Pascal ABC стал надёжной средой программирования для начинающих, реализующей практически полный Object Pascal.
Скачать: PABCDistr.zip
В данной теме, постараюсь ответить ваши вопросы, постараюсь научить делать простенькие программы, так же попробуем сделать программы касающиеся спутникового телевидения.
Надеюсь, кому то будет интересно.
Последний раз редактировалось oltush; 31.05.2013 в 12:53.
uses
GraphABC;
begin
setwindowsize(600, 200);
pen.Color:=clskyblue;
brush.Color:=clskyblue;
lockdrawing;
for var c := 0 to 300 do
begin
window.clear(clwhite);
circle(c + 100, 100, 25);
redraw;
end;
unlockdrawing;
lockdrawing;
for var c := 300 to 0 do
begin
window.clear(clwhite);
circle(c + 100, 100, 25);
redraw;
end;
end.
-----------------------------
последняя версия PascalABC_____(с оф. сайта качал)
-----------------------------
разобрался сам)))
вот что получилось(но это уже вся-вся работа):
Код:
uses
GraphABC;
begin
setwindowsize(600, 200);
lockdrawing;
for var c := 0 to 300 do
begin
window.clear(clwhite);
pen.Color := clskyblue;
brush.Color := clskyblue;
circle(c + 100, 100, 25);
pen.Color := clsilver;
brush.Color := clsilver;
rectangle(426, 25, 476, 175);
sleep(15);
redraw;
end;
unlockdrawing;
lockdrawing;
for var c := 0 to 300 do
begin
window.clear(clwhite);
pen.Color := clskyblue;
brush.Color := clskyblue;
circle(400 - c, 100, 25);
pen.Color := clsilver;
brush.Color := clsilver;
rectangle(426, 25, 476, 175);
sleep(30);
redraw;
end;
end.
Последний раз редактировалось yuriy-zholobov; 12.03.2016 в 06:39.
Причина: CODE
да забыл, для тех кому лень скачивать программы - имеется web-среда PascalABC_____, т.е. позволяет в самом браузере проделывать те же действия. Находится по адресу:
Скрытый текст требуется (0 сообщение(ий), сейчас у вас 48): http://pascalabc_____/WDE/
есть минус веб версии -- она не поддерживает вызов модулей: GraphABC и т.д.
проблема вот в чём... при задании угла меньше 45 градусов прога вообще отказывается работать...
p.s. это баллистическое движение
p.p.s. ломаю голову уже 3 дня
Код:
uses
GraphABC;
var
angle, speed, time: real;
hight: integer;
text: string;
dx, dy: integer;
const
cx = 30;
cy = 434;
gravity = 9.81;
begin
setwindowsize(640, 480);
setfontcolor(clpurple);
text := 'Введите высоту с которого будеть бросаться тело(0 — горизонт)';
textout(5, 5, text);
read(hight);
sleep(500);
window.Clear;
text := 'Введите угол направления пули(от 0 до 90 градусов включительно)';
textout(5, 5, text);
read(angle);
sleep(500);
window.Clear;
text := 'Введите скорость пули(просто небольшое число(среднее 15))';
textout(5, 5, text);
read(speed);
sleep(500);
window.Clear;
{---------------------------------------------------}
setpencolor(clbrown);
setbrushcolor(clbrown);
rectangle(15, 431, 625, 461);
setpencolor(clskyblue);
setbrushcolor(clskyblue);
circle(cx, cy - hight, 5);
dx := cx;
dy := cy - hight;
time := 1;
sleep(500);
lockdrawing;
repeat
begin
window.Clear;
if angle=90 then dx:=30
else
dx := dx + abs(round(speed * cos(angle) * time));
dy := dy - round(speed * sin(angle) * time - gravity * sqr(time) / 2);
setpencolor(clbrown);
setbrushcolor(clbrown);
rectangle(15, 431, 625, 461);
setpencolor(clskyblue);
setbrushcolor(clskyblue);
circle(dx, dy, 5);
redraw;
sleep(45);
time := time + 0.001;
end;
until (dy <= 1) or (dy >= 434) or (dx >= 640);
{---------------------------------------------------}
end.
Добавлено через 33 минуты
не то что отказывается работать, отказывается нормально работать)
Последний раз редактировалось romanabram; 19.03.2016 в 15:11.
Причина: Добавлено сообщение
romanabram, мне показалось что она и при большем угле неправильно работает. ошибку пока вижу только в задании угла sin(angle) и cos(angle) - angle должен быть угол в радианах, в задаче используется в градусах!
Добавлено через 1 минуту
измени на sin(angle*pi/180)
Добавлено через 1 минуту
Цитата:
Сообщение от romanabram
это баллистическое движение
по типу выстрел из пушки (полет снаряда)?
Последний раз редактировалось oltush; 19.03.2016 в 17:35.
Причина: Добавлено сообщение
Написать программу, реализующую полёт тела брошенного под углом к горизонту с некоторой высоты. Начальная скорость,
высота и угол задаётся пользователем
но там рассчитываются координаты одинаково)))
Добавлено через 15 минут
хотя кому я объясняю)))
Добавлено через 9 минут
и спасибо большое)))
Всё работает(а про градусы я действительно забыл, хотя в пред. лабе их исп)
Последний раз редактировалось romanabram; 20.03.2016 в 21:24.
Причина: Добавлено сообщение
–>
Ваша реклама может быть здесь... пишите на телегу @VOPROS24
Часовой пояс GMT +3, время: 17:31.
Весь материал, представленный на сайте взят из доступных источников или прислан посетителями сайта. Любая информация представленная здесь, может использоваться только в ознакомительных целях. Входя на сайт вы автоматически соглашаетесь с данными условиями. Ни администрация сайта, ни хостинг-провайдер, ни любые другие лица не могут нести отвественности за использование материалов. Сайт не предоставляет электронные версии произведений и ПО. Все права на публикуемые аудио, видео, графические и текстовые материалы принадлежат их владельцам. Если Вы являетесь автором материала или обладателем авторских прав на него и против его использования на сайте, пожалуйста свяжитесь с нами.