OnlineGDB beta
online compiler and debugger for c/c++
code. compile. run. debug. share.
- IDE
- My Projects
- Classroom new
- Learn Programming
- Programming Questions
- Sign Up
- Login
Source Code
Language
Editor Theme:
Editor Mode:
Font size:
Tab Space:
Autocomplete:
on
off
WordWrap:
on
off
- main.pas
{
Online Pascal Compiler.
Code, Compile, Run and Debug Pascal program online.
Write your code in this editor and press «Run» button to execute it.
}
program Hello;
begin
writeln (‘Hello World’)
end.
Compiling Program…
- input
Command line arguments:
Standard Input:
Interactive Console
Text
×
Program is not being debugged. Click «Debug» button to start program in debug mode.
Call Stack
# | Function | File:Line |
---|
Local Variables
Variable | Value |
---|
Registers
Register | Value |
---|
Display Expressions
Expression | Value |
---|
Breakpoints and Watchpoints
# | Description |
---|
My Projects
Change Password
My Profile
Logout
Undo
Redo
Cut
Copy
Paste
Delete
Select All
Find
Find and Replace
Editor Theme
Crimson
Eclipse
Github
Solarized
Cobalt
krTheme
Monokai
Terminal
Textmate
Twilight
Vibrant Ink
Font Size
8px
9px
10px
11px
12px
13px
14px
15px
16px
17px
18px
20px
22px
24px
Show Invisible
Hide Invisible
Show Line Numbers
Hide Line Numbers
Ace Editor (Default)
Vim Editor
Emacs Editor
Open New Project
Save Project
Save As New Project
Share Project
Search Project
Program HelloWorld(output);
begin
writeln(‘Hello, world!’);
end.
Online Pascal Compiler (Free Pascal v3.0.2)
Online Pascal Compiler (Free Pascal v3.0.2) helps you to Edit, Run and Share your Pascal Code directly from your browser. This development environment provides you version Free Pascal v3.0.2.
How to give program Input?
The latest version of Coding Ground allows to provide program input at run time from the termnial window exactly the same way as you run your program at your own computer. So simply run a program and provide your program input (if any) from the terminal window available in the right side.
Keyboard Shortcuts
Shortcut | Description |
---|---|
⌘ + Enter | Run the program |
⌘ + S | Save Project (Login Required) |
⇧ + ⌘ + S | Save As Project |
⌘ + P | New Project |
⌘ + G | Share Project |
⌘ + Z | Undo Editing |
⌘ + Y | Redo Editing |
⌘ + A | Select All Text |
⌘ + X | Cut Selected Text |
⌘ + C | Copy Selected Text |
⌘ + V | Paste Copied Text |
⌘ + F | Search Text |
⌘ + ⌥ + F | Replace Text |
Shortcut | Description |
---|---|
Ctrl + Enter | Run the program |
Ctrl + S | Save Project |
Shift + Ctrl + S | Save As Project |
Ctrl + G | Share Project |
Ctrl + Z | Undo Editing |
Ctrl + Y | Redo Editing |
Ctrl + A | Select All Text |
Ctrl + X | Cut Selected Text |
Ctrl + C | Copy Selected Text |
Ctrl + V | Paste Copied Text |
Ctrl + F | Search Text |
Ctrl + H | Replace Text |
Save Pascal Project
You can save your Pascal Project with us so that you can access this project later on. To save a project you will need to create a login Id with us. So before you save a project, please create a login Id using a link given at the top right corner of this page.
Share Pascal Project
You can use this feature to share your Pascal Code with your teachers, classmates and colleagues. Just click Share Button and it will create a short link, which can be shared through Email, WhatsApp or even through Social Media. A shared link will be deleted if it has been passive for almost 3 months.
Language:
Layout:
Show compiler warnings |
|
Online Pascal Compiler
Program AddNums(output); var x,y,z:integer; begin x:=25; y:=35; z:=x+y; writeln('The sum of x+y is ', z); end.
Output Results
Free Pascal Compiler version 3.2.2 [2021/05/31] for x86_64 Copyright (c) 1993-2021 by Florian Klaempfl and others Target OS: Linux for x86-64 Compiling jdoodle.pas Linking jdoodle 8 lines compiled, 0.1 sec The sum of x+y is 60
товарищи мозги дайте пожалуста правельное решение по паскалю помогите исправеть ошибки напешите как надо пожалуста а не посвоему. ребят зарание вам БОЛЬШОЕ СПАСИБО надеюсь на вас мои дорогие друзь
+7. Найти все различающиеся элементы целочисленной квадратной матрицы размерностью nxn.
+9. Записать в текстовый файл N символов. Выполнить следующие операции с созданным файлом:
— Выяснить, чего в нем больше: русских букв или цифр;
— Выяснить, вхо¬дит ли данное слово в указанный текст, и если да, то сколько раз;
— Составить в ал¬фавитном порядке список всех слов, встречающихся в этом тексте.
+10. Составить программу, вычеркивающую любую букву из данного текста.
у восьмой нет условия
program p71; const n=10;// n только от 2 до 15! var Matrix:array[1..n,1..n]of byte;//только byte! uni:set of byte; i,j:byte; begin randomize;//инициализация генератора случайных чисел uni:=[]; //создание матрицы for i:=1 to n do begin for j:=1 to n do begin Matrix[i,j]:=Random(128);//генератор случайных чисел write(Matrix[i,j]:3,' '); end; writeln; end; //поиск уникальных элементов writeln; writeln; for i:=1 to n do for j:=1 to n do uni:=uni + [Matrix[i,j]]; write('Unikalnye chisla: '); for i:=0 to 255 do if i in uni then write(i:3,' '); writeln; readln; end. program p9; uses crt; const CEndOfFile='@';//Символ конца файла. Можно задать любой символ или их комбинацию type TPDict=^TDict; TDict=record data:string; next:TPDict; end; var f:text; s,n,w:string; RusLet,Nums,Words:integer; Dict:TPDict; //функция подсчёта цифр function CountNums(data:string):integer; var res,i:integer; begin res:=0; for i:=1 to length(data) do if data[i] in ['0'..'9'] then inc(res); CountNums:=res; end; //функция подсчёта русских букв function CountRusLet(data:string):integer; var res,i:integer; begin res:=0; for i:=1 to length(data) do if byte(data[i]) in [128..255] then inc(res);//считаем НЕанглийские буквы //Если надо считать другие символы - их коды ввести в квадратных скобках вместо [128..255] CountRusLet:=res; end; //функция, приводящая все английские буквы к верхнему регистру function UpCaseStr(data:string):string; var i:integer; begin for i:=1 to length(data) do data[i]:=UpCase(data[i]); UpCaseStr:=data; end; //функция подсчёта вхождения слов function CountWords(data,wrd:string):integer; var n,res,i:integer; s:string; begin res:=0; data:=UpCaseStr(data); wrd:=UpCaseStr(wrd); s:=''; for i:=1 to length(data) do if byte(data[i]) > 32 then s:=s+data[i] else begin if s <> '' then begin if s=wrd then inc(res); s:=''; end; end; if s=wrd then inc(res); CountWords:=res; end; //функция проверяет наличие заданного слова в словаре function IsWordExist(pdict:TPDict;wrd:string):boolean; var res:boolean; begin res:=false; while pdict <> nil do begin if UpCaseStr(pdict^.data)=UpCaseStr(wrd) then begin res:=true; break; end; pdict:=pdict^.next; end; IsWordExist:=res; end; //процедура создания словаря (если существует - дополняет) //строка не обрабатывается procedure CreateDict(var pdict:TPDict;dat:string); var wlist:TPDict; begin if pdict = nil then begin new(pdict); pdict^.data:=dat; pdict^.next:=nil; end else begin wlist:=pdict; while wlist^.next <> nil do wlist:=wlist^.next; new(wlist^.next); wlist:=wlist^.next; wlist^.next:=nil; wlist^.data:=dat; end; end; //процедура пополнения словаря (если не существует - создаёт) //автоматически разделяет строку на слова procedure StrToDict(var pdict:TPDict;data:string); var s:string; i:integer; begin s:=''; for i:=1 to length(data) do if byte(data[i]) > 32 then s:=s+data[i] else begin if s <> '' then begin if not IsWordExist(pdict,s) then CreateDict(pdict,s); s:=''; end; end; if s <> '' then if not IsWordExist(pdict,s) then CreateDict(pdict,s); end; //процедура сортировки слов в словаре procedure SortDict(var pdict:TPDict); var head,tmp1,tmp2,nf:TPDict; n:string; begin head:=nil; nf:=pdict; repeat tmp1:=nf; tmp2:=tmp1; n:=tmp1^.data; while tmp1 <> nil do begin if UpCaseStr(tmp1^.data) < UpCaseStr(n) then begin tmp2:=tmp1; n:=tmp1^.data; end; tmp1:=tmp1^.next; end; tmp1:=nf; if tmp1 = tmp2 then nf:=tmp2^.next else begin while tmp1 <> nil do begin if tmp1^.next <> tmp2 then tmp1:=tmp1^.next else begin tmp1^.next:=tmp2^.next; break; end; end; end; tmp2^.next:=nil; if head=nil then head:=tmp2 else begin tmp1:=head; while tmp1^.next <> nil do tmp1:=tmp1^.next; tmp1^.next:=tmp2; end; until nf=nil; pdict:=head; end; //процедура сохранения словаря в файл procedure WriteDict(pdict:TPDict;path:string); var f:text; begin assign(f,path); rewrite(f); while pdict <> nil do begin writeln(f,pdict^.data); pdict:=pdict^.next; end; close(f); end; //Освобождение памяти от нашего словарика //(мы ж культурные и должны за собой прибраться ) procedure DestroyDict(var pdict:TPDict); var tmp1, tmp2:TPDict; begin tmp1:=pdict; pdict:=nil; while tmp1 <> nil do begin tmp2:=tmp1^.next; Dispose(tmp1); tmp1:=tmp2; end; end; begin //инициализация переменных Nums:=0; RusLet:=0; Words:=0; Dict:=nil; //ввод пути и создание файла clrscr; write('Vvedite put k failu: '); readln(n); assign(f,n); rewrite(f); clrscr; //ввод текста и запись его в файл writeln('Vvedite tekst.'); writeln('Dlja okonchania vvedite na novoj stroke "@" (bez kavychek).'); writeln; readln(s); while s<>CEndOfFile do begin writeln(f,s); readln(s); end; close(f); //ввод слова для поиска clrscr; write('Vvedite slovo dlja poiska: '); readln(w); //открытие только что записанного файла на чтение //и его анализ в соответствии с заданием assign(f,n); reset(f); while not eof(f) do begin readln(f,s); Nums:=Nums+CountNums(s); RusLet:=RusLet+CountRusLet(s); Words:=Words+CountWords(s,w); StrToDict(Dict,s); end; close(f); SortDict(Dict); clrscr; if Nums > RusLet then writeln('Tsyfr bolshe, chem russkih bukv') else if Nums < RusLet then writeln('Russkih bukv bolshe, chem tsyfr') else writeln('Russkih bukv i tsyfr porovnu'); writeln('Slovo "',w,'" vhodit v tekst ',Words,' raz.'); write('Vvedite put k failu slovarja: '); readln(s); WriteDict(Dict,s); DestroyDict(Dict); writeln; writeln('Press [Enter] for exit.'); readln; end. program p10; var s:string; c:char; n:integer; f,h:text; begin //начало основной программы write('Type path to input file: '); readln(s); assign(f,s); reset(f); write('Type path to output file: '); readln(s); assign(h,s); rewrite(h); writeln; write('Input letter: '); readln(c); while not eof(f) do begin readln(f,s); n:=Pos(c,s); while n > 0 do begin Delete(s,n,1); n:=Pos(c,s); end; writeln(h,s); end; writeln; writeln('Finished. Press [Enter] for exit.'); readln; end.